1.3. Zend::loadClass()
前のページ | 第1章 Zend | 次のページ

## 1.3. Zend::loadClass()

`Zend::loadClass($class, $dirs)` は、 PHP ファイルを読み込んで、クラスが存在するかどうかを確かめます。

    <?php

    Zend::loadClass('Container_Tree', array('/home/production/mylib', (/home/production/myapp')));

    ?>

まず `$class` をパス階層に変換します。 つまり、アンダースコアをパス区切り文字に変換します。 その後、この階層が `$dirs` の各要素の後に追加されます。 `$dirs` が `null` の場合は、その結果はひとつの階層だけとなります。 たとえば、`Container_Tree` は `Container/Tree.php` となります。 `/home/production/mylib/Container/Tree.php` が存在した場合は、それを読み込みます。 存在しなければ、次に `/home/production/myapp/Container/Tree.php` を探し、見つかった場合にそれを読み込みます。それでも見つからなかった場合は、 PHP のインクルードパスから `Container/Tree.php` を探します。

`$dirs` に文字列あるいは配列を指定すると、 指定した順にそのディレクトリを探します。そして最初に見つかったファイルを読み込みます。 ディレクトリ `$dirs` にファイルがみつからない場合は、PHP の include_path を用いて `include` 文で読み込みます (つまり `include 'Tree.php'`) となります。

ファイルが見つからない場合、あるいは読み込んだファイルにクラスが存在しない場合は `Zend_Exception` をスローします。読み込みには `Zend::loadFile()` を使用するので、クラス名として指定できるのは 英数字とハイフン ('-')、アンダースコア ('_') そしてピリオド ('.') だけです。

前のページ | 上に戻る | 次のページ
1.2. Zend::loadFile() | ホーム | 1.4. Zend::isReadable()