好的,我需要一點幫助。我有兩個PHP類爲這兩個PHP類製作接口?
class menu
{
public static function GetItems()
{
$res=array();
$r=mysql_query("select * from menuitems");
while($rw=mysql_fetch_row($r))
$res[]=new MenuItem($rw[0],$rw[1],$rw[2],$rw[3]);
return $res;
}
}
其次
class Articles
{
public static function Get()
{
$res=array();
$r=mysql_query("select * from articles");
while($rw=mysql_fetch_row($r))
$res[]=new Articles($rw[0],$rw[1],$rw[2],$rw[3]);
return $res;
}
}
我需要的是能寫所有這裏面,只是改變的菜單項和文章一個簡單的PHP接口類。基本上,我需要這樣的事情作爲一個接口
interface Base
{
$res=array();
$r=mysql_query("select * from $base");
while($rw=mysql_fetch_row($r))
$res[]=new $base($rw[0],$rw[1],$rw[2],$rw[3]);
return $res;
}
}
而在其他類我需要的東西,我可以calllike這個
class menu
{
public static function GetItems()
{
$baza="Articles";
}
}
你知道我的意思,我的課Menu
需要實現baza
類,並且有$baza
,只需要用這個字符串替換?
好吧,很多說不能做到這一點在接口,我同意,但我需要解決方案,爲我的問題?
您的代碼沒有任何意義可言。沒有。一個接口只是一個函數原型的集合。你不能把任何編程邏輯放在那裏。你的menu :: GetItems()在最後什麼也不做。 – 2012-03-19 12:37:21
你可以用普通的基類和靜態成員變量來做到這一點(以及一些技巧,如果你有一箇舊的PHP) – 2012-03-19 12:42:04
你的意思是「我怎麼能叫$ avariable :: get()?」 ?或者你對繼承感到困惑? – AD7six 2012-03-19 12:42:19