darkknightik/nette-injects-extension

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

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

This package is not auto-updated.

Last update: 2024-10-02 10:04:43 UTC


README

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

动机

编写构造函数/设置器注入有时很烦人,在开发过程中可能会消耗很多时间。此外,如果没有必要(例如在小型应用、非公开项目等),则无需处理显式注入会更简单。

要求

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

安装

  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 上留下问题(或者,更好的是,发送一个 pull 请求)。