On Thu, 2004-02-26 at 07:49, Andi Gutmans wrote: > At 23:36 25/02/2004 +0100, Timm Friebe wrote: [...] > Guys, > > You are breaking the isA relationship. We fixed this so that from now on, > people will not make such mistakes anymore (I think it's the right way to > go, so that we don't leave broken functionality around).
We do so ourselves:
class Reflection_Function implements Reflector { public __construct(string name) public mixed invoke(mixed* args) }
class Reflection_Method extends Reflection_Function { public __construct(mixed class, string name) public mixed invoke(stdclass object, mixed* args) }
But, of course, the Engine checks are not imposed on internal classes.
It does if the internal extension supplies ARG_INFO.
I'm just saying this is quite a BC break, whether it follows strict OOP rules or not.
Yes, I understand that and I understand why you think it's a problem. The problem with E_STRICT is that people might think they can turn it on with error_reporting() but for this behavior to change (as it's compile time) it needs to be done via php.ini or htaccess.
So I guess if you all prefer this as optional, we'd have to either add yet another INI directive or put it in E_STRICT (which as I mentioned will confuse people who are used to being able to change E_* from their scripts).
Andi
Andi
-- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php