Інтерфейс Hashable

(PECL ds >= 1.0.0)

Вступ

Hashable - це інтерфейс, який дозволяє використовувати об'єкти як ключі. Це альтернатива функції spl_object_hash(), яка обчислює хеш об'єкта відповідно до його обробником: це означає, що два об'єкти можуть бути однакові за своїм станом, але не вважаються однаковими через те, що є різними екземплярами одного класу.

Функцияhash() використовується для обчислення скалярного значення, що характеризує хеш об'єкта та визначає його положення в хеш-таблиці. Хоча це значення необов'язково має бути унікальним, однакові об'єкти повинні мати те саме значення хеша.

Функцияequals() використовується визначення ідентичності двох об'єктів. Вона гарантує, що два об'єкти є одним і тим самим екземпляром класу.

Огляд інтерфейсів


    interface Ds\Hashable {

    /* Методы */
    
   abstract public equals(object $obj): bool
abstract public hash(): mixed

   }

Зміст

  • Ds\Hashable::equals— Визначає, чи дорівнює поточний екземпляр переданому об'єкту
  • Ds\Hashable::hash— Повертає скалярне значення для використання як значення хешу