Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- class ActivityLogFactory extends Nette\Object implements IControlFactory {
- public function setTranslator(Nette\Localization\ITranslator $translator) {
- echo "TEST";
- die();
- }
- public function create(array $activities)
- {
- return new Components\ActivityLog($activities);
- }
- }
- ?>
- <?php
- use
- Nette\DI\Compiler,
- Nette\DI\ContainerBuilde;
- class ControlFactoryExtension extends Nette\Config\CompilerExtension {
- public function afterCompile(Nette\Utils\PhpGenerator\ClassType $class)
- {
- $builder = $this->getContainerBuilder();
- $definitions = $builder->getDefinitions();
- $translatorType = $builder->getByType("Nette\Localization\ITranslator");
- $translator = $builder->getDefinition($translatorType);
- foreach ($definitions as $definition) {
- $classReflection = new Nette\Reflection\ClassType($definition->class);
- if ($classReflection->implementsInterface("IControlFactory")) {
- $definition->addSetup("setTranslator", array($translator));
- }
- }
- }
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment