为什么重写Doctrine_Record :: save()会在Symfony 1.2中给出严格的标准错误?

e-s*_*tis 4 php doctrine symfony1

我有以下型号:

class Model extends BaseModel
{
   public function save($conn = null)
   {
      if(!$this->getId())
      {

        //do stuff

     }
     return parent::save($conn);

    }
}
Run Code Online (Sandbox Code Playgroud)

我觉得我正在使用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
Run Code Online (Sandbox Code Playgroud)

我通常将错误报告转为ERROR_ALL,并尝试坚持使用无警告代码.这让我很烦.我检查了所有的Doctrine源代码并且greped"保存(",在它上面,在另一个之后尝试一个签名.没什么.第一次PHP让我过于宽容,奇怪的胡:-)?

小智 16

save方法的正确签名应该是:

public function save(Doctrine_Connection $conn = null)
Run Code Online (Sandbox Code Playgroud)