Puis-je remplacer la méthode fetchall dans un modèle? J'ai besoin de vérifier sth à chaque fois que fetchAll est appelé. Le modèle s'étend Zend_db_table_abstractZend Framework fetchAll
5
A
Répondre
9
Pour remplacer cette méthode, vous devez sous-classer Zend_Db_Table_Abstract. Comme si:
<?php
abstract class My_Db_Table_Abstract extends Zend_Db_Table_Abstract
{
...
public function fetchAll($where, $order)
{
...
}
...
}
Ensuite, assurez-vous que vos modèles étendent My_Db_Table_Abstract à la place. De cette façon, vous héritez toujours de votre méthode fetchAll substituée.
0
Oui. Définissez simplement une nouvelle méthode fetchAll() dans votre modèle avec la même construction que la méthode Zend_db_table_abstract (ie même entrée/sortie) puis à la fin de votre méthode appelez la méthode parent:
parent :: fetchAll ($ params)
Andrew
Puisque vous nommant 'Abstract', vous voulez sans doute que ce soit un' abstrait class'. – chelmertz
Oui, vous avez raison. J'ai mis à jour l'exemple. Merci. –