On Sat, Sep 17, 2011 at 11:39 PM, Richard Quadling <rquadl...@gmail.com> wrote:
> My question was due to the documentation commit
> http://news.php.net/php.doc.cvs/8818 and
> http://news.php.net/php.doc.cvs/8819.
Just to clarify (as I'm not sure you got that change right): PHP has
enforced signatures for methods defined in abstract classes already
before 5.4. ("Enforce" doesn't mean that it's equal. The inheriting
class can for example define further optional arguments. Or change
default values.) But constructors were excluded from this for some
reason. As of 5.4 constructors are handled the same way as other
methods. So, in 5.4 nothing fundamental was changed, only constructors
were adjusted to be handled like any other function.

In my eyes this makes sense. Abstract methods define method
signatures, just like interfaces do. So they should be enforced as
such.

(The thing about the new E_STRICT warning with normal classes is a
very different thing. That behavior doesn't make any sense to me.)

Nikita

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

Reply via email to