Пишем консольное (CLI) приложение на PHP. Часть 3.

Это заключительная статья на тему написания консольных приложений. В ней мы разберемся с форматированием вывода, научимся выполнять внешние команды и чистить консоль, будем упрощать запуск приложения. Поехали!

Форматирование вывода

Мы знаем как просто выводить текст в нашем приложении:

<?php
echo "Какой-то текст";

Но как сделать этот текст жирным или цветным? Для этого можно использовать эскейп последовательности. Они позволяют красиво форматировать вывод. Вот несколько примеров таких последовательностей:

<?php
echo "\e[4m Подчеркнутый текст \e[0m\n";
echo "\e[1m Жирный текст \e[0m\n";
echo "\e[7m Выделенный текст \e[0m";

Вывод этой программы выглядит так:

Также, используя эскейп последовательности, мы можем раскрасить текст в разные цвета:

<?php
echo "\e[91m Красный текст \e[0m\n";
echo "\e[92m Зеленый текст \e[0m\n";
echo "\e[93m Желтый текст \e[0m";

Выполнение команд. Очистка консоли.

Иногда, во время работы нашего приложения, требуется вызвать системную команду или запустить стороннее приложение. Для этого можно использовать функцию system(), она выполняет, указанную в переданной строке, команду и выводит её результат. Для примера, давайте, выполним системную команду «clear». Она очищает предыдущий вывод в консоли:

<?php
system('clear');

Упрощаем запуск приложения

Чтобы каждый раз не вводить «php» при запуске приложения, нужно в первой строке файла указать путь к интерпретатору PHP:

#!/usr/bin/php

Вот пример кода приложения с указанием интерпретатора:

#!/usr/bin/php
<?php
echo "Какой-то текст";

Это приложение можно запустить просто введя имя файла:

cli.php

Для большего упрощения, мы можем убрать и расширение файла. Если приложение называлось «cli.php», переименуем его в «cli». Теперь, при запуске, не нужно указывать расширение:

cli

А чтобы мы могли вызывать приложение из любой директории в системе, нужно перенести его в каталог: /usr/bin. Теперь можно запустить приложение, просто введя имя файла в любой директории.