Think::autoload PHP Method

autoload() public static method

系统自动加载ThinkPHP类库 并且支持配置自动加载路径
public static autoload ( string $classname )
$classname string 对象类名
    public static function autoload($classname)
    {
        // 检查是否存在别名定义
        if (tsload($classname)) {
            return;
        }
        // 自动加载当前项目的Actioon类和Model类
        if (substr($classname, -5) == 'Model') {
            tsload(APP_MODEL_PATH . '/' . $classname . '.class.php');
        } elseif (substr($classname, -6) == 'Action') {
            tsload(APP_ACTION_PATH . '/' . $classname . '.class.php');
        } else {
            // 根据自动加载路径设置进行尝试搜索
            if (tsconfig('APP_AUTOLOAD_PATH')) {
                $paths = explode(',', tsconfig('APP_AUTOLOAD_PATH'));
                foreach ($paths as $path) {
                    if (tsload($path . '/' . $classname . '.class.php')) {
                        // 如果加载类成功则返回
                        return;
                    }
                }
            }
        }
        return;
    }

Usage Example

Exemplo n.º 1
0
/**
+----------------------------------------------------------
* 系统自动加载ThinkPHP基类库和当前项目的model和Action对象
* 并且支持配置自动加载路径
+----------------------------------------------------------
* @param string $name 对象类名
+----------------------------------------------------------
* @return void
+----------------------------------------------------------
*/
function __autoload($name)
{
    return Think::autoload($name);
}
All Usage Examples Of Think::autoload