Perché prioritario Doctrine_Record :: save () darmi un rigoroso standard error in Symfony 1.2?
Domanda
Ho il seguente modello:
class Model extends BaseModel
{
public function save($conn = null)
{
if(!$this->getId())
{
//do stuff
}
return parent::save($conn);
}
}
Mi sento come sto follwing la descrizione API di Doctrine_Record :: save () firma (tranne la parentesi strana io mi avrebbe dato un errore di sintassi ...).
Quando ho eseguito questo codice, funziona bene , ma ottengo il seguente avviso:
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
Io di solito girare la segnalazione degli errori per ERROR_ALL, e cercare di attaccare con un codice libero di avvertimento. Questo mi dà fastidio. Ho checkout tutto il codice sorgente Dottrina e greped "salva (", su di esso, provando una firma dopo l'altra. Niente. La prima volta mi ha fatto PHP per essere troppo permissivi, strano hu :-)?
Soluzione
La firma corretta per il metodo di salvataggio dovrebbe essere:
public function save(Doctrine_Connection $conn = null)
Altri suggerimenti
Su un lato nota:. Su altre funzioni si può ottenere questo errore, ma è necessario usare la funzione ($ event) al posto del sopra