PHP,致命错误:调用未定义的方法,为什么?

yos*_*ssi 2 php oop methods class undefined

我有一个简单的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();
Run Code Online (Sandbox Code Playgroud)

我只是无法理解为什么我会得到错误..

任何帮助将不胜感激.

谢谢!

Art*_*cto 14

function __construct(){   $ingObject = new Ingredient();   }
Run Code Online (Sandbox Code Playgroud)

必定是

function __construct(){   $this->ingObject = new Ingredient();   }
Run Code Online (Sandbox Code Playgroud)

在第一种情况下,您要设置局部变量,而不是字段,因此它仍然存在null.然后在validateData你上面调用null变量的方法.

我假设你剪断了一些代码,因为你的Ingredient类没有意义(那里有一个$validate未定义的变量).