草庐IT

Iterator模式

全部标签

PHP 模式验证

我在让我的模式正确验证字符串条目时遇到了一些麻烦。此作业的PHP部分工作正常,因此我不会在此处包含它以使其更易于阅读。谁能告诉我为什么这个模式与我想要做的不匹配?此模式具有以下验证要求:首先应该有3-6个小写字母后面紧跟着一个连字符或一个空格后跟1-3位数字$codecheck='/^([[:lower:]]{3,6}-)|([[:lower:]]{3,6}?)\d{1,3}$/';目前这满足了大部分要求,但它似乎只验证了最低字符要求-并且当输入超过6个或3个字符(分别)时不会返回false。在此先感谢您的帮助! 最佳答案 这里的问

php - preg_match 模式在 php v 5 中不起作用

我使用的是PHP5.4.45版。我在php版本7中测试了这段代码并且工作正常但在版本5.4.45中不起作用$string='9301234567';if(preg_match('/^\9\d{9}/',$string)){$string='0+1'.$string;return$string;}在v7中返回:0+19301234567但在v5.4.45中返回(preg_match返回false)9301234567我如何在phpv5.4.45中使用preg_match('/^\9\d{9}/',$string)?谢谢 最佳答案 简介

php - Laravel 上的存储库模式

我想使用RepositoryPattern但我被语法困住了。我想获取我的函数index()。第一步,我创建文件夹Repositories并创建文件AuteurRepository.php在我的文件AuteurController中我有这个:publicfunctionindex(){$auteurs=Auteur::oldest()->paginate(5);returnview('admin.auteurs.index',compact('auteurs'))->with('i',(request()->input('page',1)-1)*5);}在我的模型中我只有一个文件Aute

php - 如何在 PHP 中实现 Django 和 RoR 使用的 URL 模式解释器

实现URL解释器/调度器的最佳方法是什么,例如Django和RoR,在PHP中?它应该能够按如下方式解释查询字符串:/users/show/4映射到区域=用户action=showId=4/contents/list/20/10映射到区域=内容action=list开始=20计数=10/toggle/projects/10/active映射到action=切换区域=项目id=10字段=活跃查询字符串可以是指定的GET/POST变量,也可以是传递给解释器的字符串。编辑:我更喜欢不使用mod_rewrite的实现。编辑:这个问题不是关于干净的URL,而是关于解释URL。Drupal使用mo

PHP5 - 未处于交互模式时无法解析主机名

我正在使用运行Apache2/PHP5的OSX10.6服务器,当“fopen()”尝试从远程服务器检索文件时,PHP无法解析主机名。当在命令行上以交互模式运行时,“fopen()”可以完美运行。但是,当通过网络运行时,它总是会失败并出现错误:failedtoopenstream:php_network_getaddresses:getaddrinfofailed:nodenamenorservnameprovided,ornotknown我找不到这个问题的根源:“fopen()”在给定IP地址而不是主机名时在网络上工作;'gethostbyname()'在web上运行时也会失败(它不会

php - 您可以在正则表达式的模式部分使用反向引用吗?

有没有办法在正则表达式模式中反向引用?示例输入字符串:Hereis"somequoted"text.假设我想提取引用的文本,我可以创建以下表达式:"([^"]+)"此正则表达式将匹配somequoted。假设我希望它也支持单引号,我可以将表达式更改为:["']([^"']+)["']但是,如果输入字符串混合了引号怎么办,比如Hereis'somequoted"text.我不希望正则表达式匹配。目前,第二个示例中的正则表达式仍然匹配。我希望能够做的是,如果第一个引号是双引号,那么结束引号必须是双引号。如果开始引号是单引号,那么结束引号也必须是单引号。我可以使用反向引用来实现吗?我的其他相

php - 面向过程编程的设计模式和封装?

我正在处理一个以过程式风格编写的相当大的PHP项目(它是在PHP5之前编写的),我忍不住觉得我正在做的一些事情有点“hackish”。“其他地方的修改很容易破坏应用程序。我见过的所有设计模式和最佳实践似乎都只适用于OOP。我可以开始使用PHP5的OOP功能编写我的一些代码,但我不确定是否所有其他开发人员都足够熟悉OOP。对于更熟悉OOP的人来说,这只是过程式编程的本质吗?是否有“最佳实践”书籍介绍如何保持大型过程应用程序的可维护性并降低引入新错误的可能性?我知道我可以以程序化的方式应用OOP设计原则/模式,但如果我要这样做,我还不如使用PHP的OOP功能。也许我对程序范式还不够了解?

php - 正则表达式模式内的条件

我想从我的代码中删除任何额外的空格,我正在解析一个文档block。问题是我不想删除codegoeshere中的空格.例如,我用它来删除多余的空格:$string=preg_replace('/[]{2,}/','',$string);但我想在内保留空格此代码/字符串:ThisissometextThisisalsosometextUser::setup(array('key1'=>'value1','key2'=>'value1'));应该转化为:ThisissometextThisisalsosometextUser::setup(array('key1'=>'value1','ke

php - 如何使用 Data Mapper 模式延迟加载子对象?

如果我有一个相当复杂的用户模型,我想使用数据映射模式来加载,我如何在不允许用户知道UserMapper的情况下延迟加载一些更密集的用户信息位?例如-如果User模型允许一个地址对象数组(并且User可能有很多,但不一定是预先需要的),如果/当需要时我将如何加载这些对象?我是否让用户模型知道AddressMapper?我是否将User模型传回UserMapper,然后只对地址进行水合?还有更好的选择吗? 最佳答案 好吧,我一次发现了以下巧妙的模式,由BenScholzen提供,ZendFramework的开发人员。它是这样的:clas

php - 在模式框中显示表单(简单的 php 文件)?

我目前在一个新的弹出窗口中加载一个表单(呃!),当您提交它时,它会关闭弹出窗口,并打开另一个弹出窗口,其中包含您提交表单的结果。不用说这是一个非常糟糕的想法,我想纠正它。任何人都可以推荐一种相当简单的方法来在模式框中显示我的表单(popup.php),当你提交它时,它会在同一窗口(report.php)中加载另一个页面谢谢! 最佳答案 使用jQueryUI创建对话框http://jqueryui.com/demos/dialog/ 关于php-在模式框中显示表单(简单的php文件)?,我