Re: Simple Namespace Proposal

From: Date: Thu, 05 Jul 2007 13:17:32 +0000
Subject: Re: Simple Namespace Proposal
References: 1 2  Groups: php.internals 
Request: Send a blank email to internals+get-30456@lists.php.net to get a copy of this message
On 7/5/07, Stefan Priebsch <stefan.priebsch@e-novative.de> 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

« previous php.internals (#30456) next »