插件数据存储(1):Storage


插件如果需要保存设置等信息,可以使用系统提供的Storage类来完成数据的存储读取,数据会被存储在MySQL数据库的storage表里。 该存储方式适合存储 key-value 类型的键值对数据,如插件的设置项等。

写入数据

$plugin_storage = Storage::getInstance('plugin_name');//使用插件的英文名称初始化一个存储实例
$plugin_storage->setValue('key', 'xxx'); // 设置key的值为 xxx,最大可以存储长度为65,535个字符的数据

设置写入数据类型:数据存储还支持第三个参数指定存储数据的类型,读取时会返回相应的数据类型,目前支持4种类型,默认是string类型。

  • string //读取时返回string
  • number // 读取时返回float类型
  • boolean // 读取时返回布尔类型
  • array // 返回数组

如:

$plugin_storage = Storage::getInstance('plugin_name');
$data = ['name' => 'tom', 'age' => 19];
$plugin_storage->setValue('key', $data, 'array'); //存储为数组类型,这样数组会被序列化后存入数据库,读取的时候会被自动反序列化。

读取数据

$plugin_storage = Storage::getInstance('plugin_name'); //使用插件的英文名称初始化一个存储实例
$ak = $plugin_storage->getValue('key'); // 读取key值

清理删除数据清理删除数据

$plugin_storage = Storage::getInstance('plugin_name'); //使用插件的英文名称初始化一个存储实例
$ak = $plugin_storage->deleteName('key') // 删除此插件创建的一行名为key的数据
$ak = $plugin_storage->deleteAllName('YES'); //删除此插件创建的所有数据, 请传入大写的"YES"来确认删除 ,一般用于插件删除回调函数。
  • 分享:
发表评论 说点什么
登录