Руководство для начинающих по созданию контроллеров с моделями в Laravel 9

Если вы новичок в Laravel 9 и хотите понять, как создавать контроллеры с моделями, вы попали по адресу. В этой статье блога мы шаг за шагом проведем вас через этот процесс, используя разговорный язык и приведя примеры кода.

Шаг 1. Настройте Laravel 9

Прежде чем приступить к созданию контроллеров и моделей, убедитесь, что в вашей локальной среде разработки установлен Laravel 9. Инструкции по установке можно найти в официальной документации Laravel.

Шаг 2. Создайте модель

В Laravel модели представляют таблицы базы данных и обеспечивают поиск и обработку данных. Чтобы создать модель, вы можете использовать команду make:modelArtisan. Откройте командную строку или терминал и выполните следующую команду:

php artisan make:model Post

Эта команда создаст файл Post.phpвнутри каталога app/Models. Вы можете заменить «Сообщение» на название желаемой модели.

Шаг 3. Создайте контроллер

Контроллеры управляют логикой и потоком вашего приложения. Чтобы создать контроллер, используйте команду make:controllerArtisan. Выполните следующую команду:

php artisan make:controller PostController

Это создаст файл PostController.phpв каталоге app/Http/Controllers.

Шаг 4. Определите маршруты

Далее вам необходимо определить маршруты, соответствующие действиям вашего контроллера. Откройте файл routes/web.phpи добавьте следующую строку:

use App\Http\Controllers\PostController;
Route::get('/posts', [PostController::class, 'index']);

В этом примере URL-адрес /postsсопоставляется с методом indexкласса PostController.

Шаг 5. Реализация методов контроллера

В файле PostController.phpвы найдете несколько методов. Вот некоторые часто используемые методы:

  1. index: этот метод извлекает все сообщения из базы данных и возвращает представление для их отображения.
public function index()
{
    $posts = Post::all();
    return view('posts.index', ['posts' => $posts]);
}
  1. create: этот метод возвращает представление с формой для создания нового сообщения.
public function create()
{
    return view('posts.create');
}
  1. store: этот метод обрабатывает отправку формы и сохраняет новое сообщение в базе данных.
public function store(Request $request)
{
    $post = new Post();
    $post->title = $request->input('title');
    $post->content = $request->input('content');
    $post->save();

    return redirect('/posts');
}
  1. show: этот метод извлекает определенную публикацию из базы данных и отображает ее.
public function show($id)
{
    $post = Post::find($id);
    return view('posts.show', ['post' => $post]);
}
  1. edit: этот метод извлекает сообщение для редактирования и возвращает представление с формой.
public function edit($id)
{
    $post = Post::find($id);
    return view('posts.edit', ['post' => $post]);
}
  1. обновление: этот метод обрабатывает отправку формы редактирования и обновляет сообщение в базе данных.
public function update(Request $request, $id)
{
    $post = Post::find($id);
    $post->title = $request->input('title');
    $post->content = $request->input('content');
    $post->save();

    return redirect('/posts');
}
  1. destroy: этот метод удаляет сообщение из базы данных.
public function destroy($id)
{
    $post = Post::find($id);
    $post->delete();

    return redirect('/posts');
}

Шаг 6. Используйте методы контроллера

Теперь вы можете использовать определенные маршруты для доступа к методам контроллера. Например, если вы перейдете к /posts, вы увидите список всех сообщений. Нажав на публикацию, вы перейдете на ее отдельную страницу.

Создание контроллеров с моделями в Laravel 9 — важная часть создания веб-приложений. Выполнив шаги, описанные в этой статье, вы сможете быстро приступить к созданию надежных и масштабируемых приложений. Не забудьте обратиться к официальной документации Laravel для получения более подробной информации о контроллерах и моделях.