Guest User

Untitled

a guest
Nov 23rd, 2012
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 0.60 KB | None | 0 0
  1.  
  2.     private function autoCreateInstanceFromDI($class) {
  3.         $ref = \Nette\Reflection\ClassType::from($class);
  4.         $construct = $ref->getMethod('__construct');
  5.         $classesObjs = array();
  6.         foreach ($construct->getParameters() as $param) {
  7.             $classesObjs[] = $this->context->getByType($param->getClassName());
  8.         }
  9.         return $ref->newInstanceArgs($classesObjs);
  10.     }
  11.  
  12.     public function createComponent($name) {
  13.         if (\Nette\Utils\Strings::startsWith($name,'Script')) {
  14.             $class = "Control$name";
  15.             return $this->autoCreateInstanceFromDI($class);
  16.         } else {
  17.             return parent::createComponent($name);
  18.         }
  19.     }
Advertisement
Add Comment
Please, Sign In to add comment