Difference between revisions of "PHP/CLI"
< PHP
Jump to navigation
Jump to search
Line 17: | Line 17: | ||
* <code>[https://www.php.net/manual/en/function.fgetc.php fgetc()]</code> reads a single character, but waits for a CRLF | * <code>[https://www.php.net/manual/en/function.fgetc.php fgetc()]</code> reads a single character, but waits for a CRLF | ||
** See the comments for ways to wait for the user to actually just press a single character. | ** See the comments for ways to wait for the user to actually just press a single character. | ||
+ | * [https://pecl.php.net/package/ncurses ncurses]: [[PECL]] package last updated in 2012 | ||
+ | ** [https://toot.cat/@woozle/108742286886170198 2022-07-31 brief discussion] | ||
==Links== | ==Links== | ||
* [https://www.php.net/manual/en/features.commandline.php Using PHP from the command line] | * [https://www.php.net/manual/en/features.commandline.php Using PHP from the command line] |
Revision as of 15:01, 31 July 2022
Although PHP is most commonly used to write web applications, it can also be used for scripts that run from a command line interface (CLI). The CLI environment is a little different than the web environment, and PHP's current documentation doesn't make it easy to locate the relevant pieces.
Arguments
Predefined variables:
$argc
contains the number of arguments passed to the current script$argv[]
contains an array of all the arguments passed to the script$argv[0]
is always the name that was used to run the script.
Other:
getopt()
parses individual arguments in a standard way- Note that this ignores any options listed after non-options.
cli_get_process_title()
cli_set_process_title()
glob()
is the interface to the system's file-globbing function
Interactivity
- GNU Readline manages editable input lines
fgetc()
reads a single character, but waits for a CRLF- See the comments for ways to wait for the user to actually just press a single character.
- ncurses: PECL package last updated in 2012