11.3. The Yaf_Loader class
优质
小牛编辑
131浏览
2023-12-01
简介
Yaf_Loader类为Yaf提供了自动加载功能, 它根据类名中包含的路径信息实现类的定位和自动加载.
Yaf_Loader也提供了对传统的require_once的替代方案, 相比传统的require_once, 因为舍弃对require的支持, 所以性能能有一丁点小优势.
在PHP5.3之后, 打开yaf.use_namespace的情况下, 也可以使用Yaf\Loader.
final Yaf_Loader {属性说明protected static Yaf_Loader
_instance
;protected string
_library_directory
;protected string
_global_library_directory
;protected string
_local_ns
;public static Yaf_Loader getInstance ( string $local_library_directory = NULL , string $global_library_directory = NULL );
public Yaf_Loader registerLocalNamespace ( mixed $namespace );
public boolean getLocalNamespace ( void );
public boolean clearLocalNamespace ( void );
public boolean isLocalName ( string $class_name );
public static boolean import ( string $file_name );
public boolean autoload ( string $class_name );
}
_instance
Yaf_Loader实现了单利模式, 一般的它由Yaf_Application负责初始化. 此属性保存当前实例
_library_directory
本地(自身)类加载路径, 一般的, 属性的值来自配置文件中的ap.library
_global_library_directory
全局类加载路径, 一般的, 属性的值来自php.ini中的ap.library
_local_ns
本地类的类名前缀, 此属性通过Yaf_Loader::registerLocalNamespace来添加新的值