How about "import" statements?
The had effect on current file. How they will behave with your patch?
The import in one namespace will affect following namespaces... :)

Also this change is inconsistent with renaming "namespace" to "package".

Thanks. Dmitry.


> -----Original Message-----
> From: Gregory Beaver [mailto:[EMAIL PROTECTED] 
> Sent: Monday, August 20, 2007 11:57 PM
> To: internals Mailing List; Dmitry Stogov; Stanislav Malyshev
> Subject: [PHP-DEV] [PATCH] allowing multiple namespaces per 
> file plus namespaces with brackets
> 
> 
> 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

Reply via email to