<?php abstract class BaseLevel { public string $name { set => strtolower($value); } abstract public function getName(): string; } class FirstLevel extends BaseLevel { public function getName(): string { return ucfirst($this->name); } } class SecondLevel extends FirstLevel { public function getName(): string { return strtoupper($this->name); } } $firstLevel = new FirstLevel(); $firstLevel->name = 'John'; echo $firstLevel->name; echo $firstLevel->getName(); $secondLevel = new SecondLevel(); # $secondLevel->name = 'Jane'; echo $secondLevel->name; echo $secondLevel->getName();
You have javascript disabled. You will not be able to edit any code.
Here you find the average performance (time & memory) of each version. A grayed out version indicates it didn't complete successfully (based on exit-code).