spatie/laravel-data
این پکیج یک ابزار قدرتمند برای ساخت دادههای ساختاریافته در فریمورک لاراول است.
با استفاده از آن میتوانی دادههای ورودی (مثل درخواستهای API) یا خروجیها را به صورت تمیز، قابل خواندن و قابل تست مدیریت کنی.
کاربرد:
این پکیج به جای استفاده از آرایههای ساده یا Request کلاسهای سنگین، از Data Objects استفاده میکنه.
این یعنی میتونی مثلاً یک کاربر را به صورت یک شیء داده تعریف کنی که دارای قوانین اعتبارسنجی، تبدیل نوع، و ارتباطات (relations) باشه.
در چه شرایطی بهتره استفاده شود؟
وقتی داری یک API قدرتمند میسازی و میخوای دادهها رو به صورت تمیز و قابل پیشبینی پردازش کنی.
همچنین وقتی میخوای از تکرار کد جلوگیری کنی و دادههای ورودی/خروجی رو به صورت یکپارچه مدیریت کنی.
چند مثال از موارد استفاده:
- تبدیل دادههای درخواست API به یک شیء قابل استفاده با نوعدهی دقیق
- ایجاد پاسخهای استاندارد برای API با ساختار مشخص
- اعتبارسنجی دادهها در لایههای مختلف بدون نیاز به FormRequest
- مدیریت دادههای پیچیده مثل آپلود فایل + متاداده در یک شیء واحد
- ##laravel
- ##api
- ##data
- ##backend
- ##php
- ##web
- ##spatie
- ##clean
