1. Go to this page and download the library: Download tailflow/dto library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
tailflow / dto example snippets
namespace App\DataTransferObjects;
use Tailflow\DataTransferObjects\DataTransferObject;
class Address extends DataTransferObject
{
public string $country;
public string $city;
public string $street;
}
namespace App\DataTransferObjects;
use Tailflow\DataTransferObjects\DataTransferObjectCollection;
class WorkAddresses extends DataTransferObjectCollection
{
public static function getItemClass(): string
{
return Address::class;
}
}
namespace App\Models;
use App\DataTansferObjects\Address;
use App\DataTansferObjects\WorkAddresses;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
protected $casts = [
'address' => Address::class,
'work_addresses' => WorkAddresses::class,
];
}
function getAddress(Address $originalAddress): Address
{
$address = new Address();
$address->county = $originalAddress->country;
$address->city = 'Tokyo';
$address->street = '4-2-8 Shiba-koen';
return $address;
}
// or
function getAddress(): Address
{
return new Address(
[
'country' => 'Japan',
'city' => 'Tokyo',
'street' => '4-2-8 Shiba-koen',
]
);
}