新しいアプリケーションを最初から開発していて、ファイルを再帰的に自動ロードする必要があります。ただし、ZendFrameworkのような名前空間を使用する必要があります。
たとえば、ファイル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 );
}
}