2015-08-03 16:10 GMT+03:00 Etienne Kneuss <col...@php.net>: > As for PHP, It seems like what people actually want is a unique identifier > for objects (for the lifetime of the request), but they compromise and use > the handle instead as it is available without userland counter.
Probable, there is no actual need for that (to have a unique identifier for each object). Reasons are following: unique identifier is not reliable (depends on the object creation sequence, can be reused later), not predictable (it's not possible to say that one object is the same with another one, which was present in a previous request). Only the case I can see is to store multiple objects in the one list for several reasons (e.g. mediators, etc). But it isn't a task for the core to generate a unique identifer for each object, it's a task for developer to implement this, otherwise it's still unclear, how to compare different objects (for example, during comparison of unserialized objects and an existing one, which can have a different internal object ID). Implementation of Hashable interface can give an answer to that: two objects can be considered equal if they have a same hash code, for example, sha1(json_encode(get_object_vars($this)));