动态加载文件和类Zend_Loader类可以帮助你动态加载文件。 Tip
Zend_Loader vs. require_once()
加载文件
静态方法 Example #1 loadFile() 方法范例 Zend_Loader::loadFile($filename, $dirs=null, $once=false);
加载类
静态方法 Example #2 Example of loadClass() method Zend_Loader::loadClass('Container_Tree', array( '/home/production/mylib', '/home/production/myapp' ) ); 类名将会根据下划线(作为目录分隔线)对应到相应目录下的PHP文件,并加上'.php',比如Container_Tree会指向Container\\Tree.php。
如果
如果文件不存在或者文件中相应的类不存在,那么
判定某个文件是否可读
静态方法 Example #3 isReadable()示例: if (Zend_Loader::isReadable($filename)) { // do something with $filename }
使用 Autoloader
Example #4 注册 autoloader callback 方法范例 Zend_Loader::registerAutoload();
注册 Zend Framework autoload callback 后,可以不需要显式加载就可以从 Zend Framework 引用那些类。当应用一个类,
如果继承 Example #5 从继承类注册 autoload callback 方法范例
因为在 PHP 中静态函数引用的语义,你必须实现 class My_Loader extends Zend_Loader { public static function loadClass($class, $dirs = null) { parent::loadClass($class, $dirs); } public static function autoload($class) { try { self::loadClass($class); return $class; } catch (Exception $e) { return false; } } } Zend_Loader::registerAutoload('My_Loader');
你可以删除 autoload callback,
|
|