Re: Internal iteration API

From: Date: Fri, 13 Jul 2012 00:32:28 +0000
Subject: Re: Internal iteration API
References: 1 2 3 4 5  Groups: php.internals 
Request: Send a blank email to internals+get-61191@lists.php.net to get a copy of this message
On 13/07/12 01:04, Matthew Weier O'Phinney wrote: > On 2012-07-12, Sara Golemon <pollita@php.net> wrote: >> --e89a8f235453d7a80104c4975c55 >> On Wed, Jul 11, 2012 at 5:39 PM, Anthony Ferrara <ircmaxell@gmail.com>wrote: >>> One thing to keep in mind when doing this is to think about consistency. >>> I think that's a huge point not to be taken lightly. For that reason, I >>> think that this API should not be used for any of the array_* functions. >>> Meaning that array_sum(), etc should all take arrays only. >>> >>> Then, other non-array functions (such as str_replace, etc) can be modified >>> to use this new method. >>> >>> Just my $0.02 anyway... >>> >> Sounds like everyone agrees the API is useful, just question marks over >> which existing methods should profit by it. >> >> To add my $0.02, it'd be nice to work in a zend_parse_parameters() type for >> this. Keep extension code clean and ensures any temporary iterators get >> destructed. > Another note: if this comes to fruition, since arrays and traversable objects > would in many cases be interchangeable, it would be nice to have a type-hint for > "array-like" behavior: > > function doSomething (ArrayLike $options) { ... } > > A better name could likely be used, but you get the idea. > What about extending the array typehint include ArrayAccess, and extend the Traversable typehint to include arrays?

« previous php.internals (#61191) next »