我有以下型号:
class Model extends BaseModel
{
public function save($conn = null)
{
if(!$this->getId())
{
//do stuff
}
return parent::save($conn);
}
}
我觉得我正在使用Doctrine_Record::save()签名的API描述(除了奇怪的括号,我会给我一个语法错误......)。
当我运行此代码时,效果正常,但我收到以下警告:
Strict Standards: Declaration of Model::save() should be compatible with that of Doctrine_Record::save() in $ROOT/lib/model/doctrine/Model.class.php on line 6
我通常会将错误报告转为ERROR_ALL,并尝试使用免费警告代码。这让我很烦。我查看了所有的Doctrine源代码并且greped“save(”,在它上面,在另一个之后尝试一个签名。没什么。第一次PHP让我过于宽容,奇怪的胡:-)?
答案 0 :(得分:16)
保存方法的正确签名应为:
public function save(Doctrine_Connection $conn = null)
答案 1 :(得分:0)
旁注:在其他功能上,您可能会收到此错误,但您需要使用函数($ event)代替上述内容。