带有接口的PHP类和关于抽象方法的错误
我正在为番茄CMS开发一个新的小部件,它们使用一个界面:带有接口的PHP类和关于抽象方法的错误,php,interface,Php,Interface,我正在为番茄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_Mysq
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);
}
}
以及实现此接口的另一个类:
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个抽象方法,因此必须声明为抽象或在第59行的C:\xampp\htdocs\roepingen\application\modules\Ad\Models\Dao\Pdo\Mysql\BannerPageAssoc.php中实现其余方法(Ad_Models_Interface_BannerPageAssoc::getByZoneId)
有人知道我如何解决这个问题吗?在使用关键字interface/abstract和extends/implements之间可能存在问题。你没有提到你实际得到错误的类,它是Ad_Models_Dao_Pdo_Mysql_BannerPageAssoc。如果该类实现了Ad_Models_Interface_BannerPageAssoc,则该类还必须实现所需的方法。与PHP中的处理方式不同。在使用关键字interface/abstract和extends/implements之间可能存在问题。你没有提到你实际得到错误的类,它是Ad_Models_Dao_Pdo_Mysql_BannerPageAssoc。如果该类实现了Ad_Models_Interface_BannerPageAssoc,则该类还必须实现所需的方法。与PHP中的处理方式不同。
Ad\u Models\u Dao\u Mysql\u BannerPageAssoc
与错误中的类不同:
Ad_Models_Dao_Pdo_Mysql_BannerPageAssoc
Ad_Models_Dao_Mysql_BannerPageAssoc
与错误中的类不同:
Ad_Models_Dao_Pdo_Mysql_BannerPageAssoc
这确实是我的错。。。谢谢注意:-)这确实是我的错。。。感谢您的关注:-)