devly/repository
Composer 安装命令:
composer require devly/repository
包简介
PHP data repository object with array access using dot notation
README 文档
README
Provides an object to store and access data arrays with dot notation support.
Usage
A new data container instance can be created empty or from data provided as array, object or another Devly\Repository instance.
$repository = new \Devly\Repository(); // Or create with initial data $repository = new \Devly\Repository(['user' => [...]]);
Can also be created using the static method Devly\Repository::new()
set()
$repository->set('user.name', 'johndoe'); // Or as array $repository['user.name'] = 'johndoe'; // Equivalent vanilla PHP $array['user']['name'] = 'johndoe';
get()
Retrieves data by key name
$username = $repository->get('user.name'); // Or as array $username = $repository['user.name']; // Equivalent vanilla PHP $username = $array['user']['name'];
has()
Check whether a key name exists
$repository->has('user.name'); // Or as array isset($repository['user.name']); // Equivalent vanilla PHP isset($array['user']['name']);
all()
Returns all the data as array
$array = $repository->all();
remove()
Removes given key
$repository->remove('user.name'); // Or as array unset($repository['user.name']);
clear()
Removes all the data
$repository->clear();
count()
Counts the number of items in the data container
$repository->count(); // Or using the count function count($repository);
isEmpty()
Checks whether the container contains data
$repository->isEmpty();
toJson()
Returns a JSON representation of the data
Returns the value of a given key as JSON:
$repository->toJson('user');
Returns all the stored items as JSON:
$repository->toJson(); // Same as: json_encode($repository);
createFrom()
Create a new Repository instance from an existing item
$repository = new Repository(['name' => ['first' => 'John', 'last' => 'Doe']]); $repository2 = $repository->createFrom('name'); $repository2->all(); // ['first' => 'John', 'last' => 'Doe']
merge()
Merge array, object or an instance of IRepository into the current Repository
$repository = new Repository(['first' => 'John', 'last' => 'Doe']); $repository->merge(new Repository(['first' => 'Johnny'])); // Can also be merged with an object $repository->merge((object) ['first' => 'Johnny']); // Can also be merged with an object $repository->merge(['first' => 'Johnny']); $repository->all(); // ['first' => 'Johnny', 'last' => 'Doe']
mergeRecursive()
Merge array, object or an instance of IRepository into the current Repository recursively
$repository = new Repository(['name' => ['first' => 'John', 'last' => 'Doe']]); $repository->mergeRecursive(['name' => ['first' => 'Johnny']]); $repository->all(); // ['name' => ['first' => 'Johnny', 'last' => 'Doe']
devly/repository 适用场景与选型建议
devly/repository 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 2.82k 次下载、GitHub Stars 达 1, 最近一次更新时间为 2022 年 10 月 25 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 devly/repository 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 devly/repository 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 2.82k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 10
- 依赖项目数: 2
- 推荐数: 0
其他信息
- 授权协议: Unknown
- 更新时间: 2022-10-25