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