markwalet / laravel-hashed-route
一个Laravel包,用于替换默认的路由模型绑定,以提供更安全版本。
v2.8.0
2023-07-06 18:13 UTC
Requires
- php: 8.*
- hashids/hashids: 3.*|4.*
- jenssegers/optimus: ^0.2.3
- laravel/framework: ~8.74|^9.0|^10.0
Requires (Dev)
- orchestra/testbench: 4.*|5.*|6.*|7.*|8.*
- phpunit/phpunit: ~9.3
- dev-master
- v2.8.0
- v2.7.0
- v2.6.0
- v2.5.0
- v2.4.0
- v2.3.1
- v2.3.0
- v2.2.0
- v2.1.0
- v2.0.0
- v1.1.8
- v1.1.7
- v1.1.6
- v1.1.5
- v1.1.4
- v1.1.3
- v1.1.2
- v1.1.1
- v1.1.0
- v1.0.0
- dev-laravel-10-support
- dev-update-manager-dependencies
- dev-laravel-9-support
- dev-add-php-8-1-support
- dev-drop-php-7-3-support
- dev-upgrade-versions
- dev-laravel-8-support
This package is auto-updated.
Last update: 2024-09-06 21:05:22 UTC
README
一个Laravel包,用于替换默认的路由模型绑定,以提供更安全版本。
安装
您可以使用composer安装此包
composer require markwalet/laravel-hashed-route
Laravel 5.5使用包自动发现,因此您无需注册服务提供者。如果您想手动注册服务提供者,请将以下行添加到您的config/app.php
文件中
MarkWalet\LaravelHashedRoute\HashedRouteServiceProvider::class
用法
当您想要对一个给定模型进行路由哈希时。您需要做的只是添加HasHashedRouteKey
特性。
use MarkWalet\LaravelHashedRoute\Concerns\HasHashedRouteKey; class TestModel extends Model { use HasHashedRouteKey; //... }
之后,您可以使用模型就像平时一样。因为特性重写了resolveRouteBinding()
和getRouteKey()
方法,所以您不需要对代码进行额外更改。
当您通过手动从模型中获取$model->id
属性来构建URL时,您必须更改代码。然后,您必须将这些调用更改为$model->getRouteKey()
。
配置
默认配置定义在hashed-route.php
中。如果您想编辑此文件,可以使用以下命令将其复制到您的配置文件夹中
php artisan vendor:publish --provider="MarkWalet\LaravelHashedRoute\HashedRouteServiceProvider"
在此文件中,您可以配置不同的编解码器,用于键的编码和解码,以及设置默认配置。
您可以通过在模型上设置codec
属性来覆盖此配置。
支持的编解码器驱动程序有:null
、hashids
、optimus
& base64
。如果您想禁用路由键哈希,请使用null
驱动程序。