lulco/nette-autoinject

Nette Presenter中服务的分组自动注入

1.0.0 2015-12-17 20:58 UTC

This package is auto-updated.

Last update: 2024-09-05 18:38:46 UTC


README

Nette Presenter中服务的分组自动注入

背景

如果你需要将某些服务注入到展示者中仅仅是因为你需要它们来初始化,你的展示者看起来像这样

class BasePresenter extends Presenter
{
    /** @var Some\Service1 @inject */
    public $service1;

	/** @var Some\Service2 @inject */
    public $service2;

	/** @var Some\Service3 @inject */
    public $service3;
}

所以如果你想避免这种情况,你可以使用这个库。

用法

  1. 将NetteAutoInject Manager注册到config.neon中,并添加所有你想要在展示者中初始化的服务
services:
	...
	-
		class: Lulco\NetteAutoInject\Manager
		setup:
			- addService(Some\Service1())
			- addService(Some\Service2())
			- addService(Some\Service3())
	...
  1. 将Manager注入到展示者
class BasePresenter extends Presenter
{
    /** @var \Lulco\NetteAutoInject\Manager @inject */
    public $autoInject;
}

就这样了 :)