草庐IT

this-reference

全部标签

php - 在 PHP 5.4.0 之前的 PHP 隐式函数中有 $this

根据http://php.net/manual/en/functions.anonymous.php,在PHP5.3中,$this无法从隐式函数内部访问,即使该函数是在$this存在的上下文中定义的。有什么办法可以解决此限制?(顺便说一句,升级web服务器上的PHP安装是不可能的)我想使用隐式函数的方式是定义一个回调,它是某个对象的成员函数。更准确地说,我想做类似的事情$callback=function(){return$this->my_callback();}实际上,更好的事件语法是$callback=$this->my_callback但我无法让它工作(当我尝试执行回调时,PH

php - 如何在 PHP 中禁用 "referer"到 error_log 的附加?

PHP错误日志通常如下所示:[TueSep0215:46:132014][error][client192.168.0.105]blah,blah,...,referer:https://192.168.0.21/blah/blah[TueSep0215:46:132014][error][client192.168.0.105]blah,blee,...,referer:https://192.168.0.21/blah/blee如何让它们看起来像这样?[TueSep0215:46:132014][error][client192.168.0.105]blah,blah,...[Tu

php - Apache /CentOS 7 :/var/www/html/owned by root but created files owned by apache - how do I resolve this?

我在CentOS7上全新安装了未修改的Apache。我注意到,当我查看/var/www/html的文件夹权限时,它及其内容归apache所有。但是,当创建文件时,其所有者和组是Apache。虽然html归root:root所有,但所有内容都应该归apache:apache所有吗?或[user]:apache该用户属于Apache组?我该怎么办?编辑:另一个问题-我想要改变这个吗?我对Linux系统中的文件所有权没有很好的理解,但似乎使用此配置可​​以防止新创建的文件(apache:apache)对已存在的文件(root:root)采取操作。这应该可以防止PHP黑客操纵任何现有文件,对吗

php - 在 "anonymous"对象中使用 $this

我正在使用以下类来模拟PHP中的匿名对象:classAnonymousObject{protected$methods=array();publicfunction__construct(array$options){$this->methods=$options;}publicfunction__call($name,$arguments){$callable=null;if(array_key_exists($name,$this->methods))$callable=$this->methods[$name];elseif(isset($this->$name))$callab

php - 拉维尔 5.2 :How to display time like this?

我正在使用Laravel5.2,我想这样显示文章的创建时间:created_atdisplayingin1daytoday2-10days(2-10)daysago>10daysshowcreationdatedirectly怎么做?提前致谢!编辑:Controller:publicfunctionshow($id){$article=Article::findOrFail($id);returnview('show',compact('article'));}查看:{{$article->title}}{{$article->content}}{{$article->created_

php - 从 PHP 闭包中读取 "this"和 "use"参数

当您在PHP中创建返回闭包的方法时:classExampleClass{publicfunctiontest(){$example=10;returnfunction()use($example){return$example;};}}print_r的结果包含this(其方法创建闭包的类)和static,它似乎是绑定(bind)在其中的值闭包的use()语句:$instance=newExampleClass();$closure=$instance->test();print_r($closure);制作:ClosureObject([static]=>Array([example]

php - 返回带有抽象类的新 $this

我发现我的代码有问题,不明白为什么会这样。谁能给我解释一下?让我们有:abstractclassAbstractThing{publicfunctionsearch(...){$ret=false;$data=$database->query(...);foreach($dataas$values){$item=new$this;$item->fill_with_values($values);$ret[]=$item;}return$ret;}}它按预期工作并在成功搜索时返回对象实例:classThingextendsAbstractThing{//...}$thing=newThi

php - fatal error : Using $this when not in object context - OOPHP

我只是想通过构造函数设置post_id并通过另一个函数获取该id。但它正在返回:fatalerror:不在对象上下文中时使用$this但不知道为什么会这样正在发生。我以前做过很多次,但现在出了问题。代码如下classPostData{privatestatic$instance=null;public$post_id=0;publicfunction__construct($post_id=0){if((int)$post_id>0){$this->setId($post_id);}}privatefunctionsetId($post_id){return$this->post_id

php - application.ini 仅适用于 $this->getOptions()

我注意到$config=$this->getOptions();仅获取默认application.ini文件的设置。如果我有额外的ini文件,我如何告诉getOptions关于它们? 最佳答案 您可以将从某些自定义ini文件中读取的新选项合并到Bootstrap.php中的现有选项中,如下所示:$newOptions=newZend_Config_Ini(APPLICATION_PATH.'/configs/newoptions.ini');$this->setOptions($newOptions->toArray());但是,如

php - 如果不是来自某些 referer(s) PHP,则限制访问

我绞尽脑汁想知道为什么这不起作用。我想要实现的是限制对我自己网站上页面的访问,仅当来自某个网​​站(例如Facebook)时。由于链接将发布在1个或多个Facebook页面和/或我的个人资料上,如果脚本来自Facebook和/或它发布的任何其他“页面”,我希望脚本能够执行。例如,如果我将我的链接发布到www.facebook.com/This_is_my_PAGE或发布到我的个人资料www.facebook.com/freds_personal_profile或有人分享我在Facebook上的链接,希望该页面只能由来自Facebook域的人访问。我在搜索解决方案时发现了下面的脚本,但它