angle/keyable
Composer 安装命令:
composer require angle/keyable
包简介
Add random unique keys to any model in a Laravel application.
README 文档
README
Introduction
Many web applications require unique references to their data. Sometimes, increments and uuids are not enough for specific use-cases. Keyable attempts to solve this problem by providing methods that are automatically called on your models, via a trait.
Requirements
- PHP >= 7.1
- Laravel >= 5.6
- Relational Database (not tested with other drivers)
Installation
Install the package via Composer:
composer require angle/keyable
Using the Keyable Trait
Granted the Model is using Angle\Keyable\Keyable, unique keys are automatically generated upon the creating() Eloquent Model Event.
<?php namespace App; use Angle\Keyable\Keyable; use Illuminate\Database\Eloquent\Model; class Vault extends Model { use Keyable; /** * Attributes containing unique keys. * * @var array */ public $keys = ['fingerprint' => 256]; }
Implementing A Custom Strategy
By default, the Keyable Trait uses Laravel Str::random() helper to generate unique keys. You may override this behavior by implementing keyableStrategy() method on your model.
<?php namespace App; use Angle\Keyable\Keyable; use Illuminate\Database\Eloquent\Model; class Endpoint extends Model { use Keyable; /** * Attributes containing unique keys. * * @var array */ public $keys = [ 'public_key' => 128, 'private_key' => 128 ]; public function keyableStrategy(string $attribute, int $length) : string { $prefix = 'public-'; if ($attribute == 'private_key') { $prefix = 'private-'; } return $prefix . \Str::random($length); } }
Contributing
Contributions are welcomed! If you have any idea you'd like to implement, feel free to submit a pull request.
Licence
MIT
Copyright © 2019 Angle Software
angle/keyable 适用场景与选型建议
angle/keyable 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 3 次下载、GitHub Stars 达 1, 最近一次更新时间为 2019 年 02 月 03 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 angle/keyable 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 angle/keyable 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 3
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2019-02-03