Создание php MVC приложения. Конфигурация и создание главной страницы

Главная » Видеоуроки » PHP+MySQL » Создание php MVC приложения. Конфигурация и создание главной страницы

В этом уроке мы начнем разработку нашего приложения — напишем конфигурационные файлы подключения необходимых классов, класс для подключения к базе данных и роутинг. Также мы создадим родительские классы модели, контроллера и вьюхи, а также модель, контроллер и вьюху для главной страницы (форма авторизации)

Прежде всего нам надо начать с файла index.php. В нем мы просто подключим файл конфигурации (см. код файла index.php).

В конфигурационном файле мы определим общие для всего приложения константы, а также подключим общие файлы (модель, контроллер и представление, класс соединения с базой данных и роутинг) и запустим метод определения маршрута (URL) приложения (см код conf.php).

Теперь нам нужно написать класс для соединения с базой данных. Этот класс будет статическим. Для подключения к базе данных я буду использовать PDO (см файл db.php).

Теперь подробно разберем файл route.php. Как уже упоминалось, мы разрабатываем приложение, используя подход MVC. Естественно, нам не стоит создавать свой файл под каждую страницу — это абсолютно неверно и непрофессионально. За нас это будет делать роутинг. В действительности, когда мы ходим по сайту, мы запрашиваем у него какое-либо действие (получить список пользователей, открыть форму для регистрации и прочее). Причем на одной странице мы можем получить список пользователей и список товаров. То есть одна страница объединяет в себе несколько действий (задач). Страница в нашем случае будет называться контроллером, а задачи — actions. Контроллер — это класс, а actions — методы этого класса.
В начале файла роутинга мы определим контроллер и action по умолчанию — indexController и index action. В остальном же мы будем брать часть адреса страницы (используя $_SERVER[‘REQUEST_URI’]) и разбивать ее на две части — контроллер и action. Например, адрес /cabinet/users подразумевает подключения контроллера CabinetController.php и вызов в нем метода users().
В роутинге определены четкие правила именования файлов — имя файла с большой буквы и с префиксом Controller. Например, IndexController, UserController и так далее.

После этого нам нужно создать общие (родительские) классы контроллера, модели и view. В них я вынес общие задачи для всех дочерних контроллеров (см файлы Controller.php, Model.php, View.php).

Теперь нам осталось написать код для IndexController и создать вьюху. Вьюху (фору авторизации) я взял по этой ссылке
В IndexController мы определим indexAction() метод, в котором запустим метод класса View — render(). Этот метод отрисовывает html в браузер, принимая два параметра — шаблон для отрисовки и массив с динамически данными страницы — заголовок страницы, сообщения и прочее. IndexModel мы пока оставим пустым и реализуем его на следующем уроке.

Подписаться на рассылку

Будьте в курсе - получайте последние статьи на свой email

Ваша подписка успешно оформлена

Pin It on Pinterest

Share This