Пакет Argonaut DTO для Laravel

2
Перекладено ШІ
Оригінал: Laravel News
Оновлено: 13 січня, 2026
Легкий пакет Data Transfer Object (DTO) Argonaut для Laravel пропонує зручні функції для роботи зі складними структурами даних. Досліджуйте, як цей пакет може спростити вашу роботу з API і сервісами, а також забезпечити захист ваших даних за допомогою вбудованої валідації

Argonaut DTO для Laravel — це легкий пакет Data Transfer Object (DTO), який підтримує вкладене перетворення, рекурсивну серіалізацію та валідацію з коробки. Він ідеально підходить для сервісних шарів, API і архітектурних робочих процесів:

class UserDTO extends ArgonautDTO
{
    public string $username;
    public string $email;

    protected array $casts = [
        'username' => 'string',
        'email' => 'string',
    ];

    public function rules(): array
    {
        return [
            'username' => ['required', 'string'],
            'email' => ['required', 'email'],
        ];
    }
}

Завдяки класам assembler пакета ви можете перетворювати сирі дані, такі як об’єкти або масиви, у DTO:

class UserDTOAssembler extends ArgonautAssembler
{
    public static function toUserDTO(object $input): UserDTO
    {
        return new UserDTO([
            'username' => $input->display_name,
            'email' => $input->email,
        ]);
    }
}

// Використання assembler'а
$user = UserDTOAssembler::assemble([
    'display_name' => 'jdoe',
    'email' => 'jdoe@example.com',
], UserDTO::class);

// Використання методу `fromArray`:
$user = UserDTOAssembler::fromArray($userData, UserDTO::class);

Після складання DTO ви можете валідувати об’єкт:

$user->validate(); // Викликає ValidationException
$user->validate(throw: false); // Повертає масив помилок
$user->isValid(); // true/false

# Основні функції

Дізнайтеся більше про цей пакет, отримайте повні інструкції з встановлення та перегляньте код джерела на GitHub

Популярні

Logomark Logotype

Laravel Boost — ваш стартовий набір для програмування з використанням штучного інтелекту

Вперше у світі Laravel з'являється можливість, яка значно спростить ваше повсякденне програмування завдяки новому пакету Laravel Boost. Читайте статтю, щоб дізнатися, як посилена інтеграція штучного інтелекту може підвищити ефективність вашої роботи та оптимізувати створення проектів у Laravel

Logomark Logotype

Журнал аудиту в Laravel

Хочете забезпечити повну прозорість у своїх Laravel-додатках? Пакет Laravel Audit Log допоможе вам детально відстежувати всі зміни моделей Eloquent та відповідати вимогам регуляторів. Читайте далі, щоб дізнатися, як цей потужний інструмент може підвищити надійність вашого проєкту

Logomark Logotype

Що нового в PHP 8.5

PHP 8.5 обіцяє безліч нових можливостей, таких як оператор Pipe, функції `array_first()` та `array_last()`, а також нове розширення URI. Чи готові ви дізнатися, як ці функції можуть спростити вашу розробку? Читайте далі, щоб дізнатися більше про ці захоплюючі нововведення