Якщо ви працювали хоча б з одним проєктом на 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