Лайфхак для розробників Laravel 12: генеруйте CRUD за однією простою командою

pic

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

Але є гарна новина! Є швидке рішення, яке допоможе заощадити ваш час і зберегти здоровий глузд — давайте створимо команду Artisan, яка автоматично генеруватиме всі базові елементи для CRUD операцій за один раз.

Що робить ця команда?

Просто введіть команду, наприклад:

php artisan make:crud Product

І вона створить для вас:

  • Модель
  • Міграцію
  • Контролер (ресурсний стиль)
  • Запит форми
  • І навіть додасть маршрут

Вам більше не доведеться копіювати-вставляти або перемикатися між декількома командами в терміналі — одна команда, і все готово.

Крок 1: Створення команди

Запустіть команду:

php artisan make:command GenerateCrud

Крок 2: Додавання логіки

Відкрийте файл app/Console/Commands/GenerateCrud.php і вставте наступний код:

argument('name'));  
 $table = Str::snake(Str::plural($name));  
 $controller = "{$name}Controller";  
 $request = "{$name}Request";  

 // Створення моделі + міграції  
 $this->call('make:model', ['name' => $name, '--migration' => true]);  

 // Контролер (ресурсний стиль)  
 $this->call('make:controller', [  
 'name' => $controller,  
 '--resource' => true,  
 '--model' => $name,  
 ]);  

 // Запит форми  
 $this->call('make:request', ['name' => $request]);  

 // Маршрут  
 $route = "Route::resource('" . Str::kebab(Str::plural($name)) . "', \\App\\Http\\Controllers\\$controller::class);";  
 File::append(base_path('routes/web.php'), "\n" . $route);  

 $this->info("Все готово! CRUD для {$name} створено.");  
 }  
}

Крок 3: Реєстрація команди

У файлі app/Console/Kernel.php зареєструйте команду:

protected $commands = [  
 \App\Console\Commands\GenerateCrud::class,  
];

Крок 4: Використання!

Тепер, щоб створити всі елементи для CRUD, введіть команду:

php artisan make:crud Blog

Це створить такі файли:

  • app/Models/Blog.php
  • BlogController.php
  • BlogRequest.php
  • Міграцію create_blogs_table
  • Маршрут у routes/web.php

Додаткові можливості (необов'язково)

Хочете розширити функціонал?

  • Автоматичне генерування Blade виглядів (index, create тощо)
  • Додавання версії API (—api)
  • Включення м’яких видалень або часових міток

Останні думки

Laravel 12 надає всі необхідні інструменти, але для створення зручного робочого процесу потрібні додаткові інструменти. Ця команда генератора CRUD — це маленька річ, але вона може зробити великий вплив, зберігаючи час, підтримуючи структуру проєкту і дозволяючи зосередитися на створенні функціоналу, а не на шаблонному коді.

Цей трюк стане корисним як для індивідуальних розробників, так і для команд, додаючи цінності у ваш Laravel інструментарій.

Якщо ви вважаєте це корисним, збережіть сторінку в закладках для майбутніх проєктів, поділіться з командою або залиште коментар, якщо хочете побачити розширену версію (наприклад, генерація Blade виглядів або API-тільки ресурси).

Потрібна допомога з вашим проєктом Laravel? Якщо ви шукаєте оновлення або розробку нового проєкту на Laravel, команда BrainsOfTech готова допомогти. Зв’яжіться з нами сьогодні, щоб втілити ваш проєкт з використанням передових технологій!

Перекладено з: Laravel 12 Dev Hack: Generate CRUD with One Simple Command