43 lines
1.8 KiB
PHP
43 lines
1.8 KiB
PHP
<?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;
|
||
} |