`ExpressPHP` 是采用命名空間通過 `Composer` 使用 `PSR-4 ` 規范來實現自動加載類庫文件的,實現了更加高效的類庫自動加載機制。
>[info] 如果不清楚命名空間的基本概念,請參考 [PHP命名空間](http://www.php.net/manual/zh/language.namespaces.php)
## app空間
默認 `application` 目錄的命名空間為 `app`,如果你要修改目錄或命名空間名稱,可以在 `composer.json 文件 ` 內修改 `psr-4` 字段,然后再 `php composer.phar update` 更新下自動載入規則。
~~~
{
"autoload": {
"psr-4": {
"sys\\": "system/library/",
"app\\": "app_www/",
}
}
}
~~~
## 命名規則
你想在 `application` 建立一個 `controller` 的目錄,然后在里面建立 `Index` 控制器,`Index.php` 文件內容如下:
~~~
namespace app\controller;
class Index
{
public function index()
{
echo 'hello world';
}
}
~~~
命名空間 `namespace app\controller;` 要等于文件所在目錄,`application` 因為在 `composer.json` 定義了等于 `app` ,所以才能簡化為 `app\controller`。
>[info] 不只是 controller 目錄,你可以建立任何目錄,只要符合上面的規則