__autoload proposal

From: Date: Sat, 22 Dec 2007 20:43:25 +0000
Subject: __autoload proposal
Groups: php.internals 
Request: Send a blank email to internals+get-34224@lists.php.net to get a copy of this message
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

« previous php.internals (#34224) next »