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);
		
	}
	
}