草庐IT

xor_this

全部标签

php - 为什么使用 array($this ,'function' ) 而不是 $this->function()

我正在检查一个WordPress插件,我在一个类的构造函数中看到了这个函数:add_action('init',array($this,'function_name'));我搜索并发现array($this,'function_name')是一个有效的回调。我不明白的是:为什么要使用这个方法,而不是使用$this->function_name();这是一个示例代码:classHello{function__construct(){add_action('init',array($this,'printHello'));}functionprintHello(){echo'Hello';

php - 在 JsonSerializable 中编码克隆 $this

这个简化的案例会导致PHP段错误(退出127):classDatumimplements\JsonSerializable{publicfunctionjsonSerialize(){returnclone$this;}}echojson_encode(newDatum);最后一行代码导致exit(127)。我无法在当前环境中检索任何堆栈。与此同时,删除clonetoken有效。是否有任何可能的解释为什么会发生这种情况? 最佳答案 此代码导致无限递归。看来PHPJSON模块以这种方式(伪代码)支持JsonSerializable:f

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

php - 不在对象上下文中时使用 $this - Laravel 4

我的Contact.php模型中有这两种方法:publicfunctiongetSubscribers($listId){return$this->withTrashed()->where(DB::raw("concat('',email*1)"),'!=',DB::raw('email'))->where('opt_out','0')->select('email')->chunk(1000,function($results)use($listId){$this->subscribeEmails($listId,$results);});}publicfunctionsubscri

php - 销售人员错误 : Element {}item invalid at this location

我正在使用以下代码通过php连接到salesforcerequire_once('SforcePartnerClient.php');require_once('SforceHeaderOptions.php');require_once('SforceMetadataClient.php');$mySforceConnection=newSforcePartnerClient();$mySforceConnection->createConnection("cniRegistration.wsdl");$loginResult=$mySforceConnection->login("

php - 在父类中使用 $this 仅显示子类中的父类属性

我有以下两个类。BMW类扩展了Car类。classCar{public$doors;public$wheels;public$color;public$size;publicfunctionprint_this(){print_r($this);}}classBMWextendsCar{public$company;public$modal;publicfunction__construct(){print_r(parent::print_this());}}$bmw=newBMW();$bmw->print_this();在上面的代码中,当我使用parent::print_this(

php - 从另一个类宽度 '$this' 调用类的静态方法

我遇到了一些问题。我想从另一个类调用类的static方法。类名和方法是动态创建的。做起来并不难:$class='className';$method='method';$data=$class::$method();但是,我想这样做classabc{staticpublicfunctionaction(){//somecode}}classxyz{protected$method='action';protected$class='abc';publicfunctiontest(){$data=$this->class::$this->method();}}如果我不将$this->cl

php - 在 PHP 中使用 "this"和 "self"

Use$thistorefertothecurrentobject.Useselftorefertothecurrentclass.Inotherwords,use$this->memberfornon-staticmembers,useself::$memberforstaticmembers.http://board.phpbuilder.com/showthread.php?10354489-RESOLVED-php-class-quot-this-quot-or-quot-self-quot-keywordclassDemo{privatestatic$name;private

php - 流体接口(interface)如何返回 $this 和值?

我对OOP比较陌生,所以浏览SimpleHTMLDOM的文档时我想知道它的方法如何使用方法链和返回值/对象的常规行为。例如我可以这样做:$html=newsimple_html_dom();$html->find('something');//Returnsobjectorarrayofobjects但我也可以:$html->find('something')->find('something_else');如果我正确理解方法链接,这意味着find()返回$this即它本身。此外,我的理解是使用方法链接返回$this,之后使用getter方法实际返回一个您可以使用/想要的值。例如:$o

php - 错误 : Using $this when not in object context

这个问题在这里已经有了答案:PHPFatalerror:Using$thiswhennotinobjectcontext(9个回答)关闭9年前。我已经查找了涵盖此错误的其他问题,但找不到适用于我的问题的案例。基本上,我的类中的静态方法调用一个非静态方法,该方法反过来调用另一个非静态方法。这会引发fatalerror:Fatalerror:Using$thiswhennotinobjectcontextinclass.phponline...我不明白为什么不能通过$this从另一个非静态类方法调用一个非静态类方法。是因为它们都是从静态函数调用的,因此没有$this实例吗?这是(简化的)类