如何访问 CakePHP Shell 参数?
How to access CakePHP Shell Arguments?
我正在制作蛋糕 shell 脚本。当我使用一些命名参数时,例如:
--username=world
如何获取 "username" 参数/值?
我的代码如下所示:
class InviteShell extends AppShell
{
//... here are my methods.
public function getOptionParser()
{
$parser = parent::getOptionParser();
$parser->addArgument('username', array(
'help' => 'Send E-Mail to which user?'
))->addOption('method', array(
'short' => 'm',
'help' => __('The specific method you want help on.')
))->description(__('Lookup doc block comments for classes in CakePHP'));
return $parser;
}
}
参数和选项有什么区别?还有我如何在我的代码中读取这些选项?
唯一可行的是我可以读取 $this->args 数组,但它没有命名。我所能做的就是通过索引获取 arg,例如:$this->args[0]
我正在使用 Cake 2.9
参数是位置值,选项是前缀值:
shell_method argument1 argument2 --optionA=value --optionB=value
所以在你的情况下 username
是一个位置参数,将在位置 0
处查找,而 method
是一个可以出现在任何地方的前缀选项。
shell_method userA --method=methodX
shell_method --method=methodX userA
在这两种情况下,userA
值将在 $this->args[0]
中可用,而 methodX
值将在 $this->params['method']
中或通过 $this->param('method')
可用。
另见
我正在制作蛋糕 shell 脚本。当我使用一些命名参数时,例如:
--username=world
如何获取 "username" 参数/值?
我的代码如下所示:
class InviteShell extends AppShell
{
//... here are my methods.
public function getOptionParser()
{
$parser = parent::getOptionParser();
$parser->addArgument('username', array(
'help' => 'Send E-Mail to which user?'
))->addOption('method', array(
'short' => 'm',
'help' => __('The specific method you want help on.')
))->description(__('Lookup doc block comments for classes in CakePHP'));
return $parser;
}
}
参数和选项有什么区别?还有我如何在我的代码中读取这些选项?
唯一可行的是我可以读取 $this->args 数组,但它没有命名。我所能做的就是通过索引获取 arg,例如:$this->args[0]
我正在使用 Cake 2.9
参数是位置值,选项是前缀值:
shell_method argument1 argument2 --optionA=value --optionB=value
所以在你的情况下 username
是一个位置参数,将在位置 0
处查找,而 method
是一个可以出现在任何地方的前缀选项。
shell_method userA --method=methodX
shell_method --method=methodX userA
在这两种情况下,userA
值将在 $this->args[0]
中可用,而 methodX
值将在 $this->params['method']
中或通过 $this->param('method')
可用。
另见