PHP:
Чтение аргументов командной строки
Как это сделать:
PHP использует глобальный массив $argv
для хранения аргументов командной строки, причём $argv[0]
является именем скрипта. Вот как это используется:
<?php
// проверяем, переданы ли какие-либо аргументы
if ($argc > 1) {
echo "Привет, " . $argv[1] . "!\n";
} else {
echo "Привет, кто бы ты ни был!\n";
}
?>
Если вы назовете этот скрипт sayhello.php
и запустите php sayhello.php Мир
, вывод будет:
Привет, Мир!
Нет аргументов? Получите:
Привет, кто бы ты ни был!
Глубокое Погружение
Исторически скрипты командной строки были основой системной автоматизации, задолго до того, как графические интерфейсы взяли верх. PHP, хотя и широко используется для веб-разработки, также предоставляет надежную поддержку CLI.
Два основных способа чтения аргументов в PHP - это $argv
и функция getopt()
. Первый представляет собой простой массив, в то время как getopt()
предоставляет более сложную функциональность, такую как разбор параметров (со значениями или без).
Что касается реализации, то $argv
и $argc
(количество аргументов) автоматически доступны в режиме CLI — не требуется дополнительной настройки. Они не присутствуют при выполнении веб-скриптов PHP, потому что это не их арена.
Но помните, если вы зарегистрируете argv
и argc
как глобальные переменные через php.ini
или конфигурацию сервера, их также можно будет получить в веб-скриптах. Хотя это редко необходимо и может представлять собой риск для безопасности.
Смотрите также
Для более сложного разбора командной строки:
Чтобы углубиться в CLI сервер PHP:
Взаимодействуйте с сообществом PHP: