我有一个简单的 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();
我只是不明白为什么我会收到错误..
任何帮助将不胜感激。
谢谢!
最佳答案
function __construct(){ $ingObject = new Ingredient(); }
必定是
function __construct(){ $this->ingObject = new Ingredient(); }
在第一种情况下,您设置的是局部变量,而不是字段,因此它仍然是
null
.然后在validateData
你在一个空变量上调用一个方法。我假设你剪断了一些代码,因为你的
Ingredient
类没有意义(有一个 $validate
变量没有定义)。
关于PHP, fatal error : Call to undefined method, 为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3760743/