CLIRequest 类
如果请求来自命令行调用,则请求对象实际上是一个 CLIRequest
。它的行为与 常规请求 相同,但添加了一些方便的访问器方法。
额外的访问器
getSegments()
返回被视为路径一部分的命令行参数数组:
<?php
// command line: php index.php users 21 profile --foo bar
echo $request->getSegments(); // ['users', '21', 'profile']
getPath()
返回重构后的路径字符串:
<?php
// command line: php index.php users 21 profile --foo bar
echo $request->getPath(); // users/21/profile
getOptions()
返回被视为选项的命令行参数数组:
<?php
// command line: php index.php users 21 profile --foo bar
echo $request->getOptions(); // ['foo' => 'bar']
getOption($key)
返回被视为选项的特定命令行参数的值:
<?php
// command line: php index.php users 21 profile --foo bar
echo $request->getOption('foo'); // bar
echo $request->getOption('notthere'); // null
getOptionString()
返回重构后的命令行选项字符串:
<?php
// command line: php index.php users 21 profile --foo bar
echo $request->getOptionString(); // -foo bar
向第一个参数传递 true
将尝试使用两个破折号编写长选项:
<?php
// php index.php user 21 --foo bar -f
echo $request->getOptionString(); // -foo bar -f
echo $request->getOptionString(true); // --foo bar -f