2013-10-21 2 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는 지원되지 않습니다. 거의 3 년 동안 지원되지 않았습니다. 더 중요한 것은 그 시간에 보안 패치가 없었으며 알려진 많은 보안 문제가 있다는 것입니다. 나는 그들이 프로덕션 서버에서 여전히 PHP 5.2를 허용한다면 sys 관리자가 과실하다고 생각할 것입니다. 정말로 업그레이드 할 시간입니다. – 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를 사용하면 안된다.

관련 문제