Команда inspire
Команда inspire предназначена для вывода случайной вдохновляющей цитаты в терминале. Это встроенная команда Laravel, которая часто используется для демонстрации работы консольных команд и может служить примером для создания собственных Artisan-команд. При выполнении без дополнительных параметров команда просто выводит цитату.
Синтаксис
php artisan inspire
Пример
Выполним команду для получения случайной цитаты:
php artisan inspire
Результат выполнения команды:
"Believe you can and you're halfway there."
Пример
Команда поддерживает вывод цитаты в файл с помощью перенаправления:
php artisan inspire > quote.txt
После выполнения в корне проекта появится файл quote.txt с содержимым:
"Believe you can and you're halfway there."
Пример
Можно модифицировать команду для вывода цитаты с дополнительной информацией. Для этого создадим собственную команду на основе inspire:
<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
class InspireCommand extends Command
{
protected $signature = 'inspire:full';
protected $description = 'Display an inspiring quote with author';
public function handle()
{
$quotes = [
['text' => 'Believe you can and you\'re halfway there.', 'author' => 'Theodore Roosevelt'],
['text' => 'The only way to do great work is to love what you do.', 'author' => 'Steve Jobs'],
['text' => 'Success is not final, failure is not fatal.', 'author' => 'Winston Churchill'],
['text' => 'The future belongs to those who believe in the beauty of their dreams.', 'author' => 'Eleanor Roosevelt'],
];
$quote = $quotes[array_rand($quotes)];
$this->info($quote['text']);
$this->line('- ' . $quote['author']);
return Command::SUCCESS;
}
}
?>
Результат выполнения созданной команды:
php artisan inspire:full
"Believe you can and you're halfway there."
"- Theodore Roosevelt"
Пример
Команду можно использовать в планировщике для ежедневного вдохновения:
<?php
namespace App\Console;
use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
class Kernel extends ConsoleKernel
{
protected function schedule(Schedule $schedule)
{
$schedule->command('inspire')->daily();
}
}
?>
Теперь команда будет выполняться каждый день в полночь, выводя цитату в лог или отправляя уведомление.
Смотрите также
-
команда
serve,
которая запускает встроенный веб-сервер PHP -
команда
make-command,
которая создаёт новую консольную команду -
команда
tinker,
которая запускает интерактивную оболочку для работы с приложением -
класс
Command,
который используется для создания собственных консольных команд