【问题标题】:How to pass current object to function?如何将当前对象传递给函数?
【发布时间】:2013-08-17 05:59:00
【问题描述】:
$hookObj = t3lib_div::getUserObj($classRef);

if (method_exists($hookObj, $func)) {
    $hookObj->$func($params, $this);
}

我看到上面的脚本将$this 传递给一个函数,所以我想弄清楚如何将$this 传递给一个函数,我做了以下测试:

class a
{

    public $var1 = 'var1';
    public $var2 = 'var2';

}

$obj0 = new a;

class b
{

    function init($pObj)
    {
        var_dump($pObj->var1);
    }

}

$obj1 = new b;
$obj1->init($obj0);

我可以将对象$obj0 传递给函数,但我如何将$this 当前对象传递给函数?

【问题讨论】:

    标签: php class object methods this


    【解决方案1】:

    $this 是对类的当前实例对象的引用。如果您的活动范围在$this 可用的类中,您可以将其传递给另一个类函数。如下

    class .... { 
        public function passRef() {
           $foo = new Bar();
           $foo->fooBar($this);
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-11-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多