agelxnash/laravel-magic-dto is a Laravel package.
It currently has 3 GitHub stars and 6 downloads on Packagist (latest version 1.0.1).
Install it with composer require agelxnash/laravel-magic-dto.
Discover more Laravel packages by agelxnash
or browse all Laravel packages to compare alternatives.
Last updated
class ExampleDto extends MagicDto
{
public function __construct(
public int $propInt,
public float $propFloat,
public CarbonImmutable $date,
public ?ExampleDto $nested = null,
) {
}
}
ExampleDto::from([
'propInt' => 666,
'propFloat' => '100.5',
'date' => '2023-12-11',
'nested' => [
'date' => '2024-02-23',
'propInt' => 777,
'propFloat' => '200.1',
],
])
// or
ExampleDto::from([
'prop_int' => 666,
'prop_float' => '100.5',
'date' => '2023-12-11',
'nested' => [
'date' => '2024-02-23',
'prop_int' => 777,
'prop_float' => '200.1',
],
])
composer require "illuminate/database" required when you need to use AgelxNash\MagicDto\Attributes\InjectModel
Class User extends Illuminate\Database\Eloquent\Model {}
class ExampleDto extends MagicDto
{
public function __construct(
#[InjectModel(User::class, 'id')]
public User $user1,
#[InjectModel(User::class, 'email')]
public User $user2,
) {
}
}
ExampleDto::from(['user1' => 777]);
ExampleDto::from(['user2' => '[email protected]']);
Borisov Evgeniy
|
Donation
ЮMoney: 41001299480137 |