mrynk / l4-hashids

Laravel 4 的官方 hashids 库包

v2.1 2014-03-04 10:53 UTC

This package is not auto-updated.

Last update: 2024-09-26 19:19:53 UTC


README

Laravel 4 的官方 hashids 库包

安装

mrynk\l4-hashids 添加到 composer.json 的需求中

{
    "require": {
        "mrynk/l4-hashids": "master"
    }
}

使用 composer update 更新您的包或使用 composer install 安装。

一旦 Composer 安装或更新了您的包,您需要将 Hashids 注册到 Laravel 本身。打开 app/config/app.php,找到底部的 providers 键并添加

'Mrynk\L4Hashids\L4HashidsServiceProvider'

配置

L4-Hashids 的配置文件可以通过创建 app/config/packages/mrynk/l4-hashids/config.php 来扩展。默认配置文件位于 vendor/mrynk/l4-hashids/src/config/config.php。

您可以通过运行以下 Artisan 命令快速发布配置文件。

$ php artisan config:publish mrynk/l4-hashids

用法

您可以使用 Hashids 来混淆您的 URL ID。

在控制器中使用它,例如

public function myAction( $pHash )
{
	$id = Hashids::decrypt( $pHash );
	Model::find( reset( $id ) );
}

从 v2.0 开始,您可以定义不同的设置组。显然默认是默认组。要使用另一个,您可以明确指定

在控制器中使用它,例如

public function myAction( $pHash )
{
	$id = Hashids::make('groupname')->decrypt( $pHash );
	Model::find( reset( $id ) );
}

更简洁的方法是在路由模型绑定中使用它

Route::bind('user', function( $value, $route )
{
    if( $result = User::find( Hashids::decrypt( $value ) ) )
    	return $result;
	throw new NotFoundException;

});