Sheez, guys, slow down a tad. Just because he says "no performance penalty" in the description, doesn't make it true. Unless I missed something in the patch, I don't see how I would resolve the symbols at compile-time now which means it has been moved to the executor and in doing so it implies a huge performance penalty.
-Rasmus Jani Taskinen wrote: > This is the wrong way to do things around here. > If you want something in, just commit and ignore the noise on this list. > > --Jani > > [EMAIL PROTECTED] kirjoitti: >> Thanks. someone please commit that as fast as posible so no one can >> say anything >> >> ;-) >> >> On 8/20/07, Gregory Beaver <[EMAIL PROTECTED]> wrote: >>> Hi all, >>> >>> This patch is also available at >>> http://pear.php.net/~greg/namespace.patch.txt >>> >>> The patch adds the syntax "namespace { *stuff }" and allows multiple >>> namespaces per file with no performance penalty or added complexity as >>> only 4 lines of code need to be changed, and 9 lines of code added to >>> implement this support! >>> >>> Basically, there is one use case of multiple namespaces per file that >>> the patch is designed to support, which is the ability to cram many >>> files into a single file. I have done this for purposes of distributing >>> things (prior to phar), it is used by some with phing tasks for >>> performance reasons, and can have other uses as well. >>> >>> The patch provides the ability to do this, for example: >>> >>> <?php >>> namespace One { >>> require_once 'blah.php'; >>> class MyClass extends blah >>> { >>> function test() >>> { >>> echo "OK\n"; >>> } >>> } >>> function test() >>> { >>> echo "OK\n"; >>> } >>> } >>> >>> namespace Two { >>> class MyClass >>> { >>> function test() >>> { >>> echo "OK\n"; >>> } >>> } >>> function test() >>> { >>> echo "OK\n"; >>> } >>> } >>> ?> >>> >>> Note that the old format "namespace OneRingToRuleThemAll;" is still >>> fully supported, and should be the recommended format, as build tools >>> can easily take an entire file, change namespace .*; into namespace .*{ >>> and append <?php } ?> to the end of the file. >>> >>> The attached patch is against php6, but as you can see, a blind monkey >>> could port it to PHP_5_3 when the time comes. All of the introduced >>> changes are now tested, including the error message for nested namespace >>> declarations, and the error message for multiple namespace declarations >>> with ; (which was previously untested by .phpt tests) >>> >>> Thanks, >>> Greg >>> >> >> > -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php