Интерфейс Hashable

(No version information available, might only be in Git)

Введение

Hashable - это интерфейс, который позволяет использовать объекты в качестве ключей. Это альтернатива функции spl_object_hash(), которая вычисляет хеш объекта в соответствии с его обработчиком: это значит, что два объекта могут быть одинаковы по своему состоянию, но не считаются одинаковыми из-за того, что являются разными экземплярами одного класса.

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

Функция equals() используется для определения идентичности двух объектов. Она гарантирует, что два объекта являются одним и тем же экземпляром класса.

Обзор интерфейсов

Ds\Hashable {
/* Методы */
abstract public equals ( object $obj ) : bool
abstract public hash ( void ) : mixed
}

Содержание

  • Ds\Hashable::equals — Определяет, равен ли текущий экземпляр переданному объекту
  • Ds\Hashable::hash — Возвращает скалярное значение для использования в качестве значения хеша