從 rest api 開始
我們有一個包含國家/地區的表格,因此我們建立了一個名為 countrylist model 的模型
<?php
namespace app\models;
use Yii;
/**
* This is the model class for table "countrylist".
*
* @property integer $id
* @property string $iso
* @property string $name
* @property string $nicename
* @property string $iso3
* @property integer $numcode
* @property integer $phonecode
*/
class Countrylist extends \yii\db\ActiveRecord
{
/**
* @inheritdoc
*/
public static function tableName()
{
return 'countrylist';
}
/**
* @inheritdoc
*/
public function rules()
{
return [
[['iso', 'name', 'nicename', 'phonecode'], 'required'],
[['numcode', 'phonecode'], 'integer'],
[['iso'], 'string', 'max' => 2],
[['name', 'nicename'], 'string', 'max' => 80],
[['iso3'], 'string', 'max' => 3]
];
}
/**
* @inheritdoc
*/
public function attributeLabels()
{
return [
'id' => 'ID',
'iso' => 'Iso',
'name' => 'Name',
'nicename' => 'Nicename',
'iso3' => 'Iso3',
'numcode' => 'Numcode',
'phonecode' => 'Phonecode',
];
}
}
我為此建立了 rest webservice,我們為 restapi 建立了一個控制器,併為我們的模型設定了 modelClass 變數。
<?php
namespace app\controllers;
use yii\rest\ActiveController;
use Yii;
class CountrylistController extends ActiveController
{
public $modelClass='app\models\Countrylist';
}
?>
使用 restapi 我們需要漂亮的網址,
我們為漂亮的網址新增此規則
'urlManager' => [
'class' => 'yii\web\UrlManager',
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
['class'=>'yii\rest\UrlRule','controller'=>'countrylist']
],
],
之後,我們訪問可以測試我們的休息 api 作為一個例子
http:// localhost / countrylist 給我們列出了縣。