我想询问有关PHP克隆/复制对象到$this变量的问题。目前我是MVC的新手,我想做一些类似CodeIgniter的事情。我想直接访问变量。在我的__construct()中,我总是将内部的全局变量传递给新的Controller(类),例如。function__construct($mvc){$this->mvc=$mvc;}在$mvc里面有配置对象,vars对象。例如,目前functionindex(){$this->mvc->config['title'];$this->mvc->vars['name'];}**我要的是更直接的**functionindex(){$this->co
在Controller中,您可以使用此方法加载View,但我想知道这里的幕后发生了什么。我是PHP和框架的新手,但我已经学习了OOP的基础知识。当调用$this->view()时,将使用当前类或父类中的方法。但是$this->load->view()是什么意思?什么是中间load?它是函数还是属性?它位于哪里?它怎么可能包含view()?感谢您的解释。 最佳答案 有问题的代码正在访问名为load的成员变量,该变量有一个名为view的方法。CodeIgniter按照它自己的惯例,将其模型和库作为CI“super对象”中的成员变量提供,
基本上,我要实现的目标是使对象从方法内部引用同一类的另一个对象。如果以下方法可行,那就太完美了:$this=newself;但是不能在php中重新分配$this。我当然知道,我可以从方法返回另一个对象并使用它,所以请不要建议。问题是:如何使$this成为同一类的另一个对象的克隆?或者更具体地说,我想要一个对象恢复到之前保存的特定状态。编辑:一些可能有用的示例。假设您有一个Url对象,它接受Controller、操作和更多东西。您将使用相同的Controller和操作获取大量链接,但其他属性会有所不同。我使用公共(public)参数实例化对象,为它调用一个方法来保存它在输出链接后恢复到的
我想知道为什么会这样:classFoo{publicfunctiondoSomethingFunny($subject){preg_replace_callback("#pattern#",array($this,'doX'),$subject);}privatefunctiondoX(){echo'whydoesthiswork?';}}为什么回调还在$this的上下文中?我希望它只允许公共(public)方法。我缺少有关回调工作原理的一些基本知识。 最佳答案 preg_replace_callback()中的回调参数允许调用方法
我知道HTTP_REFERER作为安全措施并不安全,但我仍然想知道。如何检查HTTP_REFERER的值是否包含www.someexample.com,即使它可能是www.someexample.com/awards/user/145? 最佳答案 if(false!==stripos($_SERVER['HTTP_REFERER'],"www.someexample.com")){//dostuff} 关于php-如何检查HTTP_REFERER是否包含字符串,但不完全匹配?,我们在St
我正在阅读一些关于zend框架的教程和文档,在我遇到$this之前,大多数事情都是有意义的/application/layout/scripts/layout.phtml中的变量,有人提到$this是在引导过程中创建的View对象的一个实例。据我所知,您不能使用$this作为变量名因为$this是php的保留关键字,用于在类上下文中引用相同的对象。任何将其用作变量的尝试都将导致fatalerror并显示以下错误消息Fatalerror:Cannotre-assign$this并根据作者的陈述Thereisavariable,$this,availablewhichisaninsta
处理完后,我在上一页上使用以下方式发送给用户:header('Location:'.$_SERVER['HTTP_REFERER'].'?Add=Successful');现在它将我发送到我的add.php:http://localhost/add.php?Add=Successful再次,当我添加一个数据时,header位置通过以下内容:http://localhost/add.php?Add=Successful?Add=Successful我想要的是将标题位置修剪到问号:让我们说一些类似修剪$_SERVER['HTTP_REFERER']直到?并将其保存到变量中以便if关键字?存
我收到此fatalerror消息:不在对象上下文中时使用$this。此类在CodeIgniter中设置为一个库。这是我的课:classMy_class{function__construct(){$this->app=base_url('application').'/cache/';if($this->expire_after==''){$this->expire_after=300;}}staticfunctionstore($key,$value){$key=sha1($key);$value=serialize($value);file_put_contents($this->
我正在编写简单的模板引擎和堆栈问题:$this即使在取消设置后仍落入eval范围。classfoo{publicfunctionmethod(){$code='var_dump(isset($this));';unset($this);var_dump(isset($this));//produce:booleanfalseeval($code);//produce:booleantrue}}$foo=newfoo;$foo->method();如何在不修改$code值的情况下避免这种情况? 最佳答案 我建议创建unboundclo
这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:PHPmethodchainingbenefits?PHPOOP:MethodChaining谁能告诉我为什么要使用返回$这个;在php类方法中,我在一些方法类中看到了这一点,例如:publicfunctionregisterPrefix($prefix,$path){if(isset($this->prefixes[$prefix])){$path=array_merge($this->prefixes[$prefix],(array)$path);}$this->prefixes[$prefix]=(ar