I see what you're trying to do but not a big fan of how it's being implemented 
in the example given. 

- Mike

Sent from my iPhone

On Oct 20, 2012, at 4:02 PM, Rasmus Lerdorf <ras...@lerdorf.com> wrote:

> On 10/20/2012 01:59 PM, Nikita wrote:
>> Hello, list. I want to propose generics. For those, who don't know what it 
>> is, here's example: say we have a Comment class, that has a method getBody. 
>> Also we have Collection class, that implements Traversable. Now, if I want 
>> to validate all insertions into collection of comments, I would need to 
>> create CommentCollection class, extend it from Collection, and override all 
>> the methods that are dealing with adding new elements to collection. 
>> Moreover, I can't have any hints from my IDE about type of collection's 
>> elements, so if I'll have code like this:
>> foreach ($commentCollection as $comment) {
>>    $comment->getBody();
>> }
>> There will be no way for IDE to know, of what type that object will be.
>> 
>> But there's how I could solve my problem with generics:
>> class Collection<T> implements Traversable
>> {
>>    ...
>>    public function add(T $element){}
>> }
>> $collection = new Collection<Comment>();
>> 
>> $collection->add(new Comment());
>> 
>> $collection->add("that will be error");
>> 
>> Actually, that's, again, all about type hinting. If we went so far with 
>> scalar type hinting, then generics would also be a good addition.
>> 
>> So, what you think?
> 
> Personally I would hate to see this anywhere near PHP.
> 
> -Rasmus
> 
> 
> -- 
> PHP Internals - PHP Runtime Development Mailing List
> To unsubscribe, visit: http://www.php.net/unsub.php
> 

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

Reply via email to