43 lines
1.8 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
namespace goodboyalex\php_components_pack\interfaces;
/**
* Интерфейс, указывающий, что класс можно сравнивать.
*
* @author Александр Бабаев
* @package freecms
* @version 0.1
* @since 1.2
*/
interface IComparable
{
/**
* Сравнивает объекты текущего класса с другим, переданным в <code>$other</code>.
*
* @param mixed $other Второй класс для сравнения.
*
* @return int Возвращает результат сравнения. <code>0</code>, если GUID равны, <code>-1</code>, если текущий GUID
* меньше, чем второй и <code>1</code>, если текущий GUID больше другого.
*/
public function CompareTo (mixed $other): int;
/**
* Сравнивает на равенство текущий класс с другим, переданным в <code>$other</code>.
*
* @param mixed $other Второй класс для сравнения.
*
* @return bool Результат сравнения: <code>true</code>, если оба класса равны и <code>false</code>, если нет.
*/
public function IsEqualsTo (mixed $other): bool;
/**
* Сравнение объектов по указанному свойству.
*
* @param string $propertyName Название свойства для сравнения.
* @param mixed $other Объект для сравнения.
*
* @return int Результат сравнения: <code>-1</code>, <code>0</code> или <code>1</code>.
*/
public function CompareByProperty (string $propertyName, mixed $other): int;
}