php是否支持运营商重载?
我正在尝试创建一个接受日期的类,我想将它与另一个对象进行比较,而不必使用方法或属性。
这就是我要做的事情:
$obj1 = new myClass('2016-08-15');
$obj2 = new myClass('2016-02-06');
if ($obj1 > $obj2){
...
}
我知道如何进行日期比较,我需要知道的是如何重载运算符>,<和==。
感谢。
答案 0 :(得分:1)
答案 1 :(得分:0)
PHP对"重载"的解释与大多数面向对象的语言不同。传统上,重载提供了具有相同名称但不同数量和类型的参数的多个方法的能力。
我希望此链接可以帮助您理解概念,
答案 2 :(得分:0)
您可以使用 pecl-php-operator
来重载运算符。
git clone https://github.com/php/pecl-php-operator
cd pecl-php-operator
phpize
./confiure
make && make install
echo "extension=operator.so" > /etc/php/7.2/mods-available/operator.ini
ln -s /etc/php/7.2/mods-available/operator.ini /etc/php/7.2/cli/conf.d/20-operator.ini
ln -s /etc/php/7.2/mods-available/operator.ini /etc/php/7.2/fpm/conf.d/20-operator.ini
service php7.2-fpm reload