Інтерфейс 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— Повертає скалярне значення для використання як значення хешу