[wp-trac] [WordPress Trac] #10493: Allow closures as callbacks

WordPress Trac wp-trac at lists.automattic.com
Thu Oct 22 20:37:06 UTC 2009

#10493: Allow closures as callbacks
 Reporter:  scribu       |       Owner:  scribu        
     Type:  enhancement  |      Status:  new           
 Priority:  normal       |   Milestone:  Future Release
Component:  General      |     Version:  2.9           
 Severity:  normal       |    Keywords:  has-patch     

Comment(by scribu):

 > I'm not sure we __need__ to do this.

 As of [12090], we could do this:

 add_action('init', array(function() { // do something }));

 but eliminating the array() is easily done with

 > We shouldn't be encouraging create_function in this case anyway as there
 are possible security risk.

 Precisely: You can't create closures in the same way you can pass a string
 to create_function(), so it's actually encouraging safer code.

 > Closures make it easier to write multi-line functions here which make
 the code even harder to read.

 It's the same as closures in jQuery. Here's a counter example:

 add_action('init', function() {
     if ( isset($_GET['restricted']) )
         die('Not so fast...');

 Looks familiar? :-)

 > Also looking at the php docs the fact that they are currently
 implemented by the Closure class should not be relied on.

 closures.2.diff doesn't rely on that anymore.

Ticket URL: <http://core.trac.wordpress.org/ticket/10493#comment:6>
WordPress Trac <http://core.trac.wordpress.org/>
WordPress blogging software

More information about the wp-trac mailing list