Dynamic fields declaration with getters

Run Settings
LanguagePHP
Language Version
Run Command
<?php $payload = [ 'tenantFee' => 100, 'securityDeposit' => 200, // 'adminFee' => 400, ]; class Command { private array $payload; public function __construct(array $payload) { $this->payload = $payload; foreach ($payload as $field=>$value) { $this->$field = $value; } } public function __call($name, $arguments){ if (isset($this->$name)) { return $this->$name; } else if (substr($name, 0, 3 ) === "has") { $fieldname = lcfirst(substr($name, 3, strlen($name))); if (isset($this->payload[$fieldname])) { return true; } else return false; } else { throw new \Exception('something wrong'); } } } $command = new Command($payload); var_dump( $command->hasAdminFee(), $command->tenantFee(), $command->hasSecurityDeposit() );
Editor Settings
Theme
Key bindings
Full width
Lines