Поддерживает ли php перегрузку операторов?

Поддерживает ли php перегрузку операторов?

Я пытаюсь создать класс, который принимает дату, и я хотел бы сравнить ее с другим объектом, не используя методы или свойства.

Вот что я пытаюсь сделать:

$obj1 = new myClass('2016-08-15');
$obj2 = new myClass('2016-02-06');

if ($obj1 > $obj2){
...
}

Я знаю, как сделать сравнение дат, все, что мне нужно знать, это как перегрузить операторы>, < и ==.

Благодарю.

0

Решение

PHP не поддерживает перегрузку операторов.

Существует древнее расширение, которое позволило сделать это способом, похожим на python. Вы можете найти это Вот.

При этом ваша лучшая ставка в настоящее время — просто использовать обычные методы для сравнения.

1

Другие решения

Интерпретация PHP «перегрузки» отличается от большинства объектно-ориентированных языков. Традиционно перегрузка дает возможность иметь несколько методов с одинаковыми именами, но с разными количествами и типами аргументов.

Я надеюсь, что эта ссылка поможет вам понять концепцию,

http://php.net/manual/en/language.oop5.overloading.php

0

По вопросам рекламы [email protected]