我有一个命令行应用程序,目前使用了Symfony依赖注入组件。现在我想添加命令行选项并改进输出的格式,Symfony控制台组件似乎是一个不错的选择。
然而,我不知道如何让我的Symfony控制台命令类接收容器对象。
我找到的文档使用了ContainerAwareCommand类,但这是来自FrameworkBundle -- 在一个纯CLI应用中添加这个所需要的诸如路由、http、配置、缓存等相关组件显然是过度的负担,对我来说完全没有任何意义。
(现有的SO问题How can i inject dependencies to Symfony Console commands? 也假定了FrameworkBundle,顺带一提。)
我在这里创建了一个测试仓库,其中包含一个基本命令,以说明这个问题:https://github.com/joachim-n/console-with-di