"Andi Gutmans" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED]
> At 10:07 AM 3/15/2004 -0500, Hans Lellelid wrote:
> > ...
> >You must now use self::MY_CONST to reference the class constant.  While I
> >can see that the pre-RC1 behavior would not provide a way to access global
> >constant if class had const of same name ... I figured I'd ask anyway
> >whether this change is intended or a side-effect of some other fix.  I
> >fall into the category of people who were really enjoying not having to
> >specify self:: before (so now I have a lot of code to fix, apparently).
> ...
> I fixed it intentionally. That piece of code was left over from the days of
> our broken namespaces implementation where we would do two lookups. Methods
> were fixed a long time ago but we forgot to remove the old code from constants.
>
> Andi


Well, I guess there is no easy solution, but anyhow, this is still very unfortunate.

The basic "Don't Repeat Yourself" (or "DRY") principle, which could forunately
eliminate the

    function Classname() { // constructor

syntax replacing it with the much cleaner and saner __construct (THANKS!!!),
now fails to prevent creeping in of another sort of harmful hardcoded redundancy
to our code...

I'd say I'd rather pay the price of any double lookup any day than loading my code
with useless duplication of information.

As a cheap and effective compromise, would that be a possible to introduce something
like a

    __thisclass

keyword so that those of us who are concerned about code duplication could avoid
this newly introduced unnecessary repeating of class names when qualifying consts
within the defining class?

This way (writing __thisclass::MYCONST instead of MyParticularClassName::CONST
we could freely decide to favor clean style, or performance, depending on the specific
situation.


Whichever way, thanks very much for your efforts, guys!

The Luna Kid

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

Reply via email to