gpt4 book ai didi

symfony - 在 Symfony 2 控制台命令中获取服务容器给出 "getKernel() on a non-object"

转载 作者:行者123 更新时间:2023-12-04 00:28:22 25 4
gpt4 key购买 nike

configure()功能,我试图获取服务容器

class SetQuotaCommand extends ContainerAwareCommand {

protected function configure() {
parent::configure();
die(get_class($this->getContainer()));

PHP Fatal error: Call to a member function getKernel() on a non-object in ...\Symfony\Bundle\FrameworkBundle\Command\ContainerAwareCommand.php on line 37



我需要做一些不同的事情吗?

更新

我注意到如果我调用 getContainer 就可以了。在 execute() .但我想知道它是否可能 getContainer()configure() .我想得到一个用于 addOption 的配置参数默认值参数。

否则我可以使用
$param1 = $input->getOption('param1') ? : $container->getParameter('param1'); 

哪个看起来更不直观?

最佳答案

调用 $this->container = $this->getApplication()->getKernel()->getContainer();在执行()中。
https://stackoverflow.com/a/7517803/297679

关于symfony - 在 Symfony 2 控制台命令中获取服务容器给出 "getKernel() on a non-object",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8738931/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com