mitch / hashids
此包的最新版本(1.0)没有可用的许可证信息。
Laravel 的 Hashids 包
1.0
2014-09-17 22:06 UTC
Requires
- php: >=5.3.0
- hashids/hashids: 1.0.x
- illuminate/support: 4.x
This package is not auto-updated.
Last update: 2024-09-23 11:32:44 UTC
README
本包使用了由 hashids.org 创建的类。
从数字生成哈希值,例如 YouTube 或 Bitly。当您不想向用户暴露数据库 ID 时,请使用 hashids。
安装
首先通过 Composer 安装此包。编辑您的项目 composer.json
文件以要求 mitch/hashids
。
"require": { "mitch/hashids": "1.x" }
然后使用 Terminal 中的 Composer 更新您的项目
php composer.phar update
安装完包后,您需要添加服务提供者。打开您的 app/config/app.php
配置文件,并在 providers
数组中添加一个新项。
'Mitch\Hashids\HashidsServiceProvider'
执行此操作后,您还需要添加一个别名。在您的 app/config/app.php
文件中,将以下内容添加到 aliases
数组中。
'Hashids' => 'Mitch\Hashids\Hashids'
现在最后但同样重要的是,您需要从 Terminal 发布包配置
php artisan config:publish mitch/hashids
用法
一旦您按照所有步骤完成安装,您就可以使用 Hashids。
编码
您可以直接对 ID 进行加密
Hashids::encode(1); // Creating hash... Ri7Bi
或多个...
Hashids::encode(1, 21, 12, 12, 666); // Creating hash... MMtaUpSGhdA
解码
这是相同的事情,但方向相反
Hashids::decode('Ri7Bi'); // Returns array (size=1) 0 => int 1
或多个...
Hashids::decode('MMtaUpSGhdA'); // Returns array (size=5) 0 => int 1 1 => int 21 2 => int 12 3 => int 12 4 => int 666
注入 Hashids
现在也可以将 Hashids 注入到您的类中。让我们以这个控制器为例...
class ExampleController extends BaseController { protected $hashids; public function __construct(Hashids\Hashids $hashids) { $this->hashids = $hashids; } public function getIndex() { $hash = $this->hashids->encode(1); return View::make('example.index', compact('hash')); } }
原始类名和命名空间已绑定到 IoC 容器,以返回我们的 Hashids 类实例。
使用 IoC
使用 IoC 创建一个 Hashids 实例
App::make('Hashids\Hashids')->encode(1);
就是这样!
有关 Hashids 的文档可以在这里找到 Hashids。
感谢 Ivan Akimov (@ivanakimov) 创建 Hashids。Hashids 包的所有荣誉都归他所有。