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()
を使用するので、クラス名として指定できるのは
英数字とハイフン ('-')、アンダースコア ('_') そしてピリオド ('.') だけです。