我们班的模型是这样的:
class Foo {
private $date;
public function set_date($date) {
$this->date = $date;
}
// ANSWER: this gets executed as a constructor (case-insensitive)
public function foo() {
print_r($this->date->format('Y'));
}
}
$Foo = new Foo();
调用new Foo()
时得到:Fatal error: Call to a member function format() on a non-object
我无法重现这个错误(上面的代码似乎可以工作)。
语法错误:
print_r($this->Date->format('Y');
^^^^ missing closing paren
由于在使用new Foo()
创建类实例时发生错误,我会怀疑类中有一个方法foo()
。因为没有__construct()
,所以方法foo()
被认为是构造函数并被执行。这会直接或通过调用其他方法触发错误。
可能还执行了其他代码。方法format
在方法b
中调用。在您给出的代码中没有调用b
,但它可能在其他地方调用,并且在设置日期之前。