J'ai créé un modèle Zend Framework en étendant Zend_Db_Table_Absract
comme suit (exemple simplifié):Pourquoi est-ce que j'obtiens ce message sur les normes strictes?
class Foos extends Zend_Db_Table_Abstract
{
protected $_schema = 'Foo';
protected $_name = 'Foos';
protected $_primary = 'id';
protected $_sequence = true;
public function insert($data) {
$db = $this->getAdapter();
$record = array('field1' => $data['field1'],
'field2' => $data['field2'],
...
);
return parent::insert($record);
}
}
ci-dessus insère correctement un enregistrement. Le problème est, je continue à obtenir l'avis suivant:
Strict Standards: Declaration of Foos::insert() should be compatible with that of Zend_Db_Table_Abstract::insert() in /x/x/x/Foo.php on line XX
Pour autant que je peux dire d'avoir lu la documentation et l'API à plusieurs reprises, la façon dont je le fais est correct. Je suis conscient que je peux désactiver E_STRICT
mais je préfère savoir pourquoi je reçois l'avis ci-dessus. Des idées? (PHP 5.3, Zend Framework 1.10)
Juste vérifié dans la source: c'est la fonction publique insert (array $ data) ' – Mchl
Merci à tous pour vos réponses. – karim79