Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private function autoCreateInstanceFromDI($class) {
- $ref = \Nette\Reflection\ClassType::from($class);
- $construct = $ref->getMethod('__construct');
- $classesObjs = array();
- foreach ($construct->getParameters() as $param) {
- $classesObjs[] = $this->context->getByType($param->getClassName());
- }
- return $ref->newInstanceArgs($classesObjs);
- }
- public function createComponent($name) {
- if (\Nette\Utils\Strings::startsWith($name,'Script')) {
- $class = "Control$name";
- return $this->autoCreateInstanceFromDI($class);
- } else {
- return parent::createComponent($name);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment