Что такое MVC · PHP Backend — JobPilot

Что такое MVC

PHP Backend · 30%
Вопрос 13 / #
Пример ответа

1) Короткий ответ
MVC (Model-View-Controller) — это архитектурный паттерн, который разделяет приложение на три компонента: Модель (данные и бизнес-логика), Представление (интерфейс) и Контроллер (обработка запросов).

3) Ключевые компоненты

  1. Model (Модель)

    • Отвечает за данные и бизнес-логику

    • Работает с базой данных, валидацией

    • Пример: Класс User с методами save(), find()

  2. View (Представление)

    • Отвечает за отображение данных пользователю

    • Пример: Blade-шаблон в Laravel, Twig-шаблон

  3. Controller (Контроллер)

    • Обрабатывает пользовательский ввод

    • Пример: Класс UserController с методами create(), store()

5) Пример в Laravel

php

Copy

Download

// Model (app/Models/User.php)
class User extends Model {
    protected $fillable = ['name', 'email'];
}

// Controller (app/Http/Controllers/UserController.php)
class UserController extends Controller {
    public function show($id) {
        $user = User::find($id); // Model
        return view('user.profile', ['user' => $user]); // View
    }
}

// View (resources/views/user/profile.blade.php)
<h1>User: {{ $user->name }}</h1>
<p>Email: {{ $user->email }}</p>

6) Follow-up вопросы

  • Чем MVC отличается от MVVM?Binding данных.

  • Где должна быть бизнес-логика в MVC?В моделях.

7) Практический совет

  1. Создайте простой CRUD для сущности "Article" в Laravel, четко разделяя ответственность между Model (Article), Controller (ArticleController) и View (Blade-шаблоны).

  2. Проанализируйте свой код и убедитесь, что в контроллерах нет прямой работы с БД — вся работа с данными должна быть в моделях или репозиториях.

PHP Backend
Junior
30%
Навигация
Что такое ACID
Следующий: Какие знаешь паттерны проектирования
Предыдущий: Что такое ACID

Мы используем cookie для улучшения сайта. Продолжая пользоваться сайтом, вы соглашаетесь с политикой cookie и политикой конфиденциальности.