Edit report at http://bugs.php.net/bug.php?id=52528&edit=1
ID: 52528 Comment by: jackohman at eugama dot com Reported by: giorgio dot liscio at email dot it Summary: request for interface hashCode (Identifiable) Status: Open Type: Bug Package: Class/Object related Operating System: irr PHP Version: Irrelevant Block user comment: N New Comment: would be really nice having the possibility to use different output strings, one for readability, one for unique identify an object class ArrayObject implements Identifiable { function hashCode(){return spl_object_hash($this);} function __toString(){return json_encode($this);} } $obj = new ArrayObject(); $myarr[$obj] = (String)$obj; very nice, i'm voting it Previous Comments: ------------------------------------------------------------------------ [2010-08-03 23:05:24] giorgio dot liscio at email dot it Description: ------------ i, i hope to see something like this in future php releases interface Identifiable { public function /*string*/ hashCode(); } class Test implements Identifiable { public function hashCode(){return spl_object_hash($this);} } method hashCode() should be called in these contexts: $myarr[new Test()] = "test"; $myarrobj->{new Test()} = "test"; and manually inside: function method(Identifiable $instance){}; the hash should be obtained by calling $obj->hashCode() if it is Identifiable or $obj->scalarValue() if it implements ScalarAccess $obj->__toString() if it has method __toString or, finally throw an error what do you think about this? thank you ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/bug.php?id=52528&edit=1