majkl578 / nette-injects-extension
此包已被废弃,不再维护。没有建议的替代包。
Nette 框架依赖注入扩展,用于将服务注入到其他服务的属性中。
v0.1.0
2013-12-12 18:17 UTC
Requires
- php: >=5.3.1
- nette/nette: ~2.1.0-RC2@rc
This package is auto-updated.
Last update: 2020-01-30 10:41:34 UTC
README
Nette 框架依赖注入扩展,用于将服务注入到其他服务的属性中。
动机
编写构造函数/设置器注入有时令人烦恼,而且在开发过程中可能会花费大量时间。此外,如果没有必要,简单地不进行显式注入会更简单(例如,在小型应用程序、非公开项目等情况下)。
要求
- PHP 5.3.1 或更高版本
- Nette 2.1 或更高版本
安装
-
将 "
majkl578/nette-injects-extension
" 添加到 composer.json 中的依赖项。不要忘记运行composer update
。 -
在配置文件中扩展部分将此 DI 扩展注册为最后一个
injects: Majkl578\NetteAddons\Injects\DI\Extension\InjectsExtension
-
删除缓存。
完成了。 ;)
用法
支持所有类型的实例属性 - 公共的、受保护的以及私有的。您还可以注入一组类型的类,例如,实现某个接口的所有实现者。这也适用于命名空间代码和使用。
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)。