用yii2进行(curd)接口开发(普通类型)整个流程:
Posted 贵哥的编程之路(陈业贵)
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用yii2进行(curd)接口开发(普通类型)整个流程:相关的知识,希望对你有一定的参考价值。
第一步:
理解这里的意思.
第二步:
写自己的域名.
比如http://www.demonstration.com.(本地地址的哈)。
在nginx里面新建一个文件demonstration.php(直接复制粘贴)
server
listen 80;
charset utf-8;
server_name www.demonstration.com;
access_log C:/Wnmp/logs/demonstration_access.log;
set $webroot C:/Wnmp/html/demonstration/frontend;
root $webroot/web;
index index.php index.html index.htm;
location /
try_files $uri $uri/ /index.php?$args;
location ~ \\.php$
try_files $uri =404;
fastcgi_pass php_processes;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
location ~ ^/(js|css|images|image|files)/
root $webroot;
expires 1h;
log_not_found off;
access_log off;
location ~ ^/(attachments)/
root $webroot;
expires 1h;
log_not_found off;
access_log off;
location ~ /\\.(ht|svn|git)
deny all;
第三步:
在frontend/config/新建一个路由文件.名字为(rules.php)复制粘贴.
<?php
/**
* Created by PhpStorm.
* User: Chan
* Date: 2018/6/8
* Time: 14:14
*/
use yii\\rest\\UrlRule;
return [
[
'class'=>UrlRule::class,
'controller'=>'navigation',
'extraPatterns' =>[
'form'=>'form',
],
],
];
第四步:在frontend/controllers里面新建一个文件.NavigationController.php
<?php
namespace frontend\\controllers;
use common\\models\\Form;
class NavigationController extends Controller
//增加
public function actionForm()
$form=new Form();
$datetime = new \\DateTime;
$request = \\Yii::$app->request;
$form->name = $request->post("name");
$form->phone= $request->post("phone");
$form->address = $request->post("address");
$form->time =$datetime->format('Y-m-d H:i:s');
if($form->save())
return $this->data(['form'=>$form],"保存成功",0);
else
return $this->error("保存失败");
//查询
public function actionIndex()
$gets = \\Yii::$app->db->createCommand('SELECT * FROM form')
->queryAll();
if($gets)
return $this->data($gets,"查询成功",0);
else
return $this->error("查询失败");
//删除
public function actionDelete($id)
$form = Form::findOne([ 'id' => $id ]);
if($form==null)
return $this->error('抱歉,这条数据在数据表是里面是没有的,不能删除!');
if($form->delete())
return $this->msg("删除成功");
else
return $this->error("数据不存在或已经删除!");
//更新
public function actionUpdate($id)
//前端的数据
//第一步:先链接数据库看看表里有没有这条数据
$id1= \\Yii::$app->db->createCommand("SELECT * FROM form where id=$id")->queryOne();
if(!$id1)
return $this->error("抱歉,这条数据在数据表是里面是没有不能更新!");
//第二步,数据表里面有这条数据怎么进行二次更新也能行,重复更新也能行
else
$datetime = new \\DateTime;
$request = \\Yii::$app->request;
$name = $request->getBodyParam("name");
$phone= $request->getBodyParam("phone");
$address = $request->getBodyParam("address");
$time =$datetime->format('Y-m-d H:i:s');
//自己数据库里面的数据
$result= \\Yii::$app->db->createCommand()->update("%form",[
'name'=>$name,
'phone'=>$phone,
"address"=>$address,
"time"=>$time,
'id'=>$id
],['id'=>$id])->execute();
return $this->msg("更新成功");
mysql表结构:
第五步:
自动生成一个form.php在commom/model/文件下.
怎么运行呢?增加
查询:
删除;
更新:
postman里面的数据
核心在于:
创建需要放数据,查询不用。更新用。删除不用.(因为删除是删除数据库中的某一条数据).
更新是必须数据库里面有的才能更新!!!
以上是关于用yii2进行(curd)接口开发(普通类型)整个流程:的主要内容,如果未能解决你的问题,请参考以下文章
PhalApi开源接口框架有多好用?最全后端PHP开发攻略整理
tp6开发的自动生成后台curd和一键安装插件,自动生成接口文档框架