Re: Re: php 5 interfaces

From: Date: Thu, 20 Jan 2005 16:41:40 +0000
Subject: Re: Re: php 5 interfaces
References: 1 2  Groups: php.general 
Request: Send a blank email to php-general+get-206846@lists.php.net to get a copy of this message
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

« previous php.general (#206846) next »