php呼叫父項函數


簡單紀錄一下php中平常使用extends繼承的class,在需要呼叫父項函數時使用的方法。

下方範例是使用extends繼承的class

<?PHP
class aaa_ extends aaa {
  ...
}

方法

繼承中可以使用Parent::呼叫父項的函數

Parent::functionname();

如果父項呼叫中有使用this呼叫函數的話會呼叫到繼承後的函數,如果要呼叫原本class中的函數在撰寫時必須使用self或指定class名稱

//這個會使用繼承後的函數
$this->functionname();
//會呼叫寫上self這層的函數(EX:aaa內寫的就呼叫aaa中的函數,aaa_內寫的就呼叫aaa_中的函數)
self::functionname();
//這個指定名稱可以使用原本的函數
aaa::functionname();

參考資料

https://stackoverflow.com/questions/151969/when-should-i-use-self-over-this
https://stackoverflow.com/questions/61456883/how-to-call-parent-class-functions-when-extending-in-child-class

Tags : php