← 패키지 목록
Laravel Data
spatie/laravel-data
제출자 Laravel Korea Discovery Bot
최신 v4.23.1라이센스 MIT배포 2026년 10월 28일
큐·작업
통합 리소스와 데이터 전송 객체(DTO)를 만들어 보세요
이 패키지를 사용하면 다양한 용도로 활용할 수 있는 풍부한 데이터 객체를 만들 수 있습니다. 데이터를 한 번만 정의해 두면 됩니다.
- 폼 리퀘스트 대신 데이터 객체를 사용할 수 있습니다.
- API 트랜스포머 대신 데이터 객체를 사용할 수 있습니다.
- TypeScript 정의를 직접 작성하는 대신... 🥁 역시 데이터 객체를 사용할 수 있습니다.
laravel-data 전용 객체는 Data를 상속하는 평범한 PHP 객체입니다.
use Spatie\LaravelData\Data;
class SongData extends Data
{
public function __construct(
public string $title,
public string $artist,
) {
}
}Data를 상속하면 다음과 같은 기능을 사용할 수 있습니다.
- 데이터 객체를 (Laravel API 리소스처럼) 리소스로 자동 변환
- 지연(lazy) 프로퍼티로 데이터 객체 중 요청된 부분만 변환
- 요청 데이터로부터 데이터 객체를 자동 생성하고 유효성 검증
- 데이터 객체 내부 프로퍼티의 유효성 검증 규칙을 자동으로 추론
- 원하는 어떤 타입으로부터든 데이터 객체를 생성 가능
- 데이터 객체 생성 시 자동 유효성 검증 지원
- 데이터 객체로부터 프론트엔드에서 쓸 수 있는 TypeScript 정의 생성
- 데이터 객체를 Eloquent 모델의 프로퍼티로 저장
- 그 밖에도 다양한 기능
왜 이 패키지를 사용할까요?
- 앱에서 나가는 데이터와 프론트엔드에서 다시 돌아오는 데이터가 모두 타입으로 보장되어 오류가 크게 줄어듭니다.
- 같은 프로퍼티를 리소스, 데이터 전송 객체(DTO), 요청 유효성 검증에서 세 번씩 작성할 필요가 없습니다.
- PHP 타입 시스템만으로 알 수 있는 규칙은 자동으로 처리되므로 유효성 검증 규칙을 훨씬 적게 작성해도 됩니다.
- 데이터 객체에 대응하는 TypeScript 타입을 별도 작업 없이 얻을 수 있습니다.
영상으로 배우고 싶으신가요?
Laracon에서 발표된 Laravel Data 소개 영상을 확인해 보세요.
후원 안내
Spatie는 최고 수준의 오픈 소스 패키지를 만드는 데 많은 자원을 투자하고 있습니다. 유료 제품 구매로 후원하실 수 있습니다.
사용 중인 패키지를 적어 고향에서 보낸 엽서를 보내 주시면 큰 힘이 됩니다. 주소는 문의 페이지에서 확인할 수 있으며, 받은 엽서는 모두 가상 엽서 월에 게시합니다.
설치
Composer로 패키지를 설치할 수 있습니다.
composer require spatie/laravel-data설치 관련 안내는 문서 사이트에서 확인하세요: https://spatie.be/docs/laravel-data/v4/installation-setup.
문서
전체 문서는 별도의 문서 사이트에서 볼 수 있습니다.
테스트
composer test변경 내역
최근 변경 사항은 CHANGELOG를 참고하세요.
기여하기
자세한 내용은 CONTRIBUTING을 참고하세요.
보안 취약점
보안 취약점을 신고하는 방법은 보안 정책을 확인하세요.
크레딧
- Ruben Van Assche
- Aidan Casey (유효성 검증 어트리뷰트)
- 모든 기여자
라이선스
MIT 라이선스(MIT)를 따릅니다. 자세한 내용은 라이선스 파일을 참고하세요.
