src/Dispatch/AppRunner.php
protected function injectVariables($object)
    {
        // Inject some properties when they're public
        $vars = array_keys(get_object_vars($object));

        foreach ($this->variables as $name => $value)
        {
            if (in_array($name, $vars))
                $object->$name = $value;
        }

        if (in_array('arguments', $vars))
            $object->arguments = $this->arguments;

        if (in_array('logger', $vars))
            $object->logger = Logger::getLogger(get_class($object));

        if (method_exists($object, 'setLogger'))
            $object->setLogger(Logger::getLogger(get_class($object)));
    }
protected function injectVariables($object)
    {
        // Inject some properties when they're public
        $vars = array_keys(get_object_vars($object));

        foreach ($this->variables as $name => $value)
        {
            if (in_array($name, $vars))
                $object->$name = $value;
        }

        if (in_array('arguments', $vars))
            $object->arguments = $this->arguments;

        if (in_array('logger', $vars))
            $object->logger = Logger::getLogger(get_class($object));

        if (method_exists($object, 'setLogger'))
            $object->setLogger(Logger::getLogger(get_class($object)));
    }
Get a list of public variables of the object, and set them to any variable assigned
using AppRunner#setVariable. A variable called 'logger' will be filled with a logger
instance of the class. If a method called 'setLogger' exists it will also be called
with this instance.

@param object $object The object to fill