2

我正在研究一个 PHP 类,它将获取另一个类并以某种方式返回它,显然构造函数不能返回值,所以我正在查看通过引用传递,这就是我得到的:

<?php
class Example {
    public function __construct($name,&$var){
        //This registers the class in my system (I know this part works)
        IceTray::$Registry->registerLibrary($name);
        //this fetches the object of the registered class above (I know it works)
        $var = IceTray::$Registry->Libraries->$name;
    }

我通过引用传递错误吗?因为当我在我的项目中使用它时:

$test = 0;
$lib = new Example('ClassName', $test);
$test->testing();

$Test 是我希望存储对象的变量,构造函数的第一个参数是要注册并分配给通过引用传递的变量的类的名称,这是第二个参数。下一行在所请求的类名中调用了一个方法,但它不起作用。

没有错误或任何东西,我对通过引用传递概念还是新手,也许我做错了什么。非常感谢任何帮助,在此先感谢!

4

1 回答 1

0
class Example {
    public $var = null;
    public function __construct($name){
        //This registers the class in my system (I know this part works)
        IceTray::$Registry->registerLibrary($name);
        //this fetches the object of the registered class above (I know it works)
        $this->var = IceTray::$Registry->Libraries->$name;
    }
}

$lib = new Example('ClassName');
$lib->var->testing();

为什么要伤害自己而不使用调用属性来返回您需要的东西?

于 2013-07-07T21:16:15.400 回答