РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1334 of 1392 menu

Метод error

Метод error применяется к экземпляру класса Command в консольных командах Laravel и позволяет выводить сообщения об ошибках в терминал. Первым параметром передаётся текст сообщения, вторым - массив опций для форматирования (необязательно). Метод автоматически использует поток stderr, что позволяет отделить ошибки от обычного вывода.

Синтаксис

<?php $this->error($message, $options); ?>

Пример

Давайте создадим простую команду, которая выводит сообщение об ошибке при неудачной валидации данных:

<?php namespace App\Console\Commands; use Illuminate\Console\Command; class ValidateDataCommand extends Command { protected $signature = 'data:validate {id}'; protected $description = 'Validate data by ID'; public function handle() { $id = $this->argument('id'); if ($id < 1) { $this->error('Invalid ID provided. ID must be greater than 0.'); return 1; } $this->info('Data validated successfully.'); return 0; } } ?>

Результат выполнения команды с некорректным параметром:

"Invalid ID provided. ID must be greater than 0."

Пример

Метод error поддерживает форматирование текста с помощью тегов:

<?php namespace App\Console\Commands; use Illuminate\Console\Command; class FormatErrorCommand extends Command { protected $signature = 'error:format'; protected $description = 'Show formatted error message'; public function handle() { $message = '<bg=red>CRITICAL</> Database connection failed'; $this->error($message); $message = '<fg=black;bg=yellow>WARNING</> Low disk space'; $this->error($message, ['fg' => 'white', 'bg' => 'red']); } } ?>

Результат выполнения команды:

"CRITICAL Database connection failed" "WARNING Low disk space"

Пример

Используем error для отображения множества ошибок в процессе выполнения команды:

<?php namespace App\Console\Commands; use Illuminate\Console\Command; use Illuminate\Support\Facades\File; class FileCheckCommand extends Command { protected $signature = 'file:check {paths*}'; protected $description = 'Check existence of files'; public function handle() { $paths = $this->argument('paths'); $errors = 0; foreach ($paths as $path) { if (!File::exists($path)) { $this->error("File not found: {$path}"); $errors++; } } if ($errors > 0) { $this->error("Total errors: {$errors}"); return 1; } $this->info('All files exist.'); return 0; } } ?>

Результат выполнения команды с несколькими путями:

"File not found: /tmp/missing.txt" "File not found: /var/log/unknown.log" "Total errors: 2"

Смотрите также

  • метод info,
    который выводит информационные сообщения в консоль
  • метод warn,
    который выводит предупреждения в жёлтом цвете
  • метод ask,
    который запрашивает ввод данных от пользователя
  • класс Command,
    который является базовым для всех консольных команд
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить