Hello Kevin,

  bla!

Saturday, November 26, 2005, 10:35:51 PM, you wrote:

> The only scripts that would break (far from "trillions") here would be
> those where you had a space-less ternary statement comparing two
> constants (NOT namespace constants -- they don't even exist yet), as
> in the following case:

> define('foo','odd');
> define('bar','even');
> $var = rand() % 2 == 1 ? foo:bar;

> It seems like the solution here would be to give constants a higher
> priority in the symbol table than namespaces, though I certainly don't
> have the knowledge of the code base to make any conclusion as to how
> difficult that might be.

> Personally, I'd rather have namespaces with stupid symbols than no
> namespaces, but my preference would definitely be either single or
> double colons, as would most users, I wager, since that's probably the
> most common namespace symbol in use amongst popular languages that
> support namespaces. The argument that PHP isn't <insert language>
> sounds good on paper, but in practice the language still has to
> conform to some basic expectations when it comes to syntax. There's a
> reason why the -> operator was chosen for member access, there's a
> reason why || and && are used for logic operators, there's a reason
> why the dollar sign is used to declare variables, and there's a reason
> why a semicolon is used to end statements. NS:Class vs NS::Class vs
> NS\Class is largely insignificant at the end of the day, but it's
> better to try to stick to some common symbols that programmers of
> different disciplines will be able to pick up on. PHP isn't taught in
> most universities, and making things even harder for people to pick it
> up seems counter-intuitive.

> People who's "php coding" is limited to editing config files for
> vbulletin and xcart certainly couldn't care less about namespaces, but
> those of us who are writing applications and middleware, as well as
> complex sites, would find the functionality tremendously useful. I'm
> tired of walking on glass worrying about naming conflicts.

> It's easy to say "well, name your classes sensibly!", but the reality
> is that it's totally non-sensical to ask a developer to prefix THEIR
> classes in application code. We're not psychics, we can't guess that
> one day some core developer is going to create a Date class that will
> cause fatal errors in our code. It's not just Date, of course -- it's
> every common name out there. Should I not name a class
> FrontController, because the SPL might implement one later? The list
> goes on and on. The only real solution is to use NON-sensible class
> names (I prefer greek dieties) to guarantee future-proofness.
> Virtually every major application out there, from vbulletin to
> MediaWiki to phpAdsNew has had a major naming conflict with another
> application. Having silly dangly things on every classname / function
> name gets annoying (at best), and is a giant waste of time. We want
> short, concise function and class names, not
> "my_application_html_clean_sessions()" Being able to import a
> namespace that you need with aliases (or even just into the global
> namespace) is a HUGE plus. This is especially true since PHP itself
> doesn't even really follow a naming convention (htmlentities vs
> html_entity_decode, isset vs. is_int and so on and so forth). If the
> core doesn't follow conventions, how can you expect userland code to?

> Even if the namespace patch is something that has to be done as an
> extension, I'd be happy to see it in place. It's a fairly easy task to
> get users to add --with-namespaces to their configure scripts, but
> it's much more difficult to ask them to try to use diff and patch to
> maintain their own builds (much less hand-edit C code).

> --
> 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