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

Reply via email to