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

Reply via email to