3v4l.org

run code in 300+ PHP versions simultaneously
<?php namespace App\Entity; abstract class Entity { protected $repository; protected $transformColumns = []; protected $transformValues = []; protected $properites = []; public function __construct () { $this->transformColumns = [ 'archivedAt' => (function ($column) { return 'archived_at'; }) ]; } public function set (string $column, $value) { if (isset($this->transformColumns[$column])) { $column = $this->transformColumns[$column]($column); } if (isset($this->transformValues[$column])) { $value = $this->transformValues[$column]($value); } $this->properites[$column] = $value; return; } public function __set ($column, $value) { return $this->set($column, $value); } public function get(string $column) { if (isset($this->transformColumns[$column])) { $column = $this->transformColumns[$column]($column); } return $this->properites[$column]; } public function __get ($column) { return $this->get($column); } } $o = new Entity(); $o->archived_at = (new DateTime())->format('d-m-Y H:i:s'); echo '<pre>', var_dump($o), '</pre>';
Output for git.master, git.master_jit, rfc.property-hooks
Fatal error: Uncaught Error: Cannot instantiate abstract class App\Entity\Entity in /in/FXohP:47 Stack trace: #0 {main} thrown in /in/FXohP on line 47
Process exited with code 255.

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:
53.27 ms | 401 KiB | 8 Q