개발! 딱 깔끔하고 센스있게!

PHP5.3의 자동 실행함수? 본문

개발 스크랩 메모/PHP

PHP5.3의 자동 실행함수?

렉사이 2020. 12. 24. 23:52

JS 에서 프로그래밍 패러디를 빌려 PHP (그냥 재미를 위해서다.

방법이 없다:

$a = (function(){ return 'a'; })(); 

저는 결합해서 사용하고 싶어요. 이게 변수 JS 스타일의 좋은 방법이에요.

$a = (function(){ $hidden = 'a'; return function($new) use (&$hidden){ $hidden = $new; return $hidden; }; })(); 

지금 제가 할 건:

$temp = function(){....}; $a = $temp(); 

의미가 없는 것 같다.

대답

PHP5.4는 함수 호출 사슬을 검토하고 있으며 예를 들어 foo().이 전에 callu useru func 사용하십시오:

$a = call_user_func(function(){ $hidden = 'a'; return function($new) use (&$hidden){ $hidden = $new; return $hidden; }; }); $a('foo'); var_dump($a); 

주기:

object(Closure)#2 (2) { ["static"]=> array(1) { ["hidden"]=> string(3) "foo" } ["parameter"]=> array(1) { ["$new"]=> string(10) "" } } 

PHP7 에서 시작하면 다음과 같이 익명 함수를 실행할 수 있습니다:

(function() { echo 123; })(); // will print 123 
Comments