yii restful api

时间:2022-01-20 06:30:46

一、创建数据库

首先,在mysql中创建一个名为yii2basic的数据库,并创建一张名为player的表。

二、配置

1.app/config/db.php


 

<?php  

  

return [  

    ‘class‘ => ‘yii\db\Connection‘,  

    ‘dsn‘ => ‘mysql:host=localhost;dbname=yii2basic‘,  

    ‘username‘ => ‘root‘,  

    ‘password‘ => ‘‘,  

    ‘charset‘ => ‘utf8‘,  

];  

将此处的用户名和暗码变动为本地对应。

 

2.app/config/web.php


 

‘urlManager‘ => [  

    ‘enablePrettyUrl‘ => true,  

    ‘enableStrictParsing‘ => true,  

    ‘showScriptName‘ => false,  

    ‘rules‘ => [  

        [‘class‘ => ‘yii\rest\UrlRule‘, ‘controller‘ => ‘player‘],  

    ],  

],  

在components下添加url配置。

3.创建.htaccess

 

在Yii项目下创建.htaccess,在app/web下创建,其内容为:


 

Options +FollowSymLinks  

IndexIgnore /  

RewriteEngine on  

RewriteCond %{REQUEST_FILENAME} !-f  

RewriteCond %{REQUEST_FILENAME} !-d  

RewriteRule . index.php  

三、创建一个控制器 

首先,创建一个控制器类 app\controllers\PlayerController 如下,


namespace app\controllers;  

  

use yii\rest\ActiveController;  

  

class UserController extends ActiveController  

{  

    public $modelClass = ‘app\models\Player‘;  

    public $serializer = ‘yii\rest\Serializer‘;  

    public function checkAccess()  

    {  

    }  

}  

控制器类扩展自 yii\rest\ActiveController。通过指定 yii\rest\ActiveController::modelClass 作为 app\models\player, 控制器就能知道使用哪个模型去获取和措置惩罚惩罚数据。

四、创建一个模型类 然后,创建一个模型类 app\model\Player 如下,


 

<?php  

  

namespace app\models;  

  

  

use yii\db\ActiveRecord;  

use yii\web\Link;  

use yii\web\Linkable;  

use yii\helpers\Url;  

  

  

class Player extends ActiveRecord implements Linkable  

{  

    public function fields()  

    {  

        return [  

            // 字段名和属性名不异  

            ‘id‘,  

            // 字段名为"email", 对应的属性名为"email_address"  

            ‘username‘,  

              

            ‘password‘,  

        ];  

    }  

  

  

    public function getLinks()  

    {  

        return [