(PECL ds >= 1.0.0)
Hashable est une interface qui permet aux objets d'être utilisés comme clés. C'est une alternative à spl_object_hash(), qui détermine le hachage d'un objet en fonction de son identifiant : cela signifie que deux objets considérés comme égaux par une définition implicite ne seraient pas traités comme égaux car ils ne sont pas la même instance.
hash() est utilisée pour retourner une valeur scalaire à utiliser comme valeur de hachage de l'objet, qui détermine où il va dans la table de hachage. Bien que cette valeur n'ait pas à être unique, les objets qui sont égaux doivent avoir la même valeur de hachage.
equals() est utilisée pour déterminer si deux objets sont égaux. Il est garanti que l'objet de comparaison sera une instance de la même classe que le sujet.