> > 2. final classes:
> > final classes can't be extended
>
> already supported

Cannot find it in the docs.
http://www.php.net/manual/en/language.oop5.final.php doesn't seem to have
any comments on that.
I'm not at home at the moment, so i couldn't try, but are you really sure
that final CLASSES are supported?
You're not confusing it with final METHODS, right?


> abstract static methods are already supported

never said php doesn't support it, i just wanted to give some more input on
the rules that would fit for my suggestions.

> > 5. abstract classes can't be defined final
>
> already supported

same as above

>
> static classes would be implementable at the cost of increasing compiler
time.
> To decide whether to think more about it we'd to know a case where you
need
> such syntax, what you win by having it and what you loose if you don't
have
> it.

A good example for a static class imo, would be e.g. PEAR's DB Class. The
DB-Class itself doesn't need to be instantiate,
it simply works as factory and has some functions to check stuff. that'd be
a class that i would define as
"final static class DB {}". The class should not be extended and should not
containt non static methods or attributes. Sure it isn't
a big deal, if ppl are instantiating the DB Class, but it only has static
methods and instantiating it wouldn't make any sense.

Regards, Michael

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

Reply via email to