Я работаю над новым виджетом для Tomato CMS, и они используют интерфейс:
interface Ad_Models_Interface_BannerPageAssoc
{
...
/**
* Get banner-page by Zone Id
*
* @param int $zoneId Id of zone
*/
public function getByZoneId($zoneId);
}
и другой класс, который реализует этот интерфейс:
class Ad_Models_Dao_Mysql_BannerPageAssoc extends Tomato_Model_Dao
implements Ad_Models_Interface_BannerPageAssoc
{
public function getByZoneId($zoneId)
{
$sql = sprintf("SELECT * FROM " . $this->_prefix . "ad_page_assoc");
$rs = mysql_query($sql);
$rows = array();
while ($row = mysql_fetch_object($rs)) {
$rows[] = $row;
}
mysql_free_result($rs);
return new Tomato_Model_RecordSet($rows, $this);
}
}
Когда я создаю объектэтого класса и вызова функции, я получаю эту ошибку:
Неустранимая ошибка: класс Ad_Models_Dao_Pdo_Mysql_BannerPageAssoc содержит 1 абстрактный метод и поэтому должен быть объявлен как абстрактный или реализовать оставшиеся методы (Ad_Models_Interface_BannerPageAssoc :: getByZone): \ xampp \ htdocs \ roepingen \ application \ modules \ ad \ models \ dao \ pdo \ mysql \ BannerPageAssoc.php в строке 59
Кто-нибудь знает, как я могу решить эту проблему?