CRUD-застосунок у Laravel 12 (Покрокова інструкція)

pic

Laravel 12 насичений потужними можливостями, які роблять веб-розробку швидшою та зручнішою. Однією з найважливіших та найпоширеніших функціональностей у будь-якому застосунку є CRUD (Create, Read, Update, Delete). У цій статті я проведу вас через процес створення повноцінного CRUD-застосунку на Laravel 12.

Ми побудуємо простий "Менеджер завдань" для керування завданнями з такими атрибутами:

  • Назва
  • Опис
  • Статус (Очікує, Завершено)

Передумови

Перед тим, як почати, переконайтеся, що у вас налаштовано наступне:

  1. PHP 8.2 або вище
  2. Встановлений Composer
  3. MySQL або інша підтримувана база даних
  4. Node.js та npm

Крок 1: Налаштування Laravel 12

Почніть зі створення нового проекту Laravel:

composer create-project laravel/laravel task-manager

АБО

composer create-project - prefer-dist laravel/laravel hello-world dev-master

Перейдіть до директорії проекту:

cd task-manager

Запустіть сервер для розробки:

php artisan serve

Крок 2: Налаштування бази даних

Налаштування файлу .env

Оновіть ваш файл .env відповідно до ваших облікових даних бази даних:

DB_CONNECTION=mysql  
DB_HOST=127.0.0.1  
DB_PORT=3306  
DB_DATABASE=task_manager  
DB_USERNAME=root  
DB_PASSWORD=

Створення бази даних

Створіть базу даних під назвою task_manager у вашій MySQL або іншій базі даних.

Крок 3: Створення моделі, міграції та контролера

Запустіть наступну команду для генерації моделі, міграції та контролера для завдання:

php artisan make:model Task -mc

Ця команда створює:

  1. Модель Task у директорії app/Models.
  2. Файл міграції в database/migrations.
  3. Контролер у app/Http/Controllers/TaskController.php.

Крок 4: Визначення схеми бази даних

Відкрийте згенерований файл міграції в database/migrations та визначте схему для таблиці tasks:

public function up()  
{  
 Schema::create('tasks', function (Blueprint $table) {  
 $table->id();  
 $table->string('title');  
 $table->text('description');  
 $table->enum('status', ['Pending', 'Completed'])->default('Pending');  
 $table->timestamps();  
 });  
}

Запустіть міграцію для створення таблиці tasks:

php artisan migrate

Крок 5: Визначення маршрутів

Відкрийте файл routes/web.php і визначте маршрути для операцій CRUD:

use App\Http\Controllers\TaskController;  

Route::resource('tasks', TaskController::class);

Метод Route::resource автоматично створює маршрути для індексу, створення, збереження, відображення, редагування, оновлення та видалення.

Крок 6: Реалізація методів CRUD у TaskController

Відкрийте app/Http/Controllers/TaskController.php і реалізуйте наступні методи:

1. Index (Читання всіх завдань)

public function index()  
{  
 $tasks = Task::all();  
 return view('tasks.index', compact('tasks'));  
}
  1. Create (Показати форму створення)
public function create()  
{  
 return view('tasks.create');  
}
  1. Store (Зберегти завдання)
public function store(Request $request)  
{  
 $request->validate([  
 'title' => 'required|string|max:255',  
 'description' => 'required|string',  
 ]);  

 Task::create($request->all());  
 return redirect()->route('tasks.index')->with('success', 'Task created successfully.');  
}
  1. Edit (Показати форму редагування)
public function edit(Task $task)  
{  
 return view('tasks.edit', compact('task'));  
}
  1. Update (Зберегти відредаговане завдання)
public function update(Request $request, Task $task)  
{  
 $request->validate([  
 'title' => 'required|string|max:255',  
 'description' => 'required|string',  
 ]);  

 $task->update($request->all());  
 return redirect()->route('tasks.index')->with('success', 'Task updated successfully.');  
}
  1. Destroy (Видалити завдання)
public function destroy(Task $task)  
{  
 $task->delete();  
 return redirect()->route('tasks.index')->with('success', 'Завдання успішно видалено.');  
}

Крок 7: Створення Blade-view ( Blade-погляд 🥴 )

  1. View Index (resources/views/tasks/index.blade.php)
@extends('layouts.app')  

@section('content')  

Менеджер завдань  
Створити завдання       @if ($tasks->count())        @foreach ($tasks as $task)        @endforeach    
Назва    Опис    Статус    Дії                {{ $task->title }}    {{ $task->description }}    {{ $task->status }}        Редагувати        @csrf    @method('DELETE')    Видалити                
    @else    
Завдань немає.
    @endif   
   @endsection
  1. View Create (resources/views/tasks/create.blade.php)
@extends('layouts.app')  

@section('content')   
Створити завдання  
    @csrf    
Назва        
Опис        
Зберегти    
   @endsection

Крок 8: Тестування застосунку

Перейдіть за наступними URL-адресами для тестування застосунку:

  • /tasks - Перегляд усіх завдань.
  • /tasks/create - Створити нове завдання.
  • /tasks/{id}/edit - Редагувати завдання.

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

Бажаєте дізнатися більше про більш складні теми, такі як додавання функціоналу пошуку, впровадження AJAX чи інтеграція REST API? Дайте знати в коментарях!

ПРИДБАТИ МЕНІ КАВУ

Слідкуйте за мною на YouTube: https://www.youtube.com/@ProgrammingWithRoki

Придбати домен і хостинг: Hostinger

Успіхів у кодуванні

Перекладено з: CRUD Application in Laravel 12 (Step-by-Step Guide)

One comment on “CRUD-застосунок у Laravel 12 (Покрокова інструкція)”

Leave a Reply

Your email address will not be published. Required fields are marked *