개발 스크랩 메모/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