net_bazzline/php_component_database_file_storage

0.7.1 2016-08-11 20:05 UTC

This package is auto-updated.

Last update: 2024-09-16 20:49:44 UTC


README

crud 存储接口

/**
 * @param $data
 * @return mixed - unique identifier
 */
public function create($data);

/**
 * @return array
 */
public function readMany();

/**
 * @return null|mixed - nothing or data
 */
public function readOne();

/**
 * @param mixed $data
 * @return boolean
 */
public function update($data);

/**
 * @return boolean
 */
public function delete();

/**
 * @param mixed $key
 * @param mixed $value
 * @return $this
 */
public function filterBy($key, $value);

/**
 * @param mixed $id
 * @return $this
 */
public function filterById($id);

/**
 * @param int $count
 * @param null|int $offset
 * @return $this
 */
public function limitBy($count, $offset = null);

安装

手动

mkdir -p vendor/net_bazzline/php_component_database_file_storage
cd vendor/net_bazzline/php_component_database_file_storage
git clone https://github.com/bazzline/php_component_database_file_storage .

通过 Packagist

composer require net_bazzline/php_component_database_file_storage:dev-master

优势

  • 实现了 锁定 以防止多次读写

API

API 可在 bazzline.net 上找到。

未来改进

  • 扩展 "filterBy"
    • $key 和 $value 是可选的,可以按键或值进行过滤
  • 参考 bigdump
  • 参考 reactphp/filesystem
  • 参考 文件包装器
  • 实现 "modifier",以便在读取或写入之前轻松修改数据
  • 如果触发写入(创建/读取)操作,则创建一个 *.lock 文件以防止多次写入
  • 通过代理实现缓存
    • 简单的两个文件存储注入
    • 如果更改的项目数量达到限制,则将缓存写入实际存储
  • 使用 uuid 生成器生成唯一键
    • 使用 临时文件
    • 更专业一点,使用 php://temp
      • 实现一种“智能”缓存,通过计算条目的平均大小来确定在刷新缓存之前的最大条目数

历史

  • 即将推出
    • @todo
    • 添加了对 7.0 以上 PHP 版本的支持
    • 放弃了低于 5.6 的 PHP 版本的支持
  • 0.7.1 - 发布于 2016 年 8 月 11 日
    • 更新了 phpunit
  • 0.7.0 - 发布于 2016 年 3 月 29 日
    • 添加了 API 部分
    • 将 PHP 版本提升到 5.4
    • 迁移到 psr-4 自动加载
    • 更新了依赖项
  • 0.6.5 - 发布于 2015 年 12 月 18 日
    • 更新了依赖项
  • 0.6.4 - 发布于 2015 年 12 月 11 日
    • 更新了依赖项
  • 0.6.3 - 发布于 2015 年 11 月 18 日
    • 更新了依赖项
  • 0.6.2 - 发布于 2015 年 9 月 13 日
    • 稳定了依赖项
  • 0.6.1 - 发布于 2015 年 9 月 12 日
    • 添加了受保护的 getIdGeneratorgetLockableWriterFactorygetReaderFactorygetStorage 方法,以便通过使用默认工厂轻松创建自己的存储
  • 0.6.0 - 发布于 2015年9月12日
    • 修复了在使用限制时的 readMany 问题
  • 0.5.0 - 发布于 2015年9月12日
    • 添加了示例 has
    • 添加了方法 has($atLeast = 1, $atMost = null)
    • 将可选参数 resetRuntimePropertiesfilterslimit 设置)添加到 createreadManyreadOneupdatedelete
  • 0.4.1 - 发布于 2015年9月11日
    • 适应了来自 toolbox 的新 Experiment
  • 0.4.0 - 发布于 2015年9月11日
    • 将代码移动到目录中(StorageIdGenerator
    • Repository 重命名为 Storage
  • 0.3.4 - 发布于 2015年9月10日
    • 修复了 LockableWriterForPhp5Dot3 中的问题
  • 0.3.3 - 发布于 2015年9月10日
    • 修复了 LockableWriterForPhp5Dot3 中的问题
  • 0.3.2 - 发布于 2015年9月10日
    • 修复了处理 php 5.3 时的问题
  • 0.3.1 - 发布于 2015年9月10日
    • 修复了损坏的单元测试
  • 0.3.0 - 发布于 2015年9月10日
    • 创建并使用自有的 LockableWriter 以从 "FileNameLock" 切换到 "FileHandlerLock"

结束语

如果你喜欢它,请给它加星标 :-). 如果需要它,请提交问题。如果你喜欢它,请拉取补丁。如果你使用它,请写一篇博客。如果你喜欢它,请捐赠 :-]。