I proposed something similar recently in the PHP-FIG group, but decided that 
without the language-level ability to overload comparison operators, 
standardizing comparables ony using methods was not very useful. If PHP could 
provide a magic method for comparison that involved being able to use 
comparison operators, I think this feature would be really useful.

An example that comes to mind is a Money class:

$pesos = new Money(200, Money::PESO);
$dollars = new Money(100, Money::US_DOLLAR);
var_dump($pesos < $dollars);

Then, the Money class could take care of normalizing and comparing the values. 
Food for thought...

-- Jake

On May 7, 2013, at 1:15 PM, Stuart Langley <slang...@google.com> wrote:

> Classes without the ability to overload the comparison operator could be
> considered kinda useless as well.
> 
> 
> On Tue, May 7, 2013 at 11:11 AM, Daniel Ribeiro <drgom...@gmail.com> wrote:
> 
>> Its kinda useless feature for PHP.
>> 
>> 
>> Daniel Ribeiro Gomes Pereira
>> Twitter <https://twitter.com/#!/drgomesp> |
>> Facebook<https://www.facebook.com/profile.php?id=100000407054469>
>> | LinkedIn <http://www.linkedin.com/pub/daniel-ribeiro-gomes/21/414/39>
>> iPhone: +55 (48) 9111-0931
>> 
>> 
>> 2013/5/7 Nikita Popov <nikita....@gmail.com>
>> 
>>> On Tue, May 7, 2013 at 6:17 PM, Thomas Anderson <zeln...@gmail.com>
>> wrote:
>>> 
>>>> It'd be nice if, when doing $objA > $objB, that that'd invoke
>>>> $objA->__compareTo($objB) or something, much like Java's Comparable
>>>> interface.
>>>> 
>>> 
>>> Do you have examples of what this would be useful for? The two things
>> that
>>> come to mind are DateTime (which can do this anyway as it's an internal
>>> class) and classes for bignums or something like that (which are probably
>>> also better implemented internally). So I'm not sure how much use there
>> is
>>> for this.
>>> 
>>> Nikita
>>> 
>> 


--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to