Ejemplo n.º 1
0
 public function bind(\ntentan\Controller $controller, $type)
 {
     if ($type == 'ntentan\\Model') {
         $type = InjectionContainer::singleton(\ntentan\nibii\interfaces\ClassResolverInterface::class)->getModelClassName($controller->getWyfPackage(), null);
     }
     return parent::bind($controller, $type);
 }
Ejemplo n.º 2
0
 public static function get($type)
 {
     if (isset(self::$binders[$type])) {
         return self::getCustomBinder(self::$binders[$type]);
     } else {
         return InjectionContainer::singleton(ModelBinderInterface::class);
     }
 }
Ejemplo n.º 3
0
 public function testSingleton()
 {
     InjectionContainer::bind(TestInterface::class)->to(TestClass::class);
     $object1 = InjectionContainer::singleton(TestInterface::class);
     $object2 = InjectionContainer::singleton(TestInterface::class);
     $object1->setValue(2);
     $this->assertEquals(2, $object1->getValue());
     $this->assertEquals(2, $object2->getValue());
 }
Ejemplo n.º 4
0
 public static function getRouter()
 {
     return panie\InjectionContainer::singleton(controllers\RouterInterface::class);
 }
Ejemplo n.º 5
0
 private function loadController($params = [])
 {
     $controller = $params['controller'];
     $action = isset($params['action']) ? $params['action'] : null;
     // Try to get the classname based on router parameters
     $controllerClassName = InjectionContainer::singleton(interfaces\ControllerClassResolverInterface::class)->getControllerClassName($controller);
     // Try to resolve the classname
     $resolvedControllerClass = InjectionContainer::getResolvedClassName($controllerClassName);
     if ($resolvedControllerClass) {
         // use resolved class name
         $params['controller_path'] = $controller;
         $controllerInstance = InjectionContainer::resolve($controllerClassName);
     } else {
         if (class_exists($controller)) {
             // use controller class
             $controllerInstance = InjectionContainer::resolve($controller);
         } else {
             $this->attemptedControllers[] = $controllerClassName;
             return false;
         }
     }
     $this->routerVariables += $params;
     $controllerInstance->executeControllerAction($action, $params);
     return true;
 }
Ejemplo n.º 6
0
 /**
  * Returns an instance of the current caching backend.
  * 
  * @return \ntentan\kaikai\CacheBackendInterface
  */
 private static function getInstance()
 {
     return \ntentan\panie\InjectionContainer::singleton(self::$backendClass);
 }
Ejemplo n.º 7
0
Archivo: Db.php Proyecto: ntentan/atiaa
 /**
  * 
  * @return Driver
  */
 public static function getDriver()
 {
     return InjectionContainer::singleton(Driver::class);
 }
Ejemplo n.º 8
0
 public static function getClassName($model, $context = null)
 {
     return InjectionContainer::singleton(interfaces\ModelClassResolverInterface::class)->getModelClassName($model, $context);
 }