我想知道是否有任何方法可以使用 Zend Autoloader 从特定目录和子目录加载所有文件?
我正在尝试包含 Zend 之外的其他库,例如 JSTree。
问问题
606 次
2 回答
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();
于 2011-08-22T09:48:11.650 回答
0
如果这些库是 PSR-0 兼容的,您可以使用
Zend_Loader_Autoloader::getInstance()->setFallbackAutoloader(true);
这将使 Zend 加载任何未知的类(在 Some/Class.php 中寻找 Some_Class)。
于 2012-09-16T23:40:30.157 回答