我想知道是否有办法使用Zend Autoloader加载特定目录和子目录中的所有文件?
我正在尝试在Zend旁边包含其他库,例如JSTree。
答案 0 :(得分:2)
刚刚找到SPL的RecursiveDirectoryIterator。这可能是一个更好的选择。
Zend Framework没有特定的东西,但你可以看一下PHP SPL的DirectoryIterator。
您可以像这样使用它:( 未经测试)
class My_DirectoryIterator extends DirectoryIterator
{
/**
* Load every file in the directory and it's sub directories
* It might be a good idea to put a limit on subdirectory iteration so you don't disappear down a black hole...
* @return void
*/
public function loadRecursive()
{
foreach ($this as $file) {
if ($file->isDir() || $file->isLink()) {
$iterator = new self($file->getPathName());
$iterator->loadRecursive();
} elseif ($file->isFile()) {
// Might want to check for .php extension or something first
require_once $file->getPathName();
}
}
}
}
// Load them all
$iterator = new My_DirectoryIterator('/path/to/parent/directory');
$iterator->loadRecursive();
答案 1 :(得分:0)
如果这些库是PSR-0编译的,你可以使用
Zend_Loader_Autoloader::getInstance()->setFallbackAutoloader(true);
这将使Zend加载任何未知的类(在Some / Class.php中查找Some_Class)。