2013-10-21 49 views
0

PHP5.2以下的PHP 5.3的__callStatic()有替代嗎?PHP的替代__callStatic <5.3?

我使用的機器只有PHP5.2,無法升級。有沒有另一種方法來模擬回調調用不存在的靜態方法,而不使用__callStatic()

我試圖模擬Laravel的Facade Design Pattern。

+1

PHP 5.2不再支持:http://www.php.net/eol.php – feeela

+1

tl; dr:不,這就是爲什麼它被添加到開始。 – Charles

+1

不管怎樣,請注意@feeela所說的話:不支持PHP 5.2。它近三年來一直未得到支持。更重要的是,它在那個時候還沒有任何安全補丁,並且存在一些已知的安全問題。如果他們仍然允許他們的生產服務器上使用PHP 5.2,我會認爲系統管理員會疏忽大意。這真的是升級的時候了。 – Spudley

回答

0

你可以做這樣的事情:

public static function callStatic($method) { 
    $args = func_get_args(); 
    array_shift($args); 
    return call_user_func(array(new self(), $method), $args); 
} 

爲了使您能夠訪問非靜態__call。

雖然公平,評論是正確的 - 你不應該使用PHP 5.2。