Hello Matt,

  bla!

Saturday, November 26, 2005, 10:19:18 PM, you wrote:

> Hi, I've been following your conversations all day and think I might
> have a nice idea for the namespace separator idea. Sorry to barge in
> on your conversation but I think the following has value.

> What about something like <- or <:: or even just <:

> It makes sense to me because a namespace is akin to a parent of the
> class and in a diagram I would use an arrow to point to the parent
> from the child. At least there is some type of parent <- child
> relation.

> examples:
> Namespace <:: ClassName
> or
> Namespace <- ClassName
> or
> Namespace <: ClassName

> Unless I'm missing something these symbols should not conflict with
> other ones. They also have more a PHP "feel".

> This is the most semantically pleasing for me and it mirrors a common
> convention and represents the actual relationship. In the language it
> is nice when the symbols have an appearance representative of the
> actual relationship.

> When I see \ I think of ugly Windoze file paths. Also ::: seems awkward 
> somehow.

> Matt.

> On 11/26/05, Jessie Hernandez <[EMAIL PROTECTED]> wrote:
>> I personally don't like any of these, but I just thought of this one:
>> "%%". Don't think it'll cause any problems at all, and look at the code:
>>
>> <?php
>> $a = new name1%%name2;
>> $b = name1::name2; // I see the difference clearly
>> ?>
>>
>>
>> What do you think? ":::" is more intuitive for me, but "%%" is an
>> acceptable alternative...
>>
>>
>> Regards,
>>
>> Jessie
>>
>>
>> Greg Beaver wrote:
>> > Hi all,
>> >
>> > I have only one caveat with the \ separator, which is that it is a
>> > little bit too similar to division with /, and can result in some
>> > confusing code like:
>> >
>> > <?php
>> > namespace name1 {
>> >     class name2{}
>> > }
>> > define('name1', 1);
>> > define('name2', 2);
>> >
>> > $a = new name1\name2;
>> > $b = name1/name2;
>> > ?>
>> >
>> > The same issue exists with all colon based separators (that sounds bad
>> > when read the wrong way...) because of the ternary operator, and :: with
>> > static classes/methods.
>> >
>> > <?php
>> > namespace name1 {
>> >     class name2{}
>> > }
>> > define('name1', 1);
>> > define('name2', 2);
>> > // this may be a parse error with the current namespace patch,
>> > // but need not be if we use ->
>> > class name1
>> > {
>> >     const name2 = 1;
>> > }
>> >
>> > $a = new name1:::name2;
>> > $b = name1::name2; // do you see the difference?  I get confused
>> > ?>
>> >
>> > What about using the T_OBJECT_OPERATOR?  This is a parse error in
>> > existing versions, and also implies some separation.
>> >
>> > <?php
>> > namespace name1 {
>> >     class name2{}
>> > }
>> > define('name1', 1);
>> > define('name2', 2);
>> > // this may be a parse error with the current namespace patch,
>> > // but need not be if we use ->
>> > class name1
>> > {
>> >     const name2 = 1;
>> > }
>> >
>> > $a = new name1->name2;
>> > $b = name1::name2;
>> > ?>
>> >
>> > I also proposed on IRC using \\ as this is similar to netware driver
>> > separators:
>> >
>> > <?php
>> > define('name1', 1);
>> > define('name2', 2);
>> >
>> > $a = new name1\\name2;
>> > $b = name1/name2;
>> > ?>
>> >
>> > However, I know Andrei hated this :).  I very much prefer the use of ->,
>> > as this has the same advantage as :: of "rhyming" with current syntax.
>> >
>> > Greg
>>
>> --
>> PHP Internals - PHP Runtime Development Mailing List
>> To unsubscribe, visit: http://www.php.net/unsub.php
>>
>>


> --
> -- Matt Friedman

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



Best regards,
 Marcus

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

Reply via email to