草庐IT

objc_class

全部标签

php - Class::getInstance 的起源/解释?

我对经典继承相当陌生,因为我主要处理ECMAScript和Python,尽管我对PHP也有一定了解(不寒而栗)。我知道它深受Java和其他基于经典继承的语言的影响。问题:我正在查看框架中的几个类,并注意到没有调用(至少直接调用)“new”关键字来创建实例,而是使用公共(public)getInstance方法来创建初始对象。有人可以解释这背后的策略吗?我什么时候应该在自己的类(class)中使用它?相关代码:classFrontController{publicstatic$_instance;publicstaticfunctiongetInstance(){if(!(self::$

PHP 设计模式 : Are private constructors bad for classes that you will let others to extend?

我有一个名为ContentAbstract的抽象类,它看起来像这样abstractclassContentAbstract{protectedstatic$type;protected$id;protected$title;protected$description;protected$page;protected$section;...function__construct($id=NULL,Page$page=NULL,Section$section=NULL){if($id!=NULL){$data=get_data_from_content_table_by_id($id);i

php oop 编程 : building a class

我正在考虑建立我的第一个真正的类(class),我玩过点点滴滴,但现在是真正尝试的时候了:)我想要做的是有一个表单类来处理我所有的表单提交,检查输入的数据并返回错误消息或成功消息。这是我的一个表格,(我在一页上有5个)BusinessSectordatabase->query("SELECT*FROMtbl_sectors");while($row=$user->database->fetchArray($query)){$id=$row['sectorID'];$dept=$row['sectorName'];echo"$dept";}?>Locationdatabase->quer

php - 第 29313 行的 fatal error : Class 'Magento_Db_Adapter_Pdo_Mysql' not found in/home/xxxx/public_html/xx/xx/includes/src/__default. php

我只是做了所有这些解决方案但未能得到解决方案对您的magento文件夹拥有777权限。chmod775lib/Magento/Db/Adapter/Pdo/Mysql.php 最佳答案 请查看this还有this同时在您的服务器上启用pdo扩展您需要在php.ini文件中启用PDO和PDO_MYSQL扩展。转到您的php.ini文件,该文件位于安装PHP的目录中,并删除以下行中的注释(;);extension=php_pdo.dlltoextension=php_pdo.dll在Windows服务器上,您可以在php.ini中添加以

php文档: document only classes

我正在尝试了解phpDocumentor。我通常为每个文件放一个类。我是否被迫记录文件和类(class)?我只想记录类(我为什么要记录文件?)但我收到警告...WARNINGincomment.class.phponline8:DocBlockwouldbepage-level,butprecedesclass"Comment",useanotherDocBlocktodocumentthefile我读过http://manual.phpdoc.org/HTMLSmartyConverter/HandS/phpDocumentor/tutorial_phpDocumentor.quic

memcached - phpinfo() 中列出的 php-fpm 扩展失败,返回 "Class not found"

CentOS上的nginx+php-fpm,全部编译自源代码。添加memcached支持,我编译了libmemcached和php“memcached”扩展,在php-fpm配置中添加了一行“php_admin_value[extension]=memcached.so”并重新启动了php-fpm。通过Web服务器用phpinfo()打开测试php开始显示有关“memcached”扩展的部分(screenshot)。然而,尝试实例化该类失败并出现fatalerror:找不到类“Memcached”。我还尝试以相同的方式安装php“memcache”(没有“d”)扩展:下载源代码、php

php - fatal error : Class 'ZipArchive' - not found when using PHPUnit

我重构了一些PHP代码并将其放入一系列PHPUnit类中。在其上运行PHPUnit(3.7.28)时(通过控制台)出现上述fatalerror。PHP版本为5.4.6-1ubuntu1.4(cli)。我知道Zip类正在工作并且可用,因为它在正常运行代码时(也通过控制台)工作想法/想法表示赞赏。谢谢!zip=newZipArchive();}} 最佳答案 在命名空间内,您必须使用完全限定的类名来引用类(函数除外)或首先导入它们:$this->zip=new\ZipArchive();或namespacephpUnit\Test;use

php - Bootstrap : active class

在Bootstrap中,事件类用于获取选定的单选按钮值。单击单选按钮时,active类将添加到该按钮的标签中。提交表单后,带有事件标签的单选按钮值被发送以供进一步处理。但是,当从jquery添加active类并提交表单时,它不会发布/获取该按钮的值。为了完成这项工作,我必须使用事件类模拟点击单选按钮。我做错了什么吗?还有其他方法可以实现吗?functionshowOption(){$(document).ready(function(){$('#option_grpinput[value=]').parent('label').addClass('active').click();})

php - php父类(super class)如何访问其子类的 protected 方法?

我今天才注意到这种行为-很奇怪,我很确定在java中你只能访问继承链上游的protected方法,因为另一种方式违反了封装。语言中有这种行为的原因吗? 最佳答案 我发现当在父类中定义的一个方法只需要根据扩展类类型更改其功能的一小部分时,它很有用。您可以从父类中调用抽象方法,并且它的功能会根据需要随着子类中该方法的定义而改变。我还要补充一点,兄弟类也可以访问彼此的protected属性和方法,只要它们在父类中声明(可以是抽象的也可以不是)。 关于php-php父类(superclass)如

php - Zend 框架 : Setting decorators and labels - should this be done in the view or the form class?

我注意到许多(大多数?)人在使用ZendFramework时会在Form类本身中添加装饰器和标签。classUser_Form_AddextendsZend_Form{publicfunctioninit(){parent::init();$username=newZend_Form_Element_Text('username');$username->setLabel('Username:')->setRequired(true)->addFilter('StringTrim')->addValidator('StringLength',$breakChainOnFailure=f