Пример #1
0
 /**
  * Factory method
  * @param Resources $context
  * @return \static
  */
 public static function generate(Resources $context)
 {
     $fuse = new static();
     if ($context->has('logger')) {
         $fuse->setLogger($context->get('logger'));
     }
     $env = $context->config('application.environment');
     if ($env->exists()) {
         $fuse->setEnvironment($env->str());
     }
     return $fuse;
 }
Пример #2
0
 /**
  * @param Param $params
  * @return object
  * @throws Exception\RuntimeException
  */
 protected function controllerInstance(Param\Node $params, Resources $context, &$class = null)
 {
     // Get the parameter values
     $name = $params->value('controller');
     if (!$name) {
         throw new Exception\RuntimeException("Routing parameter 'controller' is empty", 5);
     }
     $class = $this->className($name);
     $instance = null;
     // Create the instance
     if ($context && $context->has($class)) {
         $instance = $context->get($class);
     } elseif (class_exists($class, true)) {
         $instance = new $class();
     }
     // Initialize
     if (method_exists($instance, 'init')) {
         $instance->init($context);
     }
     return $instance;
 }