Re: Declaration of Bar::__construct() must be compatible with that of Foo::__construct()

From: Date: Thu, 26 Feb 2004 07:03:15 +0000
Subject: Re: Declaration of Bar::__construct() must be compatible with that of Foo::__construct()
References: 1  Groups: php.internals 
Request: Send a blank email to internals+get-8152@lists.php.net to get a copy of this message
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. I'm just saying this is quite a BC break, whether it follows strict OOP rules or not. - Timm

« previous php.internals (#8152) next »