2014-12-11 2 views
-1

PHP 기본 함수을 다른 함수로 감싸거나 문자열을 사용하여 함수 앞이나 뒤에 추가 할 수있는 방법이 있는지 궁금합니다. 사용자 지정 기능을 만들지 않고 대신 기본 기능 출력을 변경하는 방법을 예로 들겠습니다. 태그 var_dump() 출력을 추가하십시오. 내가기본 PHP 함수 출력을 변경하십시오.

$my_var = "Hello World!"; 
var_dump($my_var); 

출력이 <strong>Hello World!</strong>

내가 대신 내가 위해서 var_dump를 수정하려면, 생성하고이 작업을 수행하는 사용자 정의 함수를 호출에 관심이 아니에요 원하는 Hello World!

$my_var = "Hello World!"; 
var_dump($my_var); 

출력() 출력.

편집 : 나는 PHP 확장

+0

아니요, PHP는 표준 언어로 "오버로드"기능을 제공하지 않습니다. – IMSoP

+0

간단히 가능하지 않음 – baao

+0

[PHP와 같은 함수를 바꿀 수 있으며 다른 일을 할 수 있습니까?] (http://stackoverflow.com/questions/1837184/is-it-possible- mail-and-make-it-do-someth와 같은 php-function-to-replace-a-function을 대체 할 수 있습니다. 또는 [PHP 함수 재정의?] (http://stackoverflow.com/questions/2640958/redefining-php-function); 또는 [PHP 함수를 대체 (monkeypatch) 할 수 있습니까?] (http://stackoverflow.com/questions/530649/is-it-possible-to-replace-monkeypatch-php-functions?lq=1) 또는 기타 빠른 검색에서 찾았습니다. – IMSoP

답변

2

당신이 runkit PECL extension를 설치하는 경우 runkit_function_rename을 사용할 수 있습니다를 설치하지 않고 기본 솔루션이 필요합니다.

var_dumps를 호출하기 전에 코드를 작성해야하지만 기존 var_dump의 이름을 바꾸면 고유 한 var_dump를 만들 수 있습니다.

나는 이것이 끔찍한 생각이라고 생각하지만, var_dump에 대한 래퍼로 자신의 함수를 작성하고 새 함수를 사용하도록 코드를 리팩터링하는 것이 훨씬 낫다.

그렇지 않으면 네이티브 PHP 설치로 할 수 없습니다.

+0

고마워,하지만 네이티브 솔루션이 필요한 경우 필요합니다. –

+0

그러면 죄송합니다. – Scopey

+0

@RomanToasov 이것은 당신이 얻을 수있는 최선의 대답입니다, 미안 해요. "확장 기능없이이 작업을 수행 할 수 있습니까?" 단순히 "아니오"입니다. – IMSoP

관련 문제