3v4l.org

run code in 300+ PHP versions simultaneously
<?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 git.master, git.master_jit, rfc.property-hooks
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" }

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
27.68 ms | 408 KiB | 5 Q