55require_once __DIR__ . '/../../vendor/autoload.php ' ;
66
77use Constructo \Core \Deserialize \Demolisher ;
8- use Constructo \Support \Set ;
9- use Constructo \Type \Timestamp ;
8+ use DateTime ;
109
1110// Defina sua entidade informando os valores das propriedades no construtor
1211readonly class User
1312{
1413 public function __construct (
1514 public int $ id ,
1615 public string $ name ,
17- public Timestamp $ birthDate ,
16+ public DateTime $ birthDate ,
1817 public bool $ isActive = true ,
1918 public array $ tags = [],
2019 ) {}
@@ -24,18 +23,17 @@ public function __construct(
2423$ user = new User (
2524 id: 1 ,
2625 name: 'João Silva ' ,
27- birthDate: new Timestamp ('1981-08-13 ' ),
26+ birthDate: new DateTime ('1981-08-13 ' ),
2827 isActive: true ,
2928 tags: ['nice ' , 'welcome ' ],
3029);
3130
3231// Crie um novo demolisher e use-o para destruir o objeto
3332$ object = (new Demolisher ())->demolish ($ user );
3433
35- $ set = Set::createFrom ((array ) $ object );
3634echo "# Usuário: \n" ;
37- echo sprintf ("# ID: %s \n" , $ set -> get ( ' id ' ) );
38- echo sprintf ("# Nome: %s \n" , $ set -> get ( ' name ' ) );
39- echo sprintf ("# Ativo: %s \n" , $ set -> get ( ' is_active ' ) ? 'Sim ' : 'Não ' );
40- echo sprintf ("# Tags: %s \n" , implode (', ' , $ set -> get ( ' tags ' ) ));
41- echo sprintf ("# Data de Nascimento: %s \n" , $ set -> get ( ' birth_date ' ) );
35+ echo sprintf ("# ID: %s \n" , $ object -> id );
36+ echo sprintf ("# Nome: %s \n" , $ object -> name );
37+ echo sprintf ("# Ativo: %s \n" , $ object -> is_active ? 'Sim ' : 'Não ' );
38+ echo sprintf ("# Tags: %s \n" , implode (', ' , $ object -> tags ));
39+ echo sprintf ("# Data de Nascimento: %s \n" , $ object -> birth_date );
0 commit comments