Tôi có thể ghi đè phương thức fetchall trong một mô hình không? Tôi cần phải kiểm tra sth everytime fetchAll được gọi. Mô hình mở rộng Zend_db_table_abstractZend Framework fetchAll
5
A
Trả lời
9
Để ghi đè phương thức này, bạn cần phải phân lớp Zend_Db_Table_Abstract. Giống như vậy:
<?php
abstract class My_Db_Table_Abstract extends Zend_Db_Table_Abstract
{
...
public function fetchAll($where, $order)
{
...
}
...
}
Sau đó, hãy đảm bảo mô hình của bạn mở rộng My_Db_Table_Abstract thay thế. Bằng cách này, bạn sẽ luôn kế thừa phương thức fetchAll được ghi đè của mình.
0
Có. Chỉ cần định nghĩa phương thức fetchAll() mới trong mô hình của bạn với cùng cấu trúc như phương thức Zend_db_table_abstract (tức là đầu vào/đầu ra tương tự), sau đó ở cuối phương thức, gọi phương thức cha:
parent :: fetchAll ($ params)
Andrew
Vì bạn đặt tên nó là 'Tóm tắt', bạn có thể muốn nó là một 'lớp trừu tượng'. – chelmertz
Vâng, bạn nói đúng. Tôi đã cập nhật ví dụ. Cảm ơn. –