laravel hashed route
v2.8.0
더 안전한 버전을 위해 기본 경로 모델 바인딩을 대체하는 Laravel 패키지입니다.
작곡가를 사용하여 이 패키지를 설치할 수 있습니다.
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
에 정의되어 있습니다. 이 파일을 편집하려면 다음 명령을 사용하여 config 폴더에 복사하면 됩니다.
php artisan vendor:publish --provider= " MarkWaletLaravelHashedRouteHashedRouteServiceProvider "
이 파일에서는 키 인코딩 및 디코딩을 위한 다양한 코덱을 구성하고 기본 구성을 설정할 수 있습니다.
모델에서 codec
속성을 설정하여 이 구성을 재정의할 수 있습니다.
지원되는 코덱 드라이버는 null
, hashids
, optimus
& base64
입니다. 경로 키 해싱을 비활성화하려면 null
드라이버를 사용하십시오.