offline version v3
Запись на курсы по HTML, CSS, JavaScript, PHP, фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
⊗ppOpUFmCnt 149 of 179 menu

Контроллеры в 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, чтобы все работало, как надо.