That can lead to quite a bit of simplifications in code where you now have to 
check for is_array/is_callable/instanceof Closure and such. I like it.

On Sun, 5 Jun 2011 12:52:45 -0300
Felipe Pena <felipe...@gmail.com> wrote:

> Hi all,
> Reading our bug tracker I noticed a good feature request [1] from 2009 which
> points to an interesting feature that I think makes sense for us, since we
> are now working with $f() using objects and strings, and the array('class',
> 'method') is an old known for call_user_func()-like functions.
> 
> So, I wrote a patch [2] that allow such behavior to be consistent with
> arrays. See some examples:
> 
> class Hello {
>    public function world($x) {
>       echo "Hello, $x\n"; return $this;
>    }
> }
> 
> $f = array('Hello','world');
> var_dump($f('you'));
> 
> $f = array(new Hello, 'foo');
> $f();
> 
> All such calls match with the call_user_func() behavior related to magic
> methods, static & non-static methods.
> 
> The array to be a valid callback should be a 2-element array, and it must be
> for the first element object/string and for the second string only. (just
> like our zend_is_callable() check and opcodes related to init call)
> 
> Any thoughts?
> 
> [1] - http://bugs.php.net/bug.php?id=47160
> [2] - http://felipe.ath.cx/diff/fr47160.diff
> phpt: http://felipe.ath.cx/diff/fr47160.phpt
> 
> -- 
> Regards,
> Felipe Pena

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to