Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
symfony2控制台参数_Symfony_Console_Command Line Arguments - Fatal编程技术网

symfony2控制台参数

symfony2控制台参数,symfony,console,command-line-arguments,Symfony,Console,Command Line Arguments,我想为symfony命令创建一个名为的参数/选项。并希望symfony区分这3个选项: my:command,意思类似于my:command--arg=null my:command--arg,意思是my:command--arg=defalutValue my:command--arg=someValue,它是完全显式的 也就是说,我希望该命令下的代码有两种工作模式:默认模式和带有附加参数的非默认模式,并且arg应该有默认值 我知道,我可以创建2个参数,但我正在寻找一个参数来管理所有解决方

我想为symfony命令创建一个名为的参数/选项。并希望symfony区分这3个选项:

  • my:command
    ,意思类似于
    my:command--arg=null
  • my:command--arg
    ,意思是
    my:command--arg=defalutValue
  • my:command--arg=someValue
    ,它是完全显式的
也就是说,我希望该命令下的代码有两种工作模式:默认模式和带有附加参数的非默认模式,并且arg应该有默认值

我知道,我可以创建2个参数,但我正在寻找一个参数来管理所有解决方案


是否可以通过内置类实现这一点,还是应该创建自定义类?如果解决方案仅适用于自定义类,请告诉我从何处开始(即“创建…”的子类”或“安装名为…”的捆绑包),因为我不熟悉Symfony2的体系结构。

Symfony2具有可单独使用的控制台组件。您可以查看文档。有关更多示例,您可以检查SensioGeneratorBundle。

可能:

->addOption('arg', 'a', InputOption::VALUE_NONE)
  • my:command=>
    $input->getOption('arg')//false
  • my:command--arg=>
    $input->getOption('arg')//true
  • my:command--arg=5=>
    $input->getOption('arg')//5

    • corvax的回答不正确且不起作用。从今天起,你无法做到这一点

      甚至在控制台文档中也有说明:

      另请参见GitHub上的这些问题:


      我已经阅读了文档,但没有找到创建此树方式选项/参数的方法。我不需要单独使用这个组件。我需要一种方法来解决这个问题,或者认可,这是无法解决的。如果我错了,请纠正我,这是我第一次使用这种方法,但我认为,为了获得这个结果,必须使用InputOption::VALUE\u OPTIONAL作为第三个参数。事实上,使用InputOption::VALUE\u NONE时,会出现运行时异常:该选项不接受值。使用
      InputOption::VALUE\u NONE
      时,如果选项获得值,则会出现异常