草庐IT

this_call

全部标签

php - 在 PHP 中重新分配 $this

(我知道这可能是一个棘手的决定,但我希望我们避免回答诸如“请不要”之类的答案。)我有一个类,其构造函数将回调作为参数。在此回调中,我认为$this变量可用作对回调所属实例的引用,这在语义上是最正确的。(我注意到5.4已经在匿名函数的上下文中恢复了$this在一个类中定义,但是即使这样的改变在这里也无济于事,因为如前所述,函数作为参数传递给构造函数)这个问题是因为实例没有作为参数传递给回调,而是通过use()use()倾向于为$this哭泣,声明它不能用作词法变量。有没有一种方法,无需将其作为参数传递(任何方法,使用()或不使用,都可能很好)来完成此操作?目前,我唯一能想到的是:...f

php - 使用 __call() 在重载函数中使用引用

classa{publicfunctionf(&$ref1,&$ref2){$ref1='foo';$ref2='bar';}}classb{publicfunction__call($methodName,$arguments){$a=newa();call_user_func_array(array($a,$methodName),$arguments);}}$ref1='X';$ref2='Y';$b=newb();$b->f($ref1,$ref2);var_dump($ref1,$ref2);这导致:PHPWarning:Parameter1toa::f()expectedt

php - 错误 : jQuery1830649454693285679_1359620502896 was not called JSON

我已经阅读了很多关于同一问题的问答,但没有一个是我的特定问题(至少我找不到)。我有一个回显json字符串的php脚本header('Content-Type:application/json');echo$result;返回的JSON(使用JSONLint检查并有效):{"Announcement":{"ID":1,"Type":1,"Text":"ThisisatestAlbumsannouncement.","TimeStart":"1969-12-31","TimeEnd":"1969-12-31"}}还有一个读取json的webjquery脚本:$.ajax({type:"GE

php - onkeyup ="this.value = this.value.replace(/,/g,' .')"with php echo' '

在输入字段中需要将,替换为.。使用HTM这样的代码可以正常工作onkeyup="this.value=this.value.replace(/,/g,'.')"但需要像这样在php中使用(带回显):echo'';用php不行。如果使用此this.value.replace(/,/g,/./)则,将替换为/./。尝试过(/,/g,"/./"),(/,/g,/"."/),(/,/g,.)没有任何效果(我的意思是,不会更改为.)。有什么想法吗? 最佳答案 您必须在PHP代码中使用反斜杠转义'。echo'';否则你就是把你的绳子切成小块,然

php - 如何配置 CakePHP 的 $this->Auth->login() 以使用自定义密码哈希

CakePHPv.2.4...我正在关注thisdocumentation尝试设置Auth组件以使用我的自定义密码哈希类:App::uses('PHPassPasswordHasher','Controller/Component/Auth');classAppControllerextendsController{//authneededstuffpublic$components=array('Session','Cookie','Auth'=>array('authenticate'=>array('Form'=>array('fields'=>array('username'=

PHP fatal error : Call to undefined function imagecreatefrompng()

这是我在php错误日志中收到的错误消息。到目前为止,我知道问题出在GD库上,它没有安装(我认为没有安装,但它之前在我的服务器上工作,现在不是,所以我不知道发生了什么,但我想假设未安装)。我通过运行php-m检查模块是否已安装,但没有显示gd,而且phpinfo()也没有显示与gd相关的任何内容。我用remirepo在CentOS服务器5.9上安装了php。现在,问题是我不能只运行yuminstallphp-gd因为它是手动安装的,所以不会有任何效果。关于如何将那个模块安装到我的php安装有什么想法吗? 最佳答案 我只需要安装启用了r

小程序中使用this.setData()遇到的问题及解决方案

最近在学习小程序时遇到了关于setData()的不少问题,在这里做一些总结和记录。1、使用方法总结2、利用setData()修改数组对象下的一个属性3、简易双向绑定使用方法总结在更改setData下的变量时,直接写key名就可以了的,不用写this.data.属性,如下所示Page({  data:{    value:'hello' }  this.setData({  value:'修改的值'  //错误写法:this.data.value:''  //注意key的名称一定是data中的名称})})setData的第二个参数是一个回调函数,在页面渲染完后执行。this.setData({v

php - 为什么调用 __call 而不是 __callStatic

我试图引用这个question在SO上,但仍然不明白。bar();(newB)->foo();据我了解,bar函数静态调用类A上的foo方法,但foo方法使用A的实例调用该方法,该实例是B的父级。我期待它应该给我:I'mthe__callStatic()magicmethodI'mthe__call()magicmethod但是,显然,我得到:I'mthe__call()magicmethodI'mthe__call()magicmethod 最佳答案 来自相关issue:...A::foo()isnotnecessarilyast

php - 而不是连接表,合并对象 : Is this bad practice?

这是不好的做法吗?我应该因为提出这段代码而被枪毙吗?functionget_business_addresses($business_id){$query=$this->db->get_where('contact_business_addr_rel',array('business_id'=>$business_id));if($query->num_rows()>0){foreach($query->result()as$row){$address_id=$row->address_id;$address_type_id=$row->address_type_id;$this->d

php - 为什么模板可以直接使用 $this 关键字?

我是PHP新手;今天我在Magentotop.phtml中看到如下代码。renderCategoriesMenuHtml(0,'level-top')?>getUrl('')?>">__('Home')?>"我知道$this是类的自身,它只是在类中用来引用方法或属性,在上面的代码中,没有类已经定义了,为什么可以直接使用$this关键字呢?$this->__('Home')代表什么? 最佳答案 因为你标记了这个magento你可能有一个类Mage_Catalog_Block_Navigation.至少,这些方法暗示了这一点。现在,我对