Я разрабатываю новое приложение с нуля, и мне нужно рекурсивно автоматически загружать файлы. Однако мне нужно использовать пространство имен, такое как Zend Framework.
Например, LibraryName_Http_Request
загрузит LibraryName/Http/Request.php
файл. Что бы я ни пробовал, я могу использовать класс LibraryName_Http_Request
только в том случае, если назову файл LibraryName_Http_Request.php
.
Я не могу понять, как изменить свой код, чтобы я мог загружать файлы классов в том же стиле Zend...
Вот мой код:
class Autoloader
{
public function __construct()
{
spl_autoload_register( array( $this, 'autoload' ) );
}
public function autoload( $class )
{
$iterator = new RecursiveDirectoryIterator( LIBRARY_PATH );
foreach( new RecursiveIteratorIterator( $iterator ) as $file=>$meta ) {
if( ( $class . '.php' ) === $meta->getFileName() ) {
if( file_exists( $file ) ) {
require_once $file;
}
break;
}
}
unset( $iterator, $file );
}
}
Zend_Loader_Autoloader
и регистрировать нужные вам пространства имен? - person b.b3rn4rd   schedule 12.09.2012