11.3. The Yaf_Loader class

简介

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来添加新的值