### 框架自动加载是依赖mapping.php文件做 命名空间-路径 的映射 来实现按需加载的
## 映射文件的加载顺序:
core/init/mapping.php
common/mapping.php
home/common/mapping.php
**如果多个映射文件存在相同的定义那么后加载的会覆盖先加载的定义**
## 框架核心所用的映射文件如下:
<?php
return array(
'z' => LIB . 'z/', //对应路径:core/lib/z/
'ext' => LIB . 'ext/', //对应路径:core/lib/ext/
'c' => APP . 'controller/', //对应路径:当前应用目录/controller/
);
## COMMON目录
<?php
return array(
'm' => APP . 'model/', //对应路径:应用目录/model/
'common' => COMMON . 'model/', //对应路径:common/model/
'lib' => COMMON . 'lib/', //对应路径:common/lib/
);
## 示例
例如我们在 /home/model 目录下创建了一个 user.class.php 的类内容如下:
<?php
namespace m; //注意这里的命名空间 m 是对应的前面映射文件的 'm'
class user{
private $name = '张三';
function say(){
echo '我叫' . $this->name;
}
}
控制器中就可以直接使用 new \m\user() 来实例化这个类 而不用事先加载这个类文件
<?php
namespace c;
use \z\controller;
class index extends controller{
static function index(){
$m = new \m\user();
$m->say();
}
}