Controllers in Laravel — Обработка логики приложения и взаимодействия с данными

Controllers in Laravel — это классы, отвечающие за обработку логики приложения и облегчение взаимодействия между моделями и представлениями. Controllers помогают отделить логику приложения от пользовательского интерфейса, создавая четкую и удобную в сопровождении структуру проекта.

 

Создать контроллер

Чтобы создать контроллер в Laravel, вы можете использовать Laravel команду Artisan. Например, чтобы создать контроллер с именем UserController, вы можете запустить в терминале следующую команду:

php artisan make:controller UserController

После создания контроллера вы можете определить методы обработки внутри контроллера. Например, в index() методе вы можете получить данные из модели и передать их в представление для отображения:

namespace App\Http\Controllers;  
  
use App\Models\User;  
use Illuminate\Http\Request;  
  
class UserController extends Controller  
{  
    public function index()  
    {  
        $users = User::all();  
  
        return view('users.index', ['users' => $users]);  
    }  
  
    // Other handling methods  
}  

В приведенном выше примере мы используем User модель для извлечения пользовательских данных из базы данных. Затем мы передаем эти данные в users.index представление для отображения списка пользователей.

Controllers также поддерживают такие методы, как store(), update(), и delete() для обработки создания, обновления и удаления данных. Вы можете взаимодействовать с базой данных с помощью этих методов.

 

HUИспользование controller в route

Чтобы использовать controller in route, вы можете указать controller имя и соответствующий метод в routes/web.php файле.

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

В этом примере, когда пользователь получает доступ к /users URL-адресу, Laravel будет вызываться index() метод для UserController обработки запроса.

 

Создание представления для экрана списка пользователей

Чтобы создать users.index файл, вы можете использовать следующую команду:

php artisan make:view users.index

Эта команда создаст index.blade.php файл в resources/views/users каталоге.

После создания файла вы можете открыть его index.blade.php и спроектировать интерфейс для users.index страницы. Вы можете использовать синтаксис Blade для создания структуры HTML и отображения данных из контроллера.

<!-- resources/views/users/index.blade.php -->  
@extends('layouts.app')  
  
@section('content')  
    <h1>Users</h1>  
    <ul>  
        @foreach($users as $user)  
            <li>{{ $user->name }}</li>  
        @endforeach  
    </ul>  
@endsection  

В приведенном выше примере мы используем app.blade.php макет через @extends('layouts.app'). Содержимое страницы определяется внутри @section('content') и отображает список пользователей из $users переменной внутри @foreach цикла.

Чтобы использовать users.index страницу, вам нужно определить соответствующий маршрут в routes/web.php файле, чтобы указать на метод в контроллере и вернуть users.index представление.

 

Таким образом, controllers в справке Laravel можно разделить логику приложения и обработку данных. Используя controllers, вы можете создавать мощные и удобные в сопровождении приложения в Laravel.