Asf_Loader


Introduction

Asf_Loader 独立类加载器, 支持单例 或 非单例模式

如果在框架提供的这些方法中使用, 则不生效。包括: bootstrap(), constants()

支持在非框架体系中单独使用<类加载器>

在开启命名空间情况下(asf.use_namespace=1)类名为 Asf\Loader

Class synopsis

<?php
final class Asf_Loader
{
    public static object get(string $class_name [, string $module_name = ''])
    public static object logic(string $class_name [, string $module_name = ''])
    public static object dao(string $class_name [, string $module_name = ''])
    public static bool import(string $file_name)
    public static Asf_Loader getInstance([string $library_path])
    public static bool clean(string $class_name)
    public static bool getFinders(void)
}

Examples

Example #1

php.ini asf.use_namespace=1

<?php
use Asf\Loader;

Loader::get('IndexLogic'); // class IndexLogic {}
Loader::get('IndexDao');   // class IndexDao {}
Loader::logic('index');    // class IndexLogic {}
Loader::dao('index');      // class IndexDao {}

Example #2

php.ini asf.use_namespace=0

<?php
Asf_Loader::get('IndexLogic'); // class IndexLogic {}
Asf_Loader::get('IndexDao');   // class IndexDao {}
Asf_Loader::logic('index');    // class IndexLogic {}
Asf_Loader::dao('index');      // class IndexDao {}

Example #3

php.ini asf.use_namespace=1

<?php
use Asf\Loader;

IndexLogic::getInfo();
IndexDao::getInfo();