Laravel은 간단하고 유지 관리 가능하며 표현력이 뛰어난 코드 구조를 제공하는 데 전념하는 인기있는 PHP 프레임 워크입니다. 프레임 워크에는 많은 강력하고 실용적인 기능이 내장되어 있으며 그 중 하나는 UUID를 자동으로 생성하는 것입니다. UUID (범용 고유 식별자)는 다양한 시스템, 특히 고유 식별 정보가 필요한 시나리오에서 널리 사용됩니다.
UUID, 전체 이름은 보편적으로 고유 한 식별자이며 각 정보 항목에 대해 고유 식별자를 제공 할 수있는 128 비트 값입니다. UUID가 생성되는 방식은 중앙 코디네이터에 의존하지 않으므로 충돌이없는 여러 다른 컴퓨터 나 시스템에서 독립적으로 생성 할 수 있습니다. 이로 인해 UUID는 분산 시스템에서 중요한 도구가되며 데이터베이스 레코드 및 네트워크 프로토콜과 같은 많은 분야에서 널리 사용됩니다.
Laravel에서 UUID를 사용하려면 먼저 데이터베이스 마이그레이션 파일의 데이터 테이블에 UUID 필드를 추가해야합니다. 마이그레이션 파일에서 다음과 같은 방법으로 설정할 수 있습니다.
Schema::create('my_table', function (Blueprint $table) {
$table->uuid('uuid')->unique();
// 다른 분야...
});
위의 코드에서는`uuid`라는 필드를 만들고 유형을 UUID로 설정합니다. 또한 각 UUID 값이`고유 ()`메소드를 통해 고유한지 확인합니다.
데이터베이스 테이블에 UUID 필드를 추가 한 후 Laravel은 각 새로운 레코드에 대해 UUID를 자동으로 생성 할 수 있습니다. 이 모델에서는 다음 코드를 사용하여 UUID를 자동으로 생성 할 수 있습니다.
use Ramsey\Uuid\Uuid;
class MyModel extends Model
{
public $incrementing = false;
protected $primaryKey = 'uuid';
protected static function boot()
{
parent::boot();
static::creating(function ($model) {
$model->uuid = Uuid::uuid4()->toString();
});
}
}
위의 코드에서는`Ramsey \ uuid \ uuid` 클래스를 소개하고 모델의 '생성'이벤트에서 UUID를 생성합니다. 모델을 저장하기 전에 UUID는 모델의 'UUID'필드에 자동으로 할당됩니다.
UUID 생성 로직이 모델에 설정되면 Laravel 모델을 정상적으로 사용하는 것이 좋습니다. 예를 들어, 새 레코드를 삽입 할 때 UUID는 데이터 테이블의 UUID 필드를 자동으로 생성하고 채 웁니다.
App\Models\MyModel::create([
'name' => 'my name',
// 다른 분야...
]);
삽입 작업을 수행 할 때 Laravel은 'UUID'필드에 고유 한 UUID 값을 자동으로 생성하여 저장합니다.
Laravel의 자동 UUID 생성 기능을 통해 개발자는 각 레코드에 대한 고유 식별자를 쉽게 생성 할 수 있습니다. 데이터베이스 마이그레이션에서 UUID 필드를 작성하고 모델에서 UUID를 자동으로 생성하는 기능을 구현하면 UUID를 수동으로 관리하는 복잡성을 피할 수 있습니다. UUID의 분산 특성으로 응용 프로그램은 여러 분산 시스템에서 고유 한 신원이 생성되도록하여 데이터 충돌을 피할 수 있습니다.