前言
这两天在研究怎么在本地创建API接口进行项目Demo的开发,然后发现了Yii2 RESTful API的开发
composer的安装
博主是通过composer安装的,如果想要使用其他的安装方法,可以查看yii2.0的文档
文档
如果还没有安装 Composer,你可以按 getcomposer.org 中的方法安装。 在 Linux 和 Mac OS X 中可以运行如下命令:1
2curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
在 Windows 中,你需要下载并运行 Composer-Setup.exe
如果你已经安装有 Composer 请确保使用的是最新版本, 你可以用 composer self-update
命令更新 Composer 为最新版本。
Composer 安装后,切换到一个可通过 Web 访问的目录,执行如下命令即可安装 Yii :1
2composer global require "fxp/composer-asset-plugin:^1.3.1"
composer create-project --prefer-dist yiisoft/yii2-app-advanced yii2
最后面的yii2是模板文件名,可以进行修改,博主使用的yii-application
然后就是漫长的等待……
注:在安装过程中会要求输入GitHub的账号以及密码,还有token。token的创建方法:setting/Developer settings/Personal access tokens->Generate new token
安装完毕后,创建数据库,可以使用wampserver或者PHPstudy,博主比较习惯使用wampserver,
初始化项目
进入项目根目录,打开命令行工具Git Bash Here,如果没有这个工具可以使用cmd命令行,使用cd命令进入项目根目录,使用以下代码初始化项目1
$ php init
初始化过程中1
2Your choice [0-1, or "q" to quit] 0
Initialize the application under 'Development' environment? [yes|no] yes
创建数据库连接
项目根目录下,common->config->main-local.php
注意使用的Apache服务器的数据库是否需要密码
执行数据库迁移
1 | $ ./yii migrate |
设置Apache的配置文件
设置hosts文件
apitpl.com注册账号
后台的搭建
1 | $ composer require dmstr/yii2-adminlte-asset "2.*" |
使用composer安装yii2-adminlte-asset时,博主反反复复出错,一直无法下载安装,折腾了好久,所以大家安装composer时,尽量选择高版本的php,刚开始博主使用的5.6.31。但是一直出错,所以博主重新卸载安装使用了7.1.9的版本,完美解决!
拷贝 vendor\dmstr\yii2-adminlte-asset\example-views\yiisoft\yii2-app 目录下面的文件到项目 backend\views, 可直接进行覆盖替换;
此时即可输入地址浏览后台
导入sql语句创建数据库表
使用Gii生成代码
进入yii2后台后,点击Gii->Model Generator
生成活动记录类
选择 “Model Generator” (点击 Gii 首页的链接)去生成活动记录类。并像这样填写表单:
Table Name: country
Model Class: Country
然后点击 “Preview” 按钮。你会看到 models/Country.php 被列在将要生成的文件列表中。可以点击文件名预览内容。
如果你已经创建过同样的文件,使用 Gii 会覆写它, 点击文件名旁边的 diff 能查看现有文件与将要 生成的文件的内容区别。
想要覆写已存在文件,选中 “overwrite” 下的复选框然后点击 “Generator”。如果是新文件,只点击 “Generator” 就好。
接下来你会看到一个包含已生成文件的说明页面。如果生成过程中覆写过文件, 还会有一条信息说明代码是重新生成覆盖的。
生成 CRUD 代码
CRUD 代表增,查,改,删操作,这是绝大多数 Web 站点常用的数据处理方式。选择 Gii 中的 “CRUD Generator” (点击 Gii 首页的链接)去创建 CRUD 功能。本例 “country” 中需要这样填写表单:
Model Class: app\models\Country
Search Model Class: app\models\CountrySearch
Controller Class: app\controllers\CountryController
然后点击 “Preview” 按钮。你会看到下述将要生成的文件列表。
试运行
用浏览器访问下面的 URL 查看生成代码的运行:1
http://hostname/index.php?r=country/index