<?php
class CustomerDTO
{
public function __construct(
public string $name,
public string $email,
public string $role = 'NONE',
) {}
}
$a = new CustomerDTO('name', 'email');
$b = new CustomerDTO(name: 'name', email: 'email');
$c = new CustomerDTO(email: 'email', name: 'name');
$d = new CustomerDTO(...['name' => 'name', 'email' => 'email']);
$e = new CustomerDTO(...['email' => 'email', 'name' => 'name']);
$f = new CustomerDTO(...['name', 'email']);
$g = new CustomerDTO('name', ...['role' => 'SOME ROLE', 'email' => 'email']);
var_dump($a);
var_dump($b);
var_dump($c);
var_dump($d);
var_dump($e);
var_dump($f);
var_dump($g);
- Output for 8.0.0, 8.1.23 - 8.1.33, 8.2.10 - 8.2.29, 8.3.0 - 8.3.25, 8.4.1 - 8.4.12
- object(CustomerDTO)#1 (3) {
["name"]=>
string(4) "name"
["email"]=>
string(5) "email"
["role"]=>
string(4) "NONE"
}
object(CustomerDTO)#2 (3) {
["name"]=>
string(4) "name"
["email"]=>
string(5) "email"
["role"]=>
string(4) "NONE"
}
object(CustomerDTO)#3 (3) {
["name"]=>
string(4) "name"
["email"]=>
string(5) "email"
["role"]=>
string(4) "NONE"
}
object(CustomerDTO)#4 (3) {
["name"]=>
string(4) "name"
["email"]=>
string(5) "email"
["role"]=>
string(4) "NONE"
}
object(CustomerDTO)#5 (3) {
["name"]=>
string(4) "name"
["email"]=>
string(5) "email"
["role"]=>
string(4) "NONE"
}
object(CustomerDTO)#6 (3) {
["name"]=>
string(4) "name"
["email"]=>
string(5) "email"
["role"]=>
string(4) "NONE"
}
object(CustomerDTO)#7 (3) {
["name"]=>
string(4) "name"
["email"]=>
string(5) "email"
["role"]=>
string(9) "SOME ROLE"
}
- Output for 7.3.0 - 7.3.25, 7.4.0 - 7.4.13
- Parse error: syntax error, unexpected 'public' (T_PUBLIC), expecting variable (T_VARIABLE) in /in/u3Ig5 on line 6
Process exited with code 255.
preferences:
95.2 ms | 408 KiB | 5 Q