Работа с консолью (CLI)

Допустим есть файл «show-hello.php» с кодом:

<?php
echo 'Привет мир';

И данную строку надо вывести в консоли. Это можно сделать через команду ниже:

php show-hello.php

В результате в консоли будет показан текст «Привет мир».

Если надо вывести текст в несколько строк, то для этого используется константа PHP_EOL.

echo 'Привет мир'.PHP_EOL.
     'Вторая строка'.PHP_EOL.
     'Третья строка';

Константа PHP_EOL подставляет символ переноса строки, в зависимости от текущей операционной системы.

Передача аргументов

Аргументы в PHP-файл можно передавать на примере ниже:

php show-hello.php Павел

Аргументы, передаваемые через консоль, доступны в массиве $argv.

echo 'Привет '.$argv[1]; // Привет Павел

Если надо передать строку с различными символами (пробел, восклицательный знак), то это можно сделать через кавычки.

php show-hello.php "Павел и Мария"

Первое значение массива $argv является имя текущего PHP-файла.

Запрос на ввод данных

Чтобы дать пользователю ввести данные в консоли, то для этого используется функция readline().

$name = readline('Введите ваше имя: ');
echo 'Здравствуйте '.$name;