atom feed63 messages in net.php.lists.internalsRe: [PHP-DEV] Callable type
FromSent OnAttachments
Hannes MagnussonJun 6, 2011 12:41 pm.txt
Stas MalyshevJun 6, 2011 1:35 pm 
Hannes MagnussonJun 6, 2011 1:48 pm 
Christopher JonesJun 6, 2011 1:49 pm 
Stas MalyshevJun 6, 2011 2:16 pm 
Matthew Weier O'PhinneyJun 6, 2011 3:15 pm 
Pierre JoyeJun 6, 2011 3:26 pm 
Matthew Weier O'PhinneyJun 6, 2011 3:32 pm 
Etienne KneussJun 6, 2011 3:41 pm 
Chris StocktonJun 6, 2011 3:51 pm 
Chris StocktonJun 6, 2011 3:52 pm 
Ferenc KovacsJun 6, 2011 4:01 pm 
Stas MalyshevJun 6, 2011 4:01 pm 
Chris StocktonJun 6, 2011 4:20 pm 
Derick RethansJun 6, 2011 4:30 pm 
Martin ScottaJun 6, 2011 7:50 pm 
Jordi BoggianoJun 7, 2011 3:08 am 
Hannes MagnussonJun 7, 2011 6:59 am 
Richard QuadlingJun 7, 2011 7:03 am 
Hannes MagnussonJun 7, 2011 7:21 am 
Jaroslav HanslikJun 7, 2011 8:22 am 
Matthew Weier O'PhinneyJun 7, 2011 9:10 am 
Stas MalyshevJun 7, 2011 11:50 am 
David ZülkeJun 7, 2011 12:03 pm 
Stas MalyshevJun 7, 2011 12:12 pm 
David ZülkeJun 7, 2011 12:28 pm 
Anthony FerraraJun 7, 2011 12:37 pm 
Martin ScottaJun 7, 2011 1:28 pm 
Stas MalyshevJun 7, 2011 1:31 pm 
David ZülkeJun 7, 2011 1:32 pm 
Pierre JoyeJun 7, 2011 1:36 pm 
Mike van RielJun 7, 2011 1:43 pm 
Matthew Weier O'PhinneyJun 7, 2011 1:44 pm 
dukeofgamingJun 7, 2011 2:15 pm 
Matthew Weier O'PhinneyJun 7, 2011 2:41 pm 
dukeofgamingJun 7, 2011 3:38 pm 
Johannes SchlüterJun 7, 2011 4:39 pm 
David ZülkeJun 7, 2011 5:04 pm 
Alexey SheinJun 7, 2011 10:24 pm 
Hannes MagnussonJun 8, 2011 1:31 am 
Hannes MagnussonJun 8, 2011 1:38 am 
Alexey SheinJun 8, 2011 1:47 am 
Johannes SchlüterJun 8, 2011 3:04 am 
Hannes MagnussonJun 8, 2011 3:17 am 
Richard QuadlingJun 8, 2011 3:27 am 
Johannes SchlüterJun 8, 2011 3:28 am 
Hannes MagnussonJun 8, 2011 3:30 am 
Johannes SchlüterJun 8, 2011 3:31 am 
Richard QuadlingJun 8, 2011 3:31 am 
Anthony FerraraJun 8, 2011 6:31 am 
Martin ScottaJun 8, 2011 7:42 am 
Martin ScottaJun 8, 2011 7:48 am 
David ZülkeJun 8, 2011 8:53 am 
Johannes SchlüterJul 10, 2011 12:02 pm 
Stas MalyshevJul 10, 2011 12:57 pm 
Hannes MagnussonJul 11, 2011 1:21 am 
Stas MalyshevJul 11, 2011 1:27 am 
Peter CowburnJul 11, 2011 1:37 am 
Hannes MagnussonJul 11, 2011 1:38 am 
Stas MalyshevJul 11, 2011 1:43 am 
Ferenc KovacsMay 27, 2013 10:59 pm 
Peter CowburnMay 27, 2013 11:47 pm 
Ferenc KovacsMay 28, 2013 1:21 am 
Subject:Re: [PHP-DEV] Callable type
From:Stas Malyshev (smal@sugarcrm.com)
Date:Jun 7, 2011 12:12:23 pm
List:net.php.lists.internals

Hi!

It is good there's an RFC. However it seems to lack code examples. I understand it may be obvious to the proposers how it looks like, but it'd be nice to have the actual example there as it is done nearly everywhere else.

The patch introduces new zval type IS_CALLABLE but zval functions weren't updated for it - IIRC at least dtor may end up being called on IS_CALLABLE value produced in the parser.

Note also that this pseudo-type is called "callback" in all of our documentation, which means we have now documentation that says:

bool array_walk ( array &$array , callback $funcname [, mixed $userdata ] )

and type check that says "callable".

Also, it is not clear what would happen if this type check is made against method which is not accessible (e.g. private out of scope). Would it say that the argument is invalid (which would be really confusing since it'd say something like "callable expected, array given" which it technically correct but doesn't explain why this array is not callable) or would allow it? If not, then zend_is_callable error information should be used and displayed. And the tests need to cover these cases, along with __call and __callStatic.

For me personally it makes zero sense that having just removed strict typing we are introducing it back through back door, but if everybody likes it so be it.