我有一个简单的PHP结构。
类成分和类成分,我有这个代码:
class Ingredient
{
public function objectIsValid()
{
return $validate[0];
}
}
class Ingredients
{
public $ingObject;
function __construct(){ $ingObject = new Ingredient(); }
public function validateData()
{
if($this->ingObject->objectIsValid() /*** THE ERROR ***/)
{ echo "OK";}
else
{ echo "NOT";}
}
}
$Ingridients = new Ingredients();
$Ingridients->validateData();
我只是无法理解为什么我会收到错误..
任何帮助将不胜感激。
谢谢!
答案 0 :(得分:14)
function __construct(){ $ingObject = new Ingredient(); }
应该是
function __construct(){ $this->ingObject = new Ingredient(); }
在第一种情况下,您设置的是局部变量,而不是字段,因此它仍为null
。然后在validateData
上调用null变量的方法。
我假设你剪断了一些代码,因为你的Ingredient
类没有意义(那里有一个$validate
变量没有定义。)