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

Reply via email to