On 7/5/07, Stefan Priebsch <[EMAIL PROTECTED]> wrote:
Hi Dmitry,
thanks for your clarifications. I like your concept very much, as a PHP
user, however, I am a little concerned about some ambiguities your
concept introduces. I feel this might be a source of error for many
programmers, especially less experienced ones.
Well about time people start learning no ? With good explanations
(manual (wink)) I think even the starter could understand this
concept. If they could also step on some other concept at the same
time that'll give them both more experience and code quality.
> In any case you won't use classes and namespaces with the same full names.
IMHO this should be a fatal error, at least a warning (something like
"potential ambiguity between funtion foo() in namespace a and abstract
method foo() in class a". Otherwise adding to an existing program could
inadvertedly alter its behaviour.
> Right. You can have namespace UTF8 and function strlen() in it.
This kind of "overriding" would make an interesting feature! However, if
a programmer creates - by coincidence - a method with the name of an
built-in PHP function, he alters the program's behaviour; from another
point of view, this is something that should be forbidden, as I think it
could be a source of hard-to-find errors.
I would probably be in favor of throwing a notice or a warning when
someone modifies a built-in function (or even throw an exception) and
that way as soon as you do such thing you would know right away that
you modified something and you would know where the modification
happened which would make things much easier for people developing and
debugging applications.
Kind regards,
Stefan
--
>e-novative> - We make IT work for you.
e-novative GmbH - HR: Amtsgericht München HRB 139407
Sitz: Wolfratshausen - GF: Dipl. Inform. Stefan Priebsch
http://www.e-novative.de
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php
--
David Coallier,
Founder & Software Architect,
Agora Production (http://agoraproduction.com)
51.42.06.70.18
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php