### 框架自動加載是依賴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();
}
}