JsonDB类
JSONDB介绍:
JsonDb是一款由原生PHP实现的非关系型轻量级JSON文件数据库。如果你需要存储各种基础类的数据,或者一个站点内有多个小项目,那么JsonDb就是你最佳的选择。它包括查询、添加、更新、删除等对数据的基本操作,适合存储数据量不大的数据
可以理解为操作本地数据库文件(json php text等等 自定义的文件,如果担心被爆破,可以设置自定义为php文件)
功能说明:
将数据以JSON格式存放在服务器本地文件中
部署说明:
将类文件解压至phpgrace/tools文件夹下即可。
https://sharewh1.xuexi365.com/share/download/95ff582a565c2a073c08080ad4aacd17
演示代码:
class testController extends grace{ /** 自定义配置项 */ public $options = [ 'table_name' => null, //单表模式 'encode' => null, //加密函数 'decode' => null, //解密函数 'file_suffix' => '.json', //文件后缀名 为了避免爆破,可以设置后缀为 .php 'path' => null, //自定义存储路径 'directory_name' => 'JsonDb', //存储的目录名 'debug' => true, //调试模式 ]; public function index(){ //初始化 并重新设置保存在跟目录下哪个文件夹内 $JsonDb = new JsonDb( $this->options ); //插入单条数据 table('json_data') 值具体哪张表 对应的路径为 'json_data.json' $JsonDb->table('json_data')->insert([ 'a' => 5, 'b' => "测试5"] ); //批量插入数据 $JsonDb->table('json_data')->insertAll([ [ 'a' => 5, 'b' => "测试5" ], [ 'c' => 1, 'b' => "测试" ] ]); //删除一行中的部分数据 $JsonDb->table('json_data')->where('b', '测试3')->delete(['a', 'b']); //删除一行中的部分数据 $JsonDb->table('json_data')->where('b', '测试3')->deleteAll(); //更新数据 update $JsonDb->table('json_data')->where('b', '测试4')->update(['c' => '测试测试']); //查询单条数据 $JsonDb->table('json_data')->where('b', '测试')->find(); //查询多条数据 $res = $JsonDb->table('json_data')->where('b', '测试')->select(); //查询表中所有数据 $JsonDb->table('json_data')->selectAll(); //根据ID查询数据 $JsonDb->table('json_data')->where('id', 0)->find(); //字段 LIKE 查询 $JsonDb->table('json_data')->whereLike('b', '%测试')->select(); //自定义查询表达式 $JsonDb->table('json_data')->where('id', '>', 4)->select(); //链式 where $JsonDb->table('json_data')->where('id', 1)->where('a', 2)->select(); //自定义判断条件 $select = $JsonDb->table('json_data')->where('`field_id` == 0 || `field_b` == `测试4`')->select(); $userList = [['user' => '123456','state' => 2],['user' => '456789','state' => 2],['user' => '789123','state' => 2],['user' => 'a45156','state' => 1],['user' => 'b123456','state' => 2],['user' => 'c123456','state' => 2]]; //限制每次最大写入数量 limit $JsonDb->table('user')->limit(0,5)->insertAll($userList); //限制结果数量 limit $res = $JsonDb->table('user')->where('state', 2)->limit(0,3)->select(); p($res); } }