Контроллеры в MVC в PHP
Первое, с чем мы разберемся - это контроллеры. Контроллеры обрабатывают запросы пользователя, понимают, что хотел попросить пользователь у сайта, просят соответствующие данные из модели и отправляют их в представление.
Контроллеры представляют собой ООП классы.
Один файл - это один класс и, соответственно,
один контроллер. В нашем фреймворке контроллеры
будут храниться в папке project/controllers.
Давайте потренируемся в создании контроллеров.
Для разминки сделаем класс PageController,
который будет управлять текстовыми страницами
на нашем сайте.
Давайте сразу создадим файл для нашего контроллера.
По правилам нашего фреймворка каждый класс
должен хранится в файле с одноименным названием
(вплоть до регистра). То есть наш класс PageController
будет хранится в файле PageController.php.
Создайте этот файл в папке project/controllers.
Сделаем в этом файле наш класс:
<?php
namespace Project\Controllers;
use \Core\Controller;
class PageController extends Controller
{
}
?>
Как вы видите, наш класс принадлежит пространству
имен Project\Controllers, следуя соглашению
об автозагрузке файлов (то есть путь по папкам
должен совпадать с пространством имен).
Кроме того, наш класс наследуется от класса
Core\Controller, находящегося в ядре
фреймворка. В этом не нужно искать глубокий
смысл, а просто нужно принять как правило
фреймворка. Вот это правило: все создаваемые
вами контроллеры должны наследоваться от
класса Core\Controller, чтобы все
работало, как надо.