0

Zend Autoloader を使用して、特定のディレクトリとサブディレクトリからすべてのファイルをロードする方法があるかどうか疑問に思っていましたか?
JSTree などの Zend 以外のライブラリを含めようとしています。

4

2 に答える 2

2

アップデート

SPL のRecursiveDirectoryIteratorが見つかりました。それはより良い選択肢かもしれません。


Zend Framework 固有のものは何もありませんが、PHP SPL のDirectoryIteratorを見ることができます。

次のように使用できます: ( untested )

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 に答える