我有兩個班作爲PHP函數了兼容性問題
class A{
public function Get($a='0',$b=''){
retrun 0;
}
}
class B extends A{
public function Get($a){
return 0;
}
}
它在本地機器上工作用PHP 5.2.5,當我遷移與PHP 5.3.4它給了以下錯誤直播服務器上的應用程序:
Declaration of B::Get() should be compatible with that of A::get()
我該怎麼辦?我不能改變PHP版本的遠程服務器。
我不認爲它的錯誤,它只是一個通知。最簡單的解決方法是將seipram添加到函數中,例如。 '函數get($ a,$ b = NULL)'所以你不需要給第二個參數,但是對於這兩個參數的聲明是一樣的。 – Rufinus 2012-02-28 16:01:25
但是我有這樣幾百萬個函數 – Kutta 2012-02-28 16:02:07
只是一個猜測,但你使用的是接口嗎?沒關係 - 你能檢查它的錯誤或通知嗎?如果是這樣的話,你可以在php.ini或(.htaccess或ini_set())中禁用這種通知。尋找E_STRICT(afaik) – Rufinus 2012-02-28 16:06:29