1

我正在使用symfony/console. 现在我想为我的服务设置自动装配,这样我就不必在 services.yml 文件中定义每个服务。
我从Symfony\Component\HttpKernel\Kernel和复制Symfony\Bundle\FrameworkBundle\Console\Application了很多代码Symfony\Component\HttpKernel\Bundle\Bundle
如果我有一个没有依赖注入的简单命令,当我调用我的 bin/console 可执行文件时会显示该命令,但不会显示每个需要 DI 的命令。

由于这是一个仅通过 cli 运行且从不通过 Web 运行的仅控制台应用程序,因此我不想添加symfony/http-kernel包的开销。

有没有简单的方法来实现这一点?
我认为 symfony 应该使用松耦合,这将是一项简单的任务,但目前我对它使用的硬耦合以及我必须为看起来像框架的基本特性的东西添加的开销感到非常失望.

4

1 回答 1

0

由于似乎没有针对此问题的现有解决方案,因此我构建了一个可以通过 composer 需要的小包。

您可以在此处获取捆绑包:https ://packagist.org/packages/eydamos/console-bundle

功能请求和问题可以放在相应的 github 存储库中。

我也计划为 symfony 4 发布一个版本。

于 2018-01-04T15:08:24.070 回答