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.