2013-11-02 69 views
0

我是.NET开发人员,对Symfony的IoC实现有一些疑问。 Symfony是否支持.NET风格(即Ninject,Castle Windsor等)构造函数注入。也就是说,我可以避免给每个服务赋予名称并将服务实现绑定到接口的必要性吗?我也可以不将每个控制器定义为使DI工作的服务吗? “控制器即服务”和services.yml(xml)中的手动配置构造函数的参数在经过多年.NET开发后似乎是多余的。谢谢。Symfony基于inteface的构造函数依赖注入

P.S.对不起我的英语不好。

回答

0

也就是说,我可以避免给每个服务命名的必要性,并将服务实现绑定到接口吗?

不,你不能。它也是我在di组件中缺少的一件事。

我也可以不定义每个控制器作为使DI工作的服务吗?

关于symfony2的一个好处是它消除了大部分基于约定的事情。做你建议的事情会给symfony增加一个新的约定。你可以检查KnpRadBundle,看看它们是如何基于约定实现其他服务的自动注册,并创建自己的包来实现控制器。