Screen — це термінальний рендерер, створений Аароном Френсісом, написаний на чистому PHP. Він функціонує як основа для Solo for Laravel і може використовуватися для створення багатих текстових інтерфейсів у будь-якому PHP-додатку. Зверніть увагу, що це не самостійний термінальний додаток і не слід плутати з GNU Screen, що використовується в Linux.
Що таке термінальний рендерер? Це інструмент, який обробляє текст та ANSI escape-послідовності для створення віртуального відображення термінального виходу. Він інтерпретує escape-послідовності, щоб відстежувати позицію курсора, застосовувати форматування тексту та керувати вмістом екрану.
Screen, відповідно, забезпечує безпечне інтерпретування ANSI операцій в ізольованому середовищі, гарантуючи правильне відображення термінального виходу в визначених областях.
use SoloTerm\Screen\Screen;
// Створити екран з розмірами (стовпці, рядки)
$screen = new Screen(80, 24);
// Провести кордон
$screen->write("┌" . str_repeat("─", 78) . "┐\n");
for ($i = 0; $i < 6; $i++) {
$screen->write("│" . str_repeat(" ", 78) . "│\n");
}
$screen->write("└" . str_repeat("─", 78) . "┘");
// Записати текст та ANSI escape-послідовності
$screen->write("\e[3;25HПривіт, \e[1;31mСпільнота Laravel News!\e[0m");
// Змінити курсор та додати ще тексту
$screen->write("\e[5;30HВи чудові! 🎉");
// Отримати рендерений вміст
echo $screen->output();
Результат виглядатиме наступним чином:

Встановіть цей пакет через Composer:
composer require soloterm/screen
Дізнайтеся більше про цей пакет та перегляньте вихідний код на GitHub.
Досліджуйте новий пакет Data Model для PHP, який спрощує процес гідратації об'єктів без зайвих складнощів! Дізнайтеся, як впровадження типобезпечних об'єктів може революціонізувати ваш підхід до розробки, читаючи нашу статтю
Вперше у світі Laravel з'являється можливість, яка значно спростить ваше повсякденне програмування завдяки новому пакету Laravel Boost. Читайте статтю, щоб дізнатися, як посилена інтеграція штучного інтелекту може підвищити ефективність вашої роботи та оптимізувати створення проектів у Laravel
PHP 8.5 обіцяє безліч нових можливостей, таких як оператор Pipe, функції `array_first()` та `array_last()`, а також нове розширення URI. Чи готові ви дізнатися, як ці функції можуть спростити вашу розробку? Читайте далі, щоб дізнатися більше про ці захоплюючі нововведення