I have a proposal for prototype of __autoload function in PHP 5.3.0. In this version of PHP namespaces will be available. Prototype of __autoload could look like this:
__autoload($classname, $namespace = null); Now __autoload have only one argument which is a name of searched class. Second argument could be a namespace where class is searched. It should have default value for backward compatibility. For example: <?php namespace Space1::Space2; class A { public function Test() { $b = new B; // Class B isn't known at this moment } } ?> When user try to create new object of unknown class B __autoload function should be called with parameter $classname = 'B' and $namespace = 'Space1::Space2' but int this example: <?php namespace Space1::Space2; class A { public function Test() { $b = new Space3::Space4::B; // Class B isn't known at this moment } } ?> Arguments should be: $classname = 'B' and $namespace = 'Space3::Space4'; I think it is the most flexible solution. It allows to create very useful and effective mapping mechanisms. -- Wojciech Ma³ota -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php