RFC 4122 표준에 따라 UUID(Universally Unique Identifier)를 생성하고 검증하는 Laravel 패키지입니다. 버전 1, 3, 4 및 5 UUID에 대한 지원이 내장되어 있습니다.
Laravel-uuid는 이제 Laravel 8에서 사용할 수 있습니다. 이는 PHP 7.3 또는 PHP 8을 의미하는 것과 동일한 요구 사항을 갖습니다. Laravel 패키지 자동 검색이 활성화되었으며 이제 UUID 유효성 검사를 사용할 수 있습니다. 검증 예시는 아래와 같습니다.
이전 Laravel 또는 PHP 버전의 경우 이전 버전을 사용하세요. 아래를 참조하세요...
Laravel-uuid는 이제 Laravel 5.5에 맞게 리팩터링되었습니다. 요구 사항이 동일하므로 PHP 7을 의미합니다. Laravel 패키지 자동 검색이 활성화되었으며 이제 UUID 유효성 검사를 사용할 수 있습니다. 검증 예시는 아래와 같습니다.
라라벨 5.0, 5.1, 5.2, 5.3, 5.4? 버전 2를 사용하세요
라라벨 4.*? 버전 1을 사용하세요
Laravel 5.5에서는 laravel-uuid가 새로운 패키지 검색 기능을 통해 설치되므로 작곡가.json 파일에 패키지를 추가하기만 하면 됩니다.
작곡가는 "webpatser/laravel-uuid:^3.0"을 요구합니다.
설치 후 봐야 할 것
발견된 패키지: webpatser/laravel-uuid
그리고 넌 갈 준비가 됐어
UUID를 빠르게 생성하려면 다음을 수행하십시오.
Uuid::생성()
그러면 무작위로 생성된 MAC 주소를 사용하여 버전 1 Uuid object
생성됩니다.
생성된 UUID를 에코아웃하려면 문자열로 캐스팅하세요.
(문자열) Uuid::generate()
또는
Uuid::generate()->문자열
버전 1, 시간 기반 UUID를 생성합니다. 선택적 노드를 MAC 주소로 설정할 수 있습니다. 제공되지 않으면 임의의 MAC 주소가 생성됩니다.
Uuid::generate(1,'00:11:22:33:44:55');
MD5 해싱, UUID를 사용하여 이름 기반 버전 3 생성
Uuid::generate(3,'테스트', Uuid::NS_DNS);
버전 4, 완전 무작위 UUID 생성
Uuid::생성(4);
SHA-1 해싱, UUID를 사용하여 이름 기반 버전 5 생성
Uuid::generate(5,'테스트', Uuid::NS_DNS);
UUID를 가져오려면
$uuid = Uuid::import('d3d29d70-1d25-11e3-8591-034165a3a613');
시간 기반 UUID의 시간 추출(버전 1)
$uuid = Uuid::generate(1);dd($uuid->time);
UUID 버전 추출
$uuid = Uuid::generate(4);dd($uuid->version);
Laravel 모델에서 UUID를 마법처럼 생성하려면 모델에 이 부팅 방법을 추가하기만 하면 됩니다.
/** * 모델 이벤트 후크 설정 */public static function boot() {parent::boot();self::creating(function ($model) {$model->uuid = (string) Uuid::generate(4); }); }
그러면 새 레코드를 생성할 때 버전 4 UUID가 생성됩니다.
기본 키 대신 URL에서 UUID를 사용하려면 이를 모델에 추가할 수 있습니다. 여기서 'uuid'는 UUID를 저장할 열 이름입니다.
/** * 모델의 경로 키를 가져옵니다. * * @return 문자열 */공용 함수 getRouteKeyName() {'uuid'를 반환합니다; }
리소스 컨트롤러 메서드에 모델을 주입하면 올바른 기록을 얻게 됩니다.
공개 기능 편집(모델 $model) { return view('someview.edit')->with(['model' => $model, ]); }
다른 Laravel 유효성 검사기처럼 사용하세요.
'uuid-field' => 'uuid'
또는 처음부터 유효성 검사기를 만듭니다. 이 예에서는 Uuid 객체가 검증되었습니다. 문자열 $uuid->string
, URN $uuid->urn
또는 바이너리 값 $uuid->bytes
의 유효성을 검사할 수도 있습니다.
$uuid = Uuid::generate();$validator = 유효성 검사기::make(['uuid' => $uuid], ['uuid' => 'uuid']);dd($validator->passes()) ;
UUID 사양에 대한 자세한 내용은 http://tools.ietf.org/html/rfc4122에서 확인할 수 있습니다.