草庐IT

Streaming模式

全部标签

PHP:提供静态和非静态方法的类的设计模式

我的目标是创建可以同时使用static和non-static方式的类。两种方式都必须使用相同的方法,但方式不同非静态方式:$color=newColor("#fff");$darkenColor=$color->darken(0.1);静态方式:$darkenColor=Color::darken("#fff",0.1);因此在此示例中,darken方法既可用于现有对象,也可用作Color类的静态方法。但是根据它的使用方式,它使用不同的参数。应该如何设计这样的类?创建此类类的好的模式是什么?类会有很多不同的方法,因此应该避免在每个方法的开头进行大量检查代码。

php - Laravel 模式生成器将表名转换为小写

我只是想知道为什么laravel中的模式构建器会自动将表命名中的所有驼峰式转换为小写例如Schema::create('myTable',function(Blueprint$table){....});它创建表名:mytable这是为什么呢?那是laravel的约定吗?我在laravel文档的SchemaBuilder页面中没有看到它。谢谢 最佳答案 在表名和字段名中使用snakecase也是一种常见的做法,它不仅与laravel相关,而且大多数人都遵循这个约定。在Laravel的旧(4x)文档中,提到:Notethatwedid

php - Laravel 使用具有模式的表创建模型类

我有一个非常简单的问题,不知怎的,这听起来很愚蠢,但请原谅。我正在开发一个项目,在该项目中,我将sqlserver与现有数据库一起使用,其中表名具有架构,例如dob.Tablename。我的问题是,如果我想为Tablename创建Eloquent模型,我将如何命名我的类(class)? 最佳答案 创建新模型并添加table属性:protected$table='existing_table_name'; 关于php-Laravel使用具有模式的表创建模型类,我们在StackOverflo

安全模式的 php 替换

我刚开始学习PHP,所以我安装了最新版本(5.3.3)并正在编写一些代码。我遇到过这个错误:PHPWarning:curl_setopt()[function.curl-setopt]:CURLOPT_FOLLOWLOCATIONcannotbeactivatedwhensafe_modeisenabledoranopen_basedirissetinC:\Rush\dev\personal\Numina.Framework\Development\PHPLibrary\Numina.Framework\clsHttpUtil.phponline47当我查找safe_mode的文档时,

php - 如何动态设置变量php,设计模式

我有几个具有以下结构的php脚本:$count=$_GET['count'];$sort=$_GET['sort'];$car=$_GET['car'];$driver=$_GET['driver'];...$SQL="SELECTcar,truckFROMautosWHEREcar='$car'ANDtruck='truck'";...另一个脚本将是相同的脚本,除了car、truck或tableautos我将使用另一个表、不同的变量和可能更多或更少的变量。有没有一种方法或一种好的设计模式可以使用,这样我只需要编写这个脚本的一个实例,而不是我可能不得不编写的15个左右。

php - 如果没有多重继承,在这个 PHP 类结构中使用什么设计模式是合适的?

我有一个名为Node的抽象类。它包含一个从我的数据库中获取一行并实例化基本信息的构造函数。我网站上的所有内容都扩展了这个类-Person、Event、Project等。这些扩展类中有3个是特殊的-在构造它们时,除了从数据库中提取值外,它们还需要查询Web服务;如果网络服务提供的值与数据库中给出的值不同,则需要将它们保存到数据库中。在支持多重继承的语言中,这会相当简单;这些类中的任何一个都可以扩展Node和APIData或类似的东西。没有MI,我不知道该如何处理。使用接口(interface)不会有帮助,因为它不提供具体的实现。装饰器模式有时被推荐作为MI某些功能的替代品,但我没有足够的

PHP 用单个正则表达式模式替换所有实例

我有一个正则表达式,我想以最有效的方式用相应的替换数组替换匹配数组中的每个匹配项。例如,我有:$string='~~hello~~there,how~~are~~~~you~~?';$pattern='/~~(.*?)~~/';$replacements=array();$replacements[0]='hi';$replacements[1]='am';$replacements[2]='i';我想把$string变成:hithere,howami?最初我希望它会像这样简单:$string=preg_replace($pattern,$replacements,$string);但

php - 在 Doctrine 映射中为表设置 PostgreSQL 模式很热吗?

我有两个Symfony应用程序映射到同一个PgSQL数据库。这两个应用程序都使用FOSUserBundle,所以我试图处理不同模式中的用户。在Google上阅读和做一些研究,我按如下方式构建我的实体:/***@ORM\Entity*@ORM\Table(name="internal_users",schema="internal")*@Gedmo\SoftDeleteable(fieldName="deletedAt",timeAware=false)*/classInternalUserextendsBaseUser{...}然后我在Symofny2shell中尝试了以下操作:Sym

php - 是否可以针对 PHP 中的多个模式验证 XML?

我想知道是否可以针对PHP中的多个模式验证xml,或者我必须以某种方式合并我的模式。感谢您的回答! 最佳答案 主模式文件必须包含每个子模式文件的包含标记。例如: 关于php-是否可以针对PHP中的多个模式验证XML?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/2746008/

php - 使用命名模式子例程的 PCRE 正则表达式

我正在试验PHP的PCRE中的命名子模式/“子例程”正则表达式功能,我希望有人可以解释以下奇怪的输出:$re="/(?(DEFINE)(?a))^(?&a)$/x";var_dump(preg_match($re,'a',$match));//(int)1asexpectedvar_dump($match);//Array([0]=>'a')我不明白为什么命名组“a”不在结果中(内容为“a”)。将preg_match更改为preg_match_all会将“a”和“1”放入匹配数据中,但两者都只包含一个空字符串。我真的很喜欢以这种方式编写正则表达式的想法,因为您可以使它们变得非常强大,同