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($which)

返回被视为选项的特定命令行参数的值:

<?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