无法在类构造函数中创建对象

时间:2015-08-31 16:18:36

标签: php

我试图在另一个类中使用类的对象(使用Foo中的Test实例)

我初始化$ cls作为Foo构造函数的新测试,并且它预期的$ cls可以在Foo实例中使用,但它不是。

以下是我的尝试:

<?php
class Test
{

    function __construct()
    {

    }
    public $str = "Arash";
}

class Foo
{

    function __construct()
    {
        $cls = new Test();
    }

    public $cls;

}



$ttt = new Foo();
$mmm =  $ttt->cls;
//$mmm = new Test(); //if I uncomment this line , every thing will work well
echo $mmm->str;

跑完后我得到了这个错误:

注意:尝试获取非对象的属性

如果我再次初始化cls,那就没问题了。

为什么在构造函数中初始化$ cls不起作用?

1 个答案:

答案 0 :(得分:1)

//hey check it here is your code.
<?php
class Test
{
    public $str = "Arash";
    function __construct()
    {

    }

}

class Foo
{
    public $cls;
    function __construct()
    {
        $this->cls = new Test();
    }



}



$ttt = new Foo();
$mmm =  $ttt->cls;
//$mmm = new Test(); //if I uncomment this line , every thing will work well
echo $mmm->str;