框架装置
间接按官网操作
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
就这么简略,搞定