您好,欢迎访问一九零五行业门户网

构造函数问题???

大概情况是这样的,b类方法里面大量用到a类的对象实例,于是我在b类构造函数里面直接实例化a类
class a{public $mes=ok;}class b{public function __construct(){//下面很多方法都要用到a的对象,于是我在b类构造方法里面直接对象一个,方便下面调用$a=new a();} //下面b的成员方法开始调用a对象的方法public function test(){$mes=$a->mes; //代码运行到这里提示$a不知道是个什么东西,即没有实例化,但上我在构造函数中不是做了吗?好像没有起作用echo $mes;}$b=new b();$b->test();}
我在b的构造函数中实例化的a对象,b的成员方法不能用,怎么回事呢?后面我有很多成员方法都是要用a对象啊,不可能一个一个的去实例化哦。
回复讨论(解决方案) 变量的作用域问题
$this->a = new a();
$mes = $this->a->mes;
上面运行结果提示:
notice: undefined variable: a in c:\php\apache\htdocs\test.php on line 18
notice: trying to get property of non-object in c:\php\apache\htdocs\test.php on line 18
变量的作用域问题
$this->a = new a();
$mes = $this->a->mes;
牛!一语道破天机!感谢!
其它类似信息

推荐信息