目标
调用同一类的两个方法。
问题所在
我在index.php
上收到此错误:
注意:尝试在第 3 行获取 [...] 中的非对象属性
发生了什么事情
这是我的索引.php:
<?php
$dinosaur = new 'Animals'Dinosaur;
echo $dinosaur->talk()->opinionAboutSashaGrey;
echo $dinosaur->talk()->opinionAboutLife;
这是方法的实现:
<?php
namespace Animals;
class Dinosaur extends Animal
{
[...]
public function talk()
{
$this->database->query("CALL getDinosaurDialogs();");
return $this->database->fetchRowAsObject();
}
[...]
}
并且应用程序始终只显示第一条消息(在这种情况下,恐龙对萨沙格雷的看法)。
有人可以告诉我如何解决问题的想法?
调试聚焦
[...]
var_dump($dinosaur->talk());
[...]
还我NULL
.
use 'Animals'Dinosaur as Dinosaur;
$dinosaur = new Dinosaur();
该问题是由返回$this->database->fetchRowAsObject()
null
引起的,然后您尝试访问其属性。 null
显然不是一个对象(因此没有属性),所以PHP提出了一个E_NOTICE。
您需要找出fetchRowAsObject()
返回null
的原因 - 是存储过程失败,还是没有正确检索其输出?