前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >yii2进行接口开发,比较优化的curd接口(提供sql)全方位提供

yii2进行接口开发,比较优化的curd接口(提供sql)全方位提供

作者头像
贵哥的编程之路
发布2022-05-06 12:34:52
4270
发布2022-05-06 12:34:52
举报
文章被收录于专栏:用户7873631的专栏

第一:虚拟域名,看我博客,就知道啦.美化url也是啦(必须进行url美化+虚拟域名才能使用啊啊啊) 第一步: 把backend复制一份,改名为api. 第二步: 在common/config/bootstrap.php下粘贴下面这个代码.

代码语言:javascript
复制
Yii::setAlias('@api', dirname(dirname(__DIR__)) . '/api');

第三步:在api/config/main-local.php下粘贴以下这句话。

代码语言:javascript
复制
<?php

$config = [
    'components' => [
        'request' => [
            // !!! insert a secret key in the following (if it is empty) - this is required by cookie validation
            'cookieValidationKey' => 'qixaipxaipscn',
            'parsers' => [
        'application/json' => 'yii\web\JsonParser'
    ]
        ],
    ],
];

if (!YII_ENV_TEST) {
    // configuration adjustments for 'dev' environment
    $config['bootstrap'][] = 'debug';
    $config['modules']['debug'] = [
        'class' => 'yii\debug\Module',
    ];

    $config['bootstrap'][] = 'gii';
    $config['modules']['gii'] = [
        'class' => 'yii\gii\Module',
    ];
}

return $config;

第四步: 在api/config/main.php下,粘贴这句代码.

代码语言:javascript
复制
<?php
$params = array_merge(
    require(__DIR__ . '/../../common/config/params.php'),
    require(__DIR__ . '/../../common/config/params-local.php'),
    require(__DIR__ . '/params.php'),
    require(__DIR__ . '/params-local.php')
);

return [
    'id' => 'app-api',
    'basePath' => dirname(__DIR__),
    'controllerNamespace' => 'api\controllers',
    'bootstrap' => ['log'],
    'modules' => [],
    'components' => [
        'request' => [
            'csrfParam' => '_csrf-api',
        ],
        'user' => [
            'identityClass' => 'common\models\User',
            'enableAutoLogin' => true,
            'identityCookie' => ['name' => '_identity-api', 'httpOnly' => true],
        ],
        'session' => [
            // this is the name of the session cookie used for login on the api
            'name' => 'advanced-api',
        ],
        'log' => [
            'traceLevel' => YII_DEBUG ? 3 : 0,
            'targets' => [
                [
                    'class' => 'yii\log\FileTarget',
                    'levels' => ['error', 'warning'],
                ],
            ],
        ],
        'errorHandler' => [
            'errorAction' => 'site/error',
        ],
         'urlManager' => [
            'enablePrettyUrl' => true,
            'enableStrictParsing' => true,
            'showScriptName' => false,
            'rules' => [
                ['class' => 'yii\rest\UrlRule', 'controller' => 'article'],
            ],
        ],
        
    ],
    'params' => $params,
];

然后在api/controller/下新建一个叫做ArticleController.php的文件哦(复制粘贴即可)

代码语言:javascript
复制
<?php
namespace api\controllers;
use common\models\Article;
use Yii;
use yii\web\Controller;
class ArticleController extends \yii\rest\Controller
{
//增加
   public function actionCreate()
    {
       return "创建的接口调通啦";
       

    }//查询
   public  function actionIndex()
    {
          return "列表(查询)的接口调通啦";
    }//删除
    public  function actionDelete($id)
    {
        
  return "删除的接口调通啦";
    }//更新
  public function actionUpdate($id)
  {
        return "更新的接口调通啦";

}


}

创建接口调通啦

在这里插入图片描述
在这里插入图片描述

查询接口调通啦

在这里插入图片描述
在这里插入图片描述

删除接口调通啦

在这里插入图片描述
在这里插入图片描述

更新接口调通啦

在这里插入图片描述
在这里插入图片描述

切记,这里的(更新删除)1代表id.必须有数据才能进行切记切记.

代码语言:javascript
复制
-- phpMyAdmin SQL Dump
-- version 4.5.1
-- http://www.phpmyadmin.net
--
-- Host: 127.0.0.1
-- Generation Time: 2022-05-03 13:26:46
-- 服务器版本: 10.1.13-MariaDB
-- PHP Version: 5.6.21

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;

--
-- Database: `a`
--

-- --------------------------------------------------------

--
-- 表的结构 `curd`
--

CREATE TABLE `curd` (
  `id` int(20) NOT NULL,
  `phone` varchar(20) COLLATE utf8_vietnamese_ci NOT NULL,
  `name` varchar(255) COLLATE utf8_vietnamese_ci NOT NULL,
  `address` text COLLATE utf8_vietnamese_ci NOT NULL,
  `time` varchar(255) COLLATE utf8_vietnamese_ci NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_vietnamese_ci;

--
-- 转存表中的数据 `curd`
--

INSERT INTO `curd` (`id`, `phone`, `name`, `address`, `time`) VALUES
(16, '13647592401', 'cyg666', '海南省琼海市', '2022-05-03 13:24:37');

--
-- Indexes for dumped tables
--

--
-- Indexes for table `curd`
--
ALTER TABLE `curd`
  ADD PRIMARY KEY (`id`);

--
-- 在导出的表使用AUTO_INCREMENT
--

--
-- 使用表AUTO_INCREMENT `curd`
--
ALTER TABLE `curd`
  MODIFY `id` int(20) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=17;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

兄弟们,然后gii:model curd表哈”

代码语言:javascript
复制
<?php
namespace api\controllers;
use common\models\Curd;
use Yii;
class ArticleController extends \yii\rest\Controller
{
//增加
   public function actionCreate()
    {
		$request = Yii::$app->request;
		Yii::$app->db->createCommand()->insert('curd', [
		    'name' => $request->post("name"),
		    'phone' => $request->post("phone"),
			'address'=> $request->post("address"),
			'time'=>date("Y-m-d H:i:s"),
		])->execute();
		
    }//查询全部
   public  function actionIndex()
    {
          $data = \Yii::$app->db->createCommand('SELECT * FROM curd')
                      ->queryAll();
					  $json = json_encode(array(
					              "resultCode"=>200,
					              "message"=>"新增成功!",
					              "data"=>$data
					          ),JSON_UNESCAPED_UNICODE);
					          
					          //转换成字符串JSON
					          echo($json);
					  
    }//删除
    public  function actionDelete($id)
    {
         return Curd::findOne([ 'id' => $id ])->delete()?"删除{$id}成功":"删除{$id}失败";
 
    }//更新
  public function actionUpdate($id)
  {
	  $request = Yii::$app->request;
       $data= Yii::$app->db->createCommand()->update("curd",[
                  'name' => $request->post("name"),
                  'phone' => $request->post("phone"),
                  'address'=> $request->post("address"),
                  'time'=>date("Y-m-d H:i:s"),
             ],['id'=>$id])->execute();
       $json = json_encode(array(
                   "resultCode"=>200,
                   "message"=>"更新成功!",
                   "data"=>$data,
               ),JSON_UNESCAPED_UNICODE);
               
               //转换成字符串JSON
               echo($json);

}


}

create:

在这里插入图片描述
在这里插入图片描述

查询:

在这里插入图片描述
在这里插入图片描述

修改:

在这里插入图片描述
在这里插入图片描述

删除:

在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-05-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MariaDB
腾讯云数据库 MariaDB(TencentDB for MariaDB) 让您轻松在云端部署、使用 MariaDB 数据库。MariaDB 是在 MySQL 版权被 Oracle 收购后,由 MySQL 创始人 Monty 创立,其版权授予了“MariaDB基金会(非营利性组织)”以保证 MariaDB 永远开源,良好的开源策略,是企业级应用的最优选择,主流开源社区系统/软件的数据库系统,均已默认配置 MariaDB。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档