如何在命令类之外获取命令参数?

2024-03-15

我向doctrine:fixtures:load 命令添加了自定义选项。现在我想知道如何在自定义装置类中获取此命令选项:

class LoadUserData implements FixtureInterface, ContainerAwareInterface {

  private $container;
  /**
   * {@inheritDoc}
   */
  public function load(ObjectManager $manager) {

  }

  public function setContainer(ContainerInterface $container = null) {
    $this->container = $container;
  }
}

有什么建议么?


所以如果你已经延长了Doctrine\Bundle\FixturesBundle\Command\LoadDataFixturesDoctrineCommand并设法添加一个附加参数,然后您可以设置作为容器参数传递的值。

<?php

namespace Your\Bundle\Command;

use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
use Doctrine\Bundle\FixturesBundle\Command\LoadDataFixturesDoctrineCommand;

class LoadDataFixturesCommand extends LoadDataFixturesDoctrineCommand
{
    /**
     * {@inheritDoc}
     */
    protected function configure()
    {
        parent::configure();

        $this->addOption('custom-option', null, InputOption::VALUE_OPTIONAL, 'Your Custom Option');
    }

    /**
     * {@inheritDoc}
     */
    protected function execute(InputInterface $input, OutputInterface $output)
    {
        $this->getContainer()->setParameter('custom-option', $input->getOption('custom-option'));

        parent::execute($input, $output);
    }
}

然后在您的装置类中获取该容器参数。

class LoadUserData implements FixtureInterface, ContainerAwareInterface
{
    /**
     * If you have PHP 5.4 or greater, you can use this trait to implement ContainerAwareInterface
     *
     * @link https://github.com/symfony/symfony/blob/master/src/Symfony/Component/DependencyInjection/ContainerAwareTrait.php
     */
    use \Symfony\Component\DependencyInjection\ContainerAwareTrait;

    /**
     * {@inheritDoc}
     */
    public function load(ObjectManager $manager)
    {
        $customOption = $this->container->getParameter('custom-option');

        ///....
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在命令类之外获取命令参数? 的相关文章

随机推荐

  • 如何使用角度中的signalr读取从web api发送的数据?

    我想在角度客户端中通过 signalr 读取从 asp net web api 发送的数据 为此 我在下面给出的 Web api 中创建了 Hub ProgressHub cs public class ProgressHub Hub pu
  • Backbone 和 CoffeeScript 入门

    我认为这更多的是咖啡脚本 http coffeescript org 问题 我希望能够使用来自Backbone http documentcloud github com backbone in a foo coffee文件 我尝试使用 r
  • 能够通过单击按钮来更改单独 div 的颜色

    我正在创建一个婚礼清单网站 对于我的清单 我希望用户能够将待办事项的颜色更改为红色 琥珀色和绿色 红色表示未完成 琥珀色表示部分完成 绿色表示完成 我想知道如何实现这一点 我也希望将其保存到数据库中 提前致谢 in db 添加一列statu
  • 为什么 C 标准未定义不确定变量的使用?

    垃圾价值存储在哪里 用于什么目的 出于效率原因 C 选择不将变量初始化为某些自动值 为了初始化该数据 必须添加指令 这是一个例子 int main int argc const char argv int x return x 生成 pus
  • 结束日期不早于开始日期和日期选择器格式

    如果我删除日期格式 结束日期将隐藏开始日期之前的日期 问题是 我必须将日期格式更改为 dd mm yy 同时确保结束日期日期选择器无法从开始日期选择较早的日期 StartDate datepicker dateFormat dd mm yy
  • UTF-8 字符显示为 ISO-8859-1

    我在从数据库插入 读取 utf8 内容时遇到问题 我所做的所有验证似乎都表明我的数据库中的内容应该是 utf8 编码的事实 但它似乎是拉丁编码的 数据最初是从 CLI 的 PHP 脚本导入的 配置 Zend Framework Versio
  • 詹金斯管道 sh 添加新行

    我的管道 sh 块 sh set e terraform terraform plan var aws access key aws access key var aws secret key aws secret key var aws
  • jQuery.on('click') 在 jQuery.click 之前?

    我有一个外部脚本 我无法修改它 该脚本加载一个 a 按钮 并添加一个 jQuery 单击它 并以 return false 结束 我需要在这次点击时触发我自己的代码 当我加载页面时 a 不存在 所以我需要使用 on click 绑定 活 但
  • PHP 回显性能

    这些命令中哪一个执行效果最佳 最糟糕 为什么 echo A a B b C c echo A a B b C c echo A a B b C c echo A a B b C c 将是最快的 因为这里字符串的所有部分都直接复制到输出流 而
  • 如何从 iOS 11 beta 的 iOS 应用程序打开定位服务?

    if UIDevice currentDevice systemVersion floatValue gt 10 0 NSURL URL NSURL URLWithString App prefs root Privacy path LOC
  • QLineEdit 与 QValidator:无论输入有效性如何,都会对编辑完成做出反应?

    QLineEdit有信号QLineEdit editingFinished当用户完成编辑 例如按 Enter 键 时发出 但是 如果设置了验证器或输入掩码 则editingFinished仅当输入有效时才会发出 但是 无论输入的有效性如何
  • Xcode 14 beta 错误:存储的属性无法用“@available”标记为可能不可用

    当我在 Xcode 14 beta 上运行我的应用程序时 出现此错误 但我不知道如何修复它 存储的属性不能用 available 标记为可能不可用 当我运行 Xcode 13 时 它不会弹出 并且应用程序运行顺利 我在 xcworkspac
  • 确定传递依赖的来源

    我有一个项目 其中使用 sl4j 和 log4j 我最近向我的项目添加了一些新的依赖项 我添加的这些新依赖项之一包括对 logback classic 的传递依赖项 其中包括 sj4j 的另一个绑定 我想摆脱 logback 但我不知道我的
  • 如何在单击“阅读更多”按钮或链接时展开文本?

    我有一个 js 函数 可以在两个文本范围之间切换 一种是类折叠的较小文本 另一种是类展开的全文 这是我的js document ready function expanded hide expanded collapsed click fu
  • 高分表

    我希望在我的 Android 应用程序中添加一个 本地 而不是在线 高分表 并且我想了解解决该问题的最佳方法 我有一个用户列表 现在被保存到文件中并作为 User 对象数组读回 高分需要引用此数据以使用用户的姓名和照片等填充表 对于显示器
  • Google Chart Gannt 避免工具提示

    通过研究 我发现 Gannt Google Chart 上显示的工具提示不可自定义 因此我决定覆盖它 捕获由我的 gannt 矩形触发的悬停事件 如下所示 google visualization events addListener ch
  • 如何触发 IModel.BasicAcks?

    我第一次使用 RabbitMQ 的 NET API 我想出了一个对我来说似乎合理的用例 我想创建发布消息并在消息被确认后执行某些操作的发布者 IModel BasicAcks 事件似乎是了解这一点的好方法 所以 我给出版商写了一封信 pri
  • 识别并计算咒语(每组内的独特事件)

    我正在寻找一种有效的方法来识别时间序列中的咒语 运行 在下图中 前三列是我所拥有的 第四列 spell这就是我想要计算的 我尝试过使用dplyr s lead and lag 但这变得太复杂了 我试过了rle但一无所获 ReprEx df
  • 如何在android中检查3g是否活跃

    我正在尝试检查我的手机中的 3G 是否处于活动状态 之后我必须触发一个 Intent 所以请有人帮助我 提前致谢 我最近编写的应用程序的另一个片段 TelephonyManager telManager telManager Telepho
  • 如何在命令类之外获取命令参数?

    我向doctrine fixtures load 命令添加了自定义选项 现在我想知道如何在自定义装置类中获取此命令选项 class LoadUserData implements FixtureInterface ContainerAwar