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