On Thu, 20 Jan 2005 16:39:21 +0100 "M. Sokolewicz" <tularis@xxxxxxx> wrote: > Sergio Gorelyshev wrote: > > Hi all. > > > > Situation: > > > > interface MyInterface { > > public static myMethod(); > > } > > > > class MyClass implements MyInterface { > > public static myMethod() {} > > } > > > > This sample will crash with message > > Fatal error: Access type for interface method MyInterface::myMethod() must be omitted in somefile.php on line NN > > > > Why I'm not able to clarify call's type (static) for methods in interface? I'm predict closely that method myMethod() in all classes which implements MyInterface must be called statically. A little trick allowed to me to resolve this problem, but my question more ideological than practical. > > > > Thanks > it's not the static part, it's the public part. You can't make > non-public static methods. It's simply impossible by the definition of > protected and private (both allow only the object itself to access it, > or (in case of protected) a descendent). > > So, removing the public part should work out fine. > I'm confused. Construction like that: <?php interface MyInterface { public static function myMethod(); } class MyClass implements MyInterface { public static function myMethod() {} } MyClass::myMethod(); ?> fork fine when i'm fetched it from my framework. But it's crashes inside framework with previous message. > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > -- RE5PECT Sergio Gorelyshev -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php