majkl578/nette-injects-extension

此包已被废弃,不再维护。没有建议的替代包。

Nette 框架依赖注入扩展,用于将服务注入到其他服务的属性中。

v0.1.0 2013-12-12 18:17 UTC

This package is auto-updated.

Last update: 2020-01-30 10:41:34 UTC


README

Nette 框架依赖注入扩展,用于将服务注入到其他服务的属性中。

动机

编写构造函数/设置器注入有时令人烦恼,而且在开发过程中可能会花费大量时间。此外,如果没有必要,简单地不进行显式注入会更简单(例如,在小型应用程序、非公开项目等情况下)。

要求

  • PHP 5.3.1 或更高版本
  • Nette 2.1 或更高版本

安装

  1. 将 "majkl578/nette-injects-extension" 添加到 composer.json 中的依赖项。不要忘记运行 composer update

  2. 在配置文件中扩展部分将此 DI 扩展注册为最后一个

    injects: Majkl578\NetteAddons\Injects\DI\Extension\InjectsExtension
    
  3. 删除缓存。

完成了。 ;)

用法

支持所有类型的实例属性 - 公共的、受保护的以及私有的。您还可以注入一组类型的类,例如,实现某个接口的所有实现者。这也适用于命名空间代码和使用。

class Foo
{
	/**
	 * @inject
	 * @var Foo
	 */
	public $foo;

	/**
	 * @inject
	 * @var Bar
	 */
	protected $bar;

	/**
	 * @inject
	 * @var Baz
	 */
	private $baz;

	/**
	 * @inject
	 * @var IWatcher[]
	 */
	 protected $watchers;
}

问题

如果遇到任何问题,只需在 GitHub 上留下一个 issue(或者,更好的是,发送一个 pull request)。