如何将当前对象传递给函数?

时间:2013-08-15 03:47:37

标签: php class object methods this

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

1 个答案:

答案 0 :(得分:0)

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

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