Отримання параметрів команди в Laravel Artisan

0
Перекладено ШІ
Оригінал: Laravel News
Оновлено: 25 червня, 2025
Laravel спрощує доступ до аргументів та опцій у ваших кастомних командах Artisan, дозволяючи легко отримувати та валідувати параметри. Дізнайтеся, як ці вбудовані допоміжні методи можуть покращити ваш процес розробки!

Laravel пропонує прості методи для доступу до аргументів і параметрів у ваших кастомних командах Artisan. Ці вбудовані допоміжні функції спрощують отримання та валідацію параметрів.

Щоб отримати окремі параметри, використовуйте спеціалізовані методи:

$username = $this->argument('username');

$environment = $this->option('env');

Також можна отримати всі параметри одночасно, що корисно при створенні динамічних командних процесорів або утиліт для налагодження.

$allArguments = $this->arguments();

$allOptions = $this->options();

Ось команда для управління резервними копіями, яка демонструє повну обробку параметрів:

class BackupDatabase extends Command
{
    protected $signature = 'backup:database
        {database : Назва бази даних для резервного копіювання}
        {--path= : Користувацька директорія для резервної копії}
        {--compress : Стиснути файл резервної копії}
        {--exclude=* : Таблиці, які потрібно виключити з резервного копіювання}
        {--S|silent : Запустити без виводу}';

    public function handle()
    {
        $databaseName = $this->argument('database');
        $backupPath = $this->option('path') ?? storage_path('backups');
        $shouldCompress = $this->option('compress');
        $silent = $this->option('silent');

        if (!$silent) {
            $this->line("Починаємо резервне копіювання бази даних: {$databaseName}");
            $this->line("Місце для резервної копії: {$backupPath}");
        }

        if ($shouldCompress) {
            $this->info('Стиснення увімкнено');
        }

        $excludedTables = $this->option('exclude');
        if (!empty($excludedTables)) {
            $this->warn('Виключено таблиці: ' . implode(', ', $excludedTables));
        }

        $allParams = $this->arguments();
        $allFlags = $this->options();

        if ($this->option('verbose')) {
            $this->table(['Тип параметра', 'Кількість'], [
                ['Аргументи', count($allParams)],
                ['Опції', count($allFlags)]
            ]);
        }
    }
}

Методи доступу до параметрів у Laravel дозволяють створювати надійні інструменти командного рядка, які обробляють складні сценарії введення з мінімальною складністю коду

Популярні

Logomark Logotype

Оптимізація запитів до бази даних за допомогою скорочених методів Laravel

Laravel пропонує зручні методи для роботи з датами, які значно спрощують запити до бази даних. Досліджуйте, як ці інтуїтивно зрозумілі функції допомагають створювати чіткі та зрозумілі умови для роботи з часовими даними!

Logomark Logotype

Журнал аудиту в Laravel

Хочете забезпечити повну прозорість у своїх Laravel-додатках? Пакет Laravel Audit Log допоможе вам детально відстежувати всі зміни моделей Eloquent та відповідати вимогам регуляторів. Читайте далі, щоб дізнатися, як цей потужний інструмент може підвищити надійність вашого проєкту

Logomark Logotype

Використання штучного інтелекту для управління перекладами в Laravel

Досліджуйте нові можливості локалізації вашого Laravel-додатку з пакунками, які використовують штучний інтелект, такими як ChatGPT та Claude. Які рішення можуть спростити ваш процес перекладу та зробити його більш точним? Читайте далі, щоб дізнатися більше!