0
$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当前对象传递给函数呢?

4

1 回答 1

0

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

class .... { 
    public function passRef() {
       $foo = new Bar();
       $foo->fooBar($this);
    }
}
于 2013-08-15T03:51:55.257 回答