Почему переопределение Doctrine_Record::save() дает мне строгую стандартную ошибку в Symfony 1.2?

StackOverflow https://stackoverflow.com/questions/943325

  •  09-09-2019
  •  | 
  •  

Вопрос

У меня есть следующая модель:

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

        //do stuff

     }
     return parent::save($conn);

    }
}

У меня такое чувство, будто я следую описанию API Doctrine_Record::save() подпись (за исключением странной скобки, я бы дал синтаксическую ошибку...).

Когда я запускаю этот код, это работает хорошо но я получаю следующее предупреждение:

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 и нажимаю на него команду «save(», пробуя одну подпись за другой.Ничего.Впервые PHP обвинил меня в слишком снисходительности, странно, да :-) ?

Это было полезно?

Решение

Правильная подпись метода сохранения должна быть следующей:

public function save(Doctrine_Connection $conn = null)

Другие советы

В качестве примечания:В других функциях вы можете получить эту ошибку, но вам нужно будет использовать функцию ($event) вместо приведенной выше.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top