---
title: "Виключення команд постачальників і стандартних команд у php artisan dev"
url: https://laravelukraine.com/blog/vikliucennia-komand-postacalnikiv-i-standartnix-komand-u-php-artisan-dev
date: 2026-09-05
source: https://laravel-news.com/artisan-dev-exclude-vendor-commands?utm_medium=feed&utm_source=feedpress.me&utm_campaign=Feed%3A+laravelnews
---

# Виключення команд постачальників і стандартних команд у php artisan dev

Команда `php artisan dev` запускає всі процеси розробки одночасно. Ці процеси включають стандартні команди фреймворку, команди від пакетів постачальників через сервіс-провайдери та команди самого застосунку.

## Нові методи для контролю команд

У [Laravel 13.30](https://laravel-news.com/laravel-13-30-0) з'явилися два нові методи для класу `DevCommands`, які дозволяють відмовитися від команд постачальників і стандартних команд фреймворку:

```php
use Illuminate\Foundation\DevCommands;
DevCommands::withoutVendorCommands();
DevCommands::withoutDefaultCommands();
```

Це надає повний контроль над тим, що саме запускається, та дозволяє обмежити виконання лише до тих команд, які ви явно визначили:

```php
namespace App\Providers;
use Illuminate\Foundation\DevCommands;
use Illuminate\Support\ServiceProvider;
class AppServiceProvider extends ServiceProvider
{
    public function boot(): void
    {
        DevCommands::withoutVendorCommands();
        DevCommands::withoutDefaultCommands();
        DevCommands::artisan('serve', 'server');
        DevCommands::artisan('queue:work --queue=notifications', 'queue:notifications');
        DevCommands::node('dev', 'vite');
    }
}
```

## Детальніший контроль через only() та except()

Також можна отримати більш гранульований контроль, використовуючи методи `only()` та `except()`. Наприклад, якщо ви не хочете дозволяти жодних команд від постачальників, але бажаєте залишити всі стандартні команди фреймворку, окрім логів:

```php
DevCommands::withoutVendorCommands();
DevCommands::except('logs');
```

## Стандартні команди

Стандартні команди надходять з методу `registerDefaults()` фреймворку і на момент написання реєструють чотири процеси:

- `server` - запуск сервера розробки
- `queue` - обробка черг
- `logs` - перегляд логів (коли доступна функція `pcntl_fork()`)
- `vite` - запуск збирання фронтенду (коли проєкт має файл `package.json`)

## Перевірка списку команд

Якщо ви хочете побачити, які процеси будуть запущені, можна скористатися командою `dev:list`:

```bash
php artisan dev:list
server php artisan serve .................................. Illuminate\Foundation\Providers\ArtisanServiceProvider@boot
queue  php artisan queue:listen --tries=1 --timeout=0 ..... Illuminate\Foundation\Providers\ArtisanServiceProvider@boot
logs   php artisan pail --timeout=0 ....................... Illuminate\Foundation\Providers\ArtisanServiceProvider@boot
vite   npm run dev ........................................ Illuminate\Foundation\Providers\ArtisanServiceProvider@boot
```

## JSON-формат для автоматизації

Використання прапорця `--json` надає вивід у форматі JSON, що може бути корисним для агентів та скриптів автоматизації:

```bash
php artisan dev:list --json | jq
[
  {
    "command": "php artisan serve",
    "name": "server",
    "color": "#93c5fd",
    "source": "Illuminate\\Foundation\\Providers\\ArtisanServiceProvider@boot",
    "priority": 0
  },
  {
    "command": "php artisan queue:listen --tries=1 --timeout=0",
    "name": "queue",
    "color": "#c4b5fd",
    "source": "Illuminate\\Foundation\\Providers\\ArtisanServiceProvider@boot",
    "priority": 0
  },
  {
    "command": "php artisan pail --timeout=0",
    "name": "logs",
    "color": "#fb7185",
    "source": "Illuminate\\Foundation\\Providers\\ArtisanServiceProvider@boot",
    "priority": 0
  },
  {
    "command": "npm run dev",
    "name": "vite",
    "color": "#fdba74",
    "source": "Illuminate\\Foundation\\Providers\\ArtisanServiceProvider@boot",
    "priority": 0
  }
]
```

Для детальнішої інформації ознайомтеся з [документацією Artisan Dev Command](https://laravel.com/framework/docs/13.x/artisan#the-dev-command). Можливість відмовитися від стандартних команд і команд постачальників була реалізована [Джеком Бейліссом](https://github.com/jackbayliss) у [пулреквесті #61344](https://github.com/laravel/framework/pull/61344) і входить до складу релізу Laravel 13.30.
