Re: [Fwd: Re: [PHP] php 5 interfaces]
| From: | Sergio Gorelyshev | Date: | Fri, 21 Jan 2005 11:41:29 +0000 |
| Subject: | Re: [Fwd: Re: [PHP] php 5 interfaces] | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-206921@lists.php.net to get a copy of this message | ||
On Fri, 21 Jan 2005 11:56:55 +0100
Jochem Maas <jochem@iamjochem.com> wrote:
> Tbird switched the reply and reply-all buttons again ;-)...
>
> > ?>
> > IMHO its normally to use access type for methods declaration in interfaces. Why not?
> > Maybe my first example was not sufficiently illustrative. But my question was "why it
> > does not work in one environment and work fine in another".
>
> it worked for a while because it was originally overlooked, then they
> 'fixed' it. -- you may not agree with the devs.
>
> > The problem has acquired when i try to add "static" in my interface definition.
> > I don't think that this is a bug in PHP.
> > I just want to be deep insight in OOP of PHP5 engine.
> >
>
> your right, its not a bug - although some have argued that its Sucks(tm).
>
> in short it was decided by the devs that interfaces are not meant for
> static classes, they only apply to objects - which is why 'static' is
> not (no longer) allowed on interface methods. if you want to know more
> then digging into the php internals mailing list archives will give you
> long discussions and justifications as to why it works they way it does.
>
> if you think about it you can see where they are coming from: passing
> around classes (i.e. classNames) and then checking whether said class
> implements something is really odd, instead you pass around objects.
>
> or more simply:
>
> class == blueprint
> object == house
>
> you can interface with a house (lets hope your house IMPLEMENTS a door
> interface!) but you can't interface with a blueprint (possibly with the
> piece of paper it may be printed on but not with the actual blueprint)
> because the blueprint is an idea/concept.
>
> hope that helps you to understand the rationale.
Thanks. This really helped me to understand php developer's way of thinking.
> rgds,
> JOchem
>
> >
>
> ...
>
> >
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
--
RE5PECT
Sergio Gorelyshev