這聽起來似乎很愚蠢,但我正面臨着PHP中靜態函數的這個問題。在PHP中使用面向對象編程仍然是新手,所以需要一些幫助。在PHP中實現靜態函數
我有一個數據庫類,它處理我的應用程序中的連接和crud操作的所有功能。我有另一個類,它擴展了DB類並使用它中的方法。
class Database(){
function db_connect(){
//body
}
}
/*****The inheritor class*****/
class Inheritor extends Database{
function abcd(){
$this->db_connect(); //This works good
}
}
但現在我必須使用function abcd(){}
在其他類作爲它執行相同的task.The新類是這個例如這也將擴展數據庫類:
class newClass extends Database{
function otherTask(){
//Here I need to call the function abcd();
}
}
我試着使function abcd()
靜態,但是我不能在類繼承器的函數定義中使用this
。我也嘗試創建數據庫類的對象,但這是不允許的,因爲它給出了錯誤。
有人可以建議我正確的方式來實現我想要的嗎?
你'newClass'需要延續'Inheritor'不'Database' – cmorrissey
威爾也讓我可以訪問到'Database'方法? @ChristopherMorrissey – coderunner
聽起來像'newClass'應該'擴展Inheritor',或者''function abcd'應該是'Database'的成員。這是關於將您的代碼和類層次結構進行邏輯分組的,這很難在不知道每個類的真正目的的情況下給出任何建議。 – deceze