<?php
class Container {
public $name = "Anderson";
}
class Controller
{
protected $container;
public function __construct($container)
{
$this->container = $container;
}
public function __get($property)
{
if ($this->container->{$property})
{
return $this->container->{$property};
}
}
}
$container = new Container();
$controller = new Controller($container);
echo $controller->name, PHP_EOL;
echo $controller->email, PHP_EOL;
PD9waHAKCmNsYXNzIENvbnRhaW5lciB7CiAgICBwdWJsaWMgJG5hbWUgPSAiQW5kZXJzb24iOwp9CgpjbGFzcyBDb250cm9sbGVyCnsKCXByb3RlY3RlZCAkY29udGFpbmVyOwoKCXB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkY29udGFpbmVyKQoJewoJCSR0aGlzLT5jb250YWluZXIgPSAkY29udGFpbmVyOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBfX2dldCgkcHJvcGVydHkpCgl7CgkJaWYgKCR0aGlzLT5jb250YWluZXItPnskcHJvcGVydHl9KQoJCXsKCQkJcmV0dXJuICR0aGlzLT5jb250YWluZXItPnskcHJvcGVydHl9OwoJCX0KCX0KfQoKJGNvbnRhaW5lciA9IG5ldyBDb250YWluZXIoKTsKJGNvbnRyb2xsZXIgPSBuZXcgQ29udHJvbGxlcigkY29udGFpbmVyKTsKCmVjaG8gJGNvbnRyb2xsZXItPm5hbWUsIFBIUF9FT0w7CmVjaG8gJGNvbnRyb2xsZXItPmVtYWlsLCBQSFBfRU9MOw==