- var_dump: documentation ( source)
<?php
class PhpNw15Conference { public function listSpeakers() { return array('James Mallison', 'Some universally hated Ruby developer'); }}
/**
* Class Controller
*/
class Controller extends BaseController
{
/**
* @return array
*/
public function __construct(PhpNw15Conference $conference)
{
$this->conference = $conference;
}
public function speakersAction()
{
$speakers = $this->conference->listSpeakers();
/** Pass to template or CLI runner **/
return $speakers;
}
}
/** Controller Resolver **/
$controller = 'Controller'; // Retrieved from URL + YAML config
$action = 'speakersAction'; // Retrieved from URL + Yaml config
$params = array(); // Retrieved from GET / POST parameters
$reflector = new \ReflectionClass('Controller');
foreach ($reflector->getConstructor()->getParameters() as $parameter)
{
$className = $parameter->getClass()->getName();
$parameter = new $className;
}
var_dump((new $controller($parameter))->$action($params));