An interface is a public contract that describes the behaviour of an object.
If you're not using interfaces in that way, you're doing something
fundamentally wrong.

--Wez

On 11/16/05, Jochem Maas <[EMAIL PROTECTED]> wrote:
> why does the engine care about the visibility of interface methods I declare?
> I understand the argument that interface methods only have 'meaning' when 
> applied
> as public methods of objects - but thats rather academic and personally I can
> think of useful ways to abuse interfaces using protected methods at the very 
> least
> why am I not allowed to do this just because someone decided that its not 
> correct?
>
> and given that I can implement a non-static method without using $this or any 
> other symbol/code
> related to the instantiated object (effectively creating a static method) 
> which I can
> call using static notation why not allow static interface methods?
>
> also I noticed that using the keyword 'abstract' with a interface method 
> declaration
> is all of a sudden (5.1RC5dev) causing a fatal error where before (5.0.2 - 
> 5.0.4)
> no error what so ever.
>
> If 'static', 'protected', 'private' are not allowed with interfaces (very 
> unpragmatic imho)
> then why the fatal errors? why not an E_STRICT and just ignore those 
> declaration... especially
> because not declaring a method static and leaving off the visibility leaves 
> you with a
> method that is non-static and public - exactly what an interface 'requires'.
>
> rgds,
> Jochem
>
> ----
>
> some might ask why I am asking - well the motive is quite simple:
>
>         "I try to stay on top of php developments, trying out to the best of 
> my
>          abilities new features whenever I see an opportunity. partly for 
> fun, partly
>          to be able to encourage/help others to step up to the php5 plate. 
> lately I
>          _feel_ I am being punished more and more for trying to keep abreast 
> due to BC breaks
>          (some of which, I realise, are very much required) and more 
> annoyingly abitrary
>          changes in behaviour."
>
> --
> PHP Internals - PHP Runtime Development Mailing List
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>

--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to