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.

