首页›内核与基础›__autoload 自动加载机制
__autoload 自动加载机制
基于命名空间的路由转路径加载:\Kuoqi\* 与 \App\{模块}\* 两级映射
本页内容
- 加载流程
- route2path 规则
- 驼峰转换规则
- 注意事项
加载流程
| # | 步骤 | 说明 |
|---|---|---|
| 1 | route2path($route) | 把命名空间转为文件路径 |
| 2 | 拼接后缀 | 路径 + $CTL_EXT(.class.php) |
| 3 | loadfile | include_once 加载,不可读则返回 false |
| 4 | 首次加载 | class_exists($route,false) 为 true 时调用 $route::__initialize() |
| 5 | 失败处理 | 默认抛出 Exception 终止;可 ignoreAutoloaderror(true) 忽略 |
route2path 规则
| 首段 | 根路径 | 示例 |
|---|---|---|
Kuoqi | {@CORE}/Library | Kuoqi\Core\View → Library/Core/View.class.php |
App | {@APP} | App\Home\Controller\IndexController → Application/Home/Controller/IndexController.class.php |
| 其它 | {@ROOT} | 其余命名空间落在项目根 |
驼峰转换规则
| 函数 | 输入 | 输出 | 用途 |
|---|---|---|---|
code2hump | user-manager | UserManager | URL/目录 → 类名 |
hump2code | UserManager | user-manager | 类名 → URL/表名(连字符) |
snakeCode2hump | user_manager | UserManager | 下划线 → 驼峰 |
snakeHump2code | UserManager | user_manager | 驼峰 → 下划线 |
注意事项
route2path 对路径每一段做 code2hump,即只认连字符与驼峰,下划线段不会拆分。
KuoqiPHP v1.05 · 离线静态文档 · 界面基于 KuoqiUI ·
返回首页