Lukas Kahwe Smith wrote:
>
> On 24.09.2008, at 01:17, Guilherme Blanco wrote:
>
>> For those that do not understand very well the explanation of jvlad...
>>
>> He's suggesting to change the class struct to be an scope struct, and
>> have a property that tells if it's a namespace or a class, and reuse
>> the implementation of class which already works very well.
>> The nested support is achieved afai understand through the Adjacency
>> List algorithm... can you confirm this to me?
>
>
> or just leave the organization of things to classes (with long class
> names with a nice prefix to prevent collissions) and leave it to
> class_alias() (and equivalent features for functions .. also with the
> option of a compile time aliasing) to handle the aliasing.
>
> this removes the need for namespaces and use statements, while making it
> possible to make class/function names short (that are long for
> organizational and collision prevention reasons).
Hi,
This approach doesn't work because aliasing with class_alias() does not
allow name conflicts:
<?php
class foo {
function __construct(){echo 'hi',"\n";}}
class_alias('foo', 'XMLReader');
$a = new XMLReader;
?>
results in:
Warning: Cannot redeclare class XMLReader in
/home/cellog/workspace/php5/test.php on line 4
whereas:
<?php
class foo {
function __construct(){echo 'hi',"\n";}}
use ::foo as XMLReader;
$a = new XMLReader;
?>
results in:
hi
Greg
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php