|
Posted by Sergio Gorelyshev on 01/20/05 18:41
On Thu, 20 Jan 2005 16:39:21 +0100
"M. Sokolewicz" <tularis@php.net> 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
Navigation:
[Reply to this message]
|