Интерфейс командной строки Artisan (CLI) Laravel предоставляет широкий спектр мощных инструментов для разработки и управления приложениями Laravel. Одним из таких инструментов является индикатор выполнения, который позволяет отображать ход выполнения длительной задачи в визуально привлекательной и информативной форме. В этой статье мы рассмотрим различные методы использования индикатора выполнения Laravel Artisan, сопровождаемые примерами кода.
- Основное использование:
Самый простой способ использовать индикатор выполнения — вызвать методinfo
, передав сообщение о ходе выполнения в качестве параметра. Вот пример:
use Illuminate\Console\Command;
class MyCommand extends Command
{
public function handle()
{
$this->info('Processing started...');
// Perform your task here
$this->info('Processing completed!');
}
}
- Пользовательский индикатор выполнения:
Laravel Artisan позволяет вам настроить внешний вид индикатора выполнения, указав формат, символ и параметры. Вы можете использовать свойствоoutput
для доступа к базовому экземпляру вывода Symfony Console и изменения индикатора выполнения. Вот пример:
use Illuminate\Console\Command;
class MyCommand extends Command
{
public function handle()
{
$bar = $this->output->createProgressBar(100);
$bar->setFormat(' %current%/%max% [%bar%] %percent:3s%%');
$bar->setBarCharacter('<fg=green>█</>');
$bar->start();
for ($i = 0; $i < 100; $i++) {
// Perform your task here
$bar->advance();
usleep(10000);
}
$bar->finish();
$this->line('');
$this->info('Processing completed!');
}
}
- Расширенный индикатор выполнения:
Laravel Artisan предоставляет дополнительные методы для динамического управления индикатором выполнения. Вы можете обновить ход выполнения, изменить выходное сообщение и даже настроить цвета индикатора выполнения. Вот пример:
use Illuminate\Console\Command;
class MyCommand extends Command
{
public function handle()
{
$this->output->progressStart(100);
for ($i = 0; $i < 100; $i++) {
// Perform your task here
$this->output->progressAdvance();
usleep(10000);
if ($i === 50) {
$this->output->progressMessage('Halfway there!');
}
}
$this->output->progressFinish();
$this->info('Processing completed!');
}
}
Индикатор выполнения Laravel Artisan — ценный инструмент, позволяющий информировать пользователей о ходе выполнения долгосрочных задач. В этой статье мы рассмотрели различные методы использования этой функции, включая базовое использование, настройку индикатора выполнения и расширенные методы динамического обновления. Включив эти методы в свои приложения Laravel, вы сможете улучшить взаимодействие с пользователем и обеспечить обратную связь в режиме реального времени во время длительных операций.
Не забывайте использовать эти методы разумно и адаптировать их в соответствии с требованиями вашего конкретного приложения. Приятного программирования с Laravel Artisan!