Re: solving the namespace conflict issues between function/staticmethod class constant/ns constant
| From: | Alexey Zakhlestin | Date: | Mon, 22 Sep 2008 17:42:53 +0000 |
| Subject: | Re: solving the namespace conflict issues between function/staticmethod class constant/ns constant | ||
| References: | 1 2 3 4 5 6 7 8 9 10 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-40603@lists.php.net to get a copy of this message | ||
On Mon, Sep 22, 2008 at 7:45 PM, Lukas Kahwe Smith <mls@pooteeweet.org> wrote:
>
> On 22.09.2008, at 16:37, Dmitry Stogov wrote:
>
>>> Returning to the original debate, if you really believe this conflict is
>>> not an issue, then why was the first user note published last December a
>>> note about this conflict?
>>>
>>>
>>> http://us3.php.net/manual/en/language.namespaces.php#80035
>>
>> I could add nothing. The problem exists, but proposed solution make
>> language even worse. Having A::B->foo() and ->foo() or ::foo() and
>> A::B->C::foo() is much more inconsistent from my point of view.
>> It would be better to change static class separator from :: to ->, but
>> it's a BC break
>
>
> Again, not speaking as an RM, I personally feel we really do have to solve
> this ambiguity problem. I do not agree that this only affects "namespace
> abusers".
>
> That being said we have to stay realistic. What Greg proposes is realistic
> imho. Its essentially reusing an existing OO syntax. The same is what we
> have today with the double colon. While I agree that it would not be my
> natural choice, it seems it solves our real problem of the frequently
> mentioned ambiguity problem. So from that perspetive its a step forward from
> the current syntax.
The syntax proposed by Greg seems ok to me. While it is a bit
"unintuitive" at first, it is easily learnable and does it's work
> I know we are getting dangerously close (or are we already back in it?) to
> the namespace separator discussion. I remember back then a lot of people
> were saying lets get the implementation done first and then worry about the
> syntax. I guess we are more or less at this point now.
--
Alexey Zakhlestin
http://blog.milkfarmsoft.com/