🧱 Суть

PHP-приложение обычно состоит из набора файлов, каждый из которых отвечает за свою задачу: обработку запросов, бизнес-логику, работу с базой данных и отображение данных.

При каждом HTTP-запросе PHP запускает приложение, выполняет код и возвращает ответ клиенту.

📦 Проблема

1. Непонятно, что происходит после открытия страницы

Кажется, что PHP-приложение постоянно работает, хотя на самом деле оно запускается заново для каждого запроса.

2. Сложно понять назначение файлов проекта

Без понимания структуры трудно ориентироваться в кодовой базе и находить нужную логику.

✅ Решение

Разделить приложение на отдельные слои и понимать последовательность обработки запроса.

💻 Код

Типичная структура проекта

project/
├── public/          # Точка входа (index.php)
├── app/             # Бизнес-логика
├── controllers/     # Контроллеры
├── models/          # Работа с данными
├── views/           # Шаблоны
├── routes/          # Маршруты
├── config/          # Конфигурация
├── vendor/          # Composer-зависимости
└── storage/         # Логи, кэш, временные файлы

Жизненный цикл запроса

Клиент

Веб-сервер (Apache / Nginx)

public/index.php

Автозагрузка Composer

Инициализация приложения

Маршрутизация

Контроллер

Модель / База данных

Формирование ответа

Браузер

Роль основных компонентов

КомпонентНазначение
public/index.phpТочка входа в приложение
routesОпределяют, какой код выполнить для URL
controllersОбрабатывают запросы
modelsРаботают с данными и БД
viewsФормируют HTML-ответ
vendorПодключают сторонние библиотеки

🎯 Вывод

  • каждое обращение к сайту создаёт новый PHP-процесс
  • выполнение начинается с public/index.php
  • запрос проходит через маршруты, контроллеры и модели
  • после формирования ответа выполнение PHP завершается
  • понимание жизненного цикла помогает быстрее разбираться в любом PHP-фреймворке

🔗 Связано