我想调用代码中某个点定义的变量。我使用全局关键字,但似乎变量无法识别。当我在本地设置变量时它工作得很好。 (它是 $ title 变量,它接收某个对象的静态函数的值)
这一项工作:
class Book {
public function represent() {
$titles = Title::all_by_id();
$title = $titles[$this->title_id];
return $title->represent().'_'.$this->id;
}
}
这一个没有:
$titles = Title::all_by_id();
在另一个档案中
class Book {
public function represent(){
global $titles;
$title = $titles[$this->title_id];
return $title->represent().'_'.$this->id;
}
}
它发送错误:
PHP致命错误:在
中的非对象上调用成员函数represent()
这里有什么问题?
答案 0 :(得分:0)
我解决了,问题是我将$titles
变量设置在主要上下文的不同子上下文中,而不是定义了Book类的
当我改变了我定义该变量的位置时,我解决了这个问题,我已将它放在主要的上下文中。