@artem78

Как реализовать сравнение объектов в php?

Как можно сделать для своего класса возможность сравнения объектов, как, например, это реализовано в классе DateTime? Допустим, у меня есть класс события, у которого есть поле с датой:

<?php
class Event {
	public $time;
	public $title;
	
	public function __construct($time, $title) {
		$this->time = $time;
		$this->title = $title;
	}
}

$ev1 = new Event(new DateTime('2017-10-02'), 'first event');
$ev2 = new Event(new DateTime('2017-10-05'), 'second event');

Хотелось бы сравнивать их таким образом:
if ($ev1 < $ev2) {
	echo $ev1->title . ' is earlier';
}

вместо более громоздкого:
if ($ev1->time < $ev2->time) {
	echo $ev1->title . ' is earlier';
}
  • Вопрос задан
  • 480 просмотров
Пригласить эксперта
Ответы на вопрос 1
@BorisKorobkov Куратор тега PHP
Web developer
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы