框架装置
间接按官网操作
https://www.easyswoole.com/Cn/QuickStart/install.html
数据筹备
CREATE TABLE `cases` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
`title` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '题目',
`content` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '内容',
`create_time` int(10) NOT NULL COMMENT '创立工夫',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = MyISAM AUTO_INCREMENT = 21 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
轻易写入几条数据
INSERT INTO `test`.`cases`(`id`, `title`, `content`, `create_time`) VALUES (1, '示剑网络副总经理承受电视台采访', 'test', 1536223828);
INSERT INTO `test`.`cases`(`id`, `title`, `content`, `create_time`) VALUES (3, '微信小程序超级入口,新一轮红利又将暴发', 'test', 1605757832);
INSERT INTO `test`.`cases`(`id`, `title`, `content`, `create_time`) VALUES (4, '北京小程序开发公司哪家好?', 'test', 1535963051);
配置 mysql 数据库连贯
关上 easyswoole 根目录下的 dev 文件,跟 MAIN_SERVER 同级,新增
'MYSQL'=>[
'host' => '你本人的 IP',
'port' => '端口',
'user' => 'root',
'password' => '123456',
'database' => 'test',
'timeout' => 5,
'charset' => 'utf8mb4',
],
批改成你本人的配置
建设模型
在 easyswoole 的 App/Models 对应目录下建设模型 Case.php
写入代码
<?php
namespace AppModels;
use EasySwooleORMAbstractModel;
use EasySwooleMysqliQueryBuilder;
/**
* 案例模型
*/
class Cases extends AbstractModel
{
/**
* @var string
*/
protected $tableName = 'cases'; // 表名
protected $primaryKey = 'id'; // 主键
}
控制器局部
/App/HttpController 目录下,建设 Index.php,写入内容
<?php
namespace AppHttpController;
use App\Models\Cases;
class Index extends Controller
{public function index()
{}}
接下来能够增删改查了
增删改查之“增”
控制器 Index 里增加代码
public function insert()
{$case = new Cases();
$case->title = 'aaa';
$case->content = 'test';
$case->create_time = time();
$id = $case->save();
$this->writeJson(0, [], $id > 0 ? '新增胜利' : '新增失败');
}
浏览器输出
http:// 你本人的 IP:9501/insert
查看数据库,数据增加胜利
增删改查之“查”
控制器 Index 里增加代码
public function getAll()
{$request = $this->request();
$keyword = $request->getRequestParam('keyword');
$page = $request->getRequestParam('page');
$case = new Cases();
$result = $case->getAll($page, $keyword);
$this->writeJson(0, $result, "success");
}
模型 /App/Cases.php 增加代码
public function getAll(int $page = 1, string $keyword = null, int $pageSize = 3): array
{$list = $this->limit($pageSize * ($page - 1), $pageSize)->order($this->primaryKey, 'DESC')->withTotalCount()
->all(function (QueryBuilder $queryBuilder) use ($keyword) { // 用 use 能力将内部参数传入闭包
$queryBuilder->where('title', "%{$keyword}%", 'like');
});
$total = $this->lastQueryResult()->getTotalCount(); // 获取后果条数
return ['total' => $total, 'list' => $list];
}
到你装 easywoole 下的 Linux 命令行,Ctrl+C, 再输出 php easyswoole start 重启服务
回到 windows,浏览器输出
http:// 你本人的 IP:9501/getAll?keyword= 北京 &page=1
胜利看到返回信息
{"code":0,"result":{"total":10,"list":[{"id":20,"title":"ddd","content":"test","create_time":1605764790},{"id":19,"title":"ccc","content":"test","create_time":1605764790},{"id":18,"title":"ccc","content":"test","create_time":1605764774}]},"msg":"success"}
增删改查之“删”
Index.php 写入代码
public function delete()
{$request = $this->request();
$id = $request->getRequestParam('id');
$case = Cases::create()->get($id);
$count = $case->destroy();
$this->writeJson(0, [], $count > 0 ? '删除胜利' : '删除失败');
}
重启服务,拜访 你的 IP/delete?id= 你的数据 ID
查看数据库,删除胜利
增删改查之“改”
Index.php 写入代码
public function update()
{$request = $this->request();
$id = $request->getRequestParam('id');
$case = Cases::create()->get($id);
$content = $request->getRequestParam('content');
$case->content = $content;
$res = $case->update();
$this->writeJson(0, [], $res ? '批改胜利' : '批改失败');
}
重启服务,拜访 你的 IP/update?id= 你的 ID&content= 你的内容
查看数据库,删除胜利
编码查问语句过程中,如果有什么疑难,就翻下文档吧
https://www.easyswoole.com/Cn/Components/Orm/update.html
就这么简略,搞定