> On Oct 30, 2014, at 2:13 AM, Christian Stoller <stol...@leonex.de> wrote:
> 
> 
> From: Alexander Lisachenko [mailto:lisachenko...@gmail.com], Sent: Monday, 
> October 27, 2014 11:18 AM
> 
>> Hello, internals!
>> 
>>> The name __hash is not final, I am open to using __toKey instead or any
>>> reasonable alternative, we may also include a couple of options in the
>>> vote if that will be a point of disagreement.
>> 
>> I like this idea with custom hash implementation because spl_object_hash()
>> is not reliable when objects are quickly created/destroyed, so hashes can
>> be the same for several different objects. However, will it be better to
>> introduce an interface for that? For example, Hashable can be a good name
>> (like Traversable one). Default implementation then can be a simple trait
>> that will be added later to the concrete class.
> 
> 
> I like the idea introducing an interface for this functionality, instead
> of adding a further magic method. But I think anything like "hash" or
> "hashable" is confusing for users.

The magic method is more of a PHP approach while an interface would be more 
appropriate.  That said, this RFC is a true representation of a hash vs 
something like spl_object_hash.  That’s what causes user confusion.  
spl_object_hash would’ve been better served as a name like spl_object_id or 
spl_object_hash_id.  Something that indicates uniqueness regardless of the 
values of a particular object.

> 
> Maybe something like 
> 
> interface ArrayKeyConvertable
> {
>    function toArrayKey();
> }
> 
> 
> Christian


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

Reply via email to