Self Executing functions in PHP5.3? Self Executing functions in PHP5.3? php php

Self Executing functions in PHP5.3?


Function Call Chaining, e.g. foo()() is in discussion for PHP5.4. Until then, use call_user_func:

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

gives:

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

As of PHP7, you can immediately execute anonymous functions like this:

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