## 簡介
<br>
本章完成`api`目錄的創建。
<br>
本教程承接[野山參之yii2基礎教程](http://www.hmoore.net/wordstorm/yii2),在其基礎之上繼續開發。
<br>
將根目錄(后續根目錄以`~`代替,在我的虛擬機環境下代表`/home/vagrant/projects/yii-application/`)下的`backend`復制一份,重命名為`api`即可。
<br>
接下來使用`gii`來完成基礎目錄的構建,當然你也可以手建,[使用gii構建目錄結構](https://www.yiichina.com/doc/guide/2.0/start-gii)
<br>
## 創建虛擬域名
<br>
和\[野山參系列之yii2基礎教程\]()中一樣,需要在虛擬機和主機中分別創建對應的虛擬域名。本教程是`api`開發,域名設置為`api.yii2.com`。
<br>
如下圖,虛擬機中設置虛擬域名,7個設置步驟中,重點在2,3。
<br>

<br>
主機中配置一行`192.168.20.30?api.yii2.com`即可。虛擬機`ip`地址可通過`ip?addr`查看。
<br>
## 編輯入口文件
<br>
編輯`index.php`
<br>
```
...
if?(YII_ENV_DEV)?{
????$config['bootstrap'][]?=?'gii';
????$config['modules']['gii']?=?[
????????'class'?=>?'yii\gii\Module',
????????'allowedIPs'?=>?['192.168.*.*']
????];
}
...
```
<br>
編輯`~/common/config/bootstrap.php`,新增一行
<br>
```
...
Yii::setAlias('@api',?dirname(dirname(__DIR__))?.?'/api');
...
```
<br>
[使用gii創建module、controller、model](https://www.php.cn/phpkj/yii/434590.html),這里主要參考第三步?**利用gii生成測試modules**,(小技巧:ctrl+f?可快速幫助定位)
<br>
這里沿用`yii2基礎教程`中創建的表`title`。
<br>
最終應該拿到這樣的目錄結構,`api`文件夾之下
<br>
```
|-config
|???...
|???main.php
|-models
|???Title.php
|-modules
????|-v1
????????|-controllers
????????|???DefaultController.php
????????|???TitleController.php
????????|-views
????????Module.php
|-web
|???index.php
```
<br>
## 框架配置
<br>
編輯`~/api/config/main.php`文件,特別注意下層級結構
```
...
'modules'?=>?[
????????'v1'=>[
????????????'class'=>'api\modules\v1\Module',
????????]
????],
...
'components'=>[
????...
????'response'=>[
????????'class'=>'yii\web\Response',
????????'format'=>\yii\web\Response::FORMAT_JSON,
????],
????...
????'urlManager'?=>?[
????????'enablePrettyUrl'?=>?true,
????????'showScriptName'?=>?false,
????????'enableStrictParsing'?=>?false,
????????'rules'?=>?[
????????????[
????????????????'class'=>'yii\rest\UrlRule',
????????????????'controller'=>['v1/title']
????????????]
????????],
????],
]
...
```
<br>
到這里,`api`開發的基礎配置就已經完成,下面將進入正式的`api`開發。
<br>