PHP,致命错误:调用未定义的方法,为什么?
我有一个简单的 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();
我只是不明白为什么我会收到错误..
任何帮助将不胜感激。
谢谢!
I have a simple php structures.
class Ingredient and class Ingredients, i have this code:
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();
I just can't understand why do i get the error..
any help will be appreciated.
thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
应该是
在第一种情况下,您设置的是局部变量,而不是字段,因此它仍然为
null
。然后在validateData
上调用 null 变量的方法。我假设您剪掉了一些代码,因为您的
Ingredient
类没有意义(那里有一个$validate
变量未定义)。ought to be
In the first case you're setting a local variable, not a field, so it remains
null
. Then on thevalidateData
you invoke a method on a null variable.I'm assuming you snipped some code, because your
Ingredient
class doesn't make sense (there's a$validate
variable there that isn't defined).