PHP, fatal error : Call to undefined method, 为什么?

标签 php oop class methods 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();

我只是不明白为什么我会收到错误..

任何帮助将不胜感激。

谢谢!

最佳答案

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/

相关文章:

java - 一长串 if/else/execute 代码分支的最佳设计模式/方法

c# - 每种标识符的正确术语是什么?

c++ - 在无限循环 C++ 中定义一次变量

php 获取类/对象变量和继承

php - mysql php 累积平均值

php - Laravel 查询生成器,其中 NULL 没有结果

php - 错误 : This feature is not available for the database you are using

javascript - 在表单提交时保持选项卡打开 - 无需 Ajax

c++ - 将非静态成员函数作为参数传递给成员函数

css - 在一个规则中使用多个类的目标元素