Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- // BaseControL.php:
- abstract class BaseControl extends Nette\Application\UI\Control {
- protected $translator;
- public function __construct(Nette\Localization\ITranslator $translator)
- {
- parent::__construct();
- $this->translator = $translator;
- }
- protected function createTemplate($class = NULL) {
- $template = parent::createTemplate($class);
- $template->registerHelperLoader('Helpers::loader');
- $template->setTranslator($this->translator);
- // ...
- return $template;
- }
- }
- // RandomControL.php:
- final class RandomControl extends BaseControl {
- private $randomDependency;
- public function __construct(Nette\Localization\ITranslator $translator, RandomClass $randomDependency) // Nutnost opakovani konstruktoru
- {
- parent::__construct($translator);
- $this->randomDependency = $randomDependency;
- }
- public function render() { /* ... */ }
- }
- // RandomControLFactory.php:
- final class RandomControlFactory {
- private $translator;
- private $randomDependency;
- public function __construct(Nette\Localization\ITranslator $translator, RandomClass $randomDependency)
- {
- parent::__construct($translator);
- $this->translator = $translator;
- $this->randomDependency = $randomDependency;
- }
- public function create() {
- return new RandomControl($this->translator, $this->randomDependency);
- }
- }
- // RandomPresenter.php:
- final class RandomPresenter extends BasePresenter {
- public function __construct(Nette\Localization\ITranslator $translator, RandomClass $randomDependency)
- {
- parent::__construct($translator);
- $this->translator = $translator;
- $this->randomDependency = $randomDependency;
- }
- protected function createComponentRandomControl(RandomControlFactory $randomControLFactory) { // Diky Kdyby\Autowired nemusim injectovat
- return $randomControlFactory->create();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment