Створення движка на mvc. Допрацьовуємо роутер.
Здарова всем! Це вже третя стаття. Продовжуємо створювати наш движок на php.
Для початку візьмемо весь код з головного файлу index.php і виніс його в окремий клас з назвою Bootstrap, який буде знаходитися в папці libs.
файл bootstrap.php в папці libs.
lt ;?php
classBootstrap{
publicfunction __construct(){
$ url = $ _GET[`Url`] -
$ url = rtrim($ url,`/`) -
$ url = explode(`/`, $ url) -
$ file =`Controllers /`.$ url[0].`.php`-
if(file_exists($ file)){
require $ file-
}else{
require`Controllers / error.php`-
$ controller =newError() -
returnfalse-
}
$ controller =new $ url[0] -
if(isset($ url[2])){
$ controller-gt;$ url[1] ($ url[2]) -
}else{
if(isset($ url[1])){
$ controller-gt;$ url[1] () -
}
}
}
}
?gt;
Як ви можете бачити, тут були додані деякі перевірки. Якщо файл є, то підключаємо його, інакше ж підключаємо контролер, який відповідає за обробку помилок і зупиняємо скрипт. Давайте напишемо наш контролер помилок. Для цього створіть файл error.php в папці controllers.
lt ;?php
classError{
publicfunction __construct(){
echo "Контролер обробки помилок"-
}
}
?gt;
Все, що нам тепер залишилося, прописати в нашому головному файлі index.php, який у нас зараз порожній, наступне:
lt ;?php
require`Libs / Bootstrap.php`-
$ app =newBootstrap() -
?gt;
Усе! Тепер у нас все повинно працювати, як і раніше, але якщо ви введете якусь невірна назва контролера, то побачите напис, яку виводить наш контролер помилок
Що ж, давайте тепер створимо базовий контролер, який буде найголовнішим, а інші контролери будуть наслідувати його. Для цього створіть файл Controller.php в папці libs.
lt ;?php
classController{
publicfunction __construct(){
echo "Це головний контролер"-
}
}
?gt;
Тепер абсолютно всім контролерам пропишіть: extends Controller
Відео: 3. PHP MVC (урок 3). доопрацювання Router
Ось приклад того, що потрібно зробити з усіма контролерами, на прикладі контролера Error.php
lt ;?php
classErrorextendsController{
publicfunction __construct(){
echo "Контролер обробки помилок"-
}
}
?gt;
Після того, як ви зробили це, всім контролерам в конструкторі також слід прописати виклик батьківського конструктора.
parent::__construct() -
Тепер в нашому головному файлі index.php додайте підключення нашого головного контролера.
Відео: 1. PHP MVC (урок 1). Установка сервера. Перші кроки. Router
lt ;?php
require`Libs / Bootstrap.php`-
require`Libs / Controller.php`-
$ app =newBootstrap() -
?gt;
Тепер пропишемо в нашому головному контролері створення об`єкта View, який буде відповідати за вид.
lt ;?php
classController{
publicfunction __construct(){
echo `Це головний контролер`-
$ this-gt;view =newView() -
}
}
?gt;
Усе. На цьому я закінчую цю статтю. Сьогодні ми допрацювали наш роутер і створили контролер, який відповідає за помилки, а також головний контролер. У наступному уроці ми вже перейдемо до другої частини паттерна MVC - увазі. До скорого!
- Sixaxis controller
- Torrent controller
- Nodejs. Як створити "список справ". Частина 2.
- Створення движка на mvc. Створюємо можливість додавання користувача в базу даних через адмін панель
- Bootstrap 4. Введення.
- Створення движка на mvc. Покращуємо шифровку пароля користувачів.
- Створення движка на mvc. Починаємо робити чат.
- Bootstrap 4. Reboot.
- Створення винятків в php
- Створення движка на mvc. Вступ.
- Створення движка на mvc. Пишемо роутер.
- Створюємо сокращатель url. Частина 3.
- Підхід mvc (model-view-controller)
- Php: безпека. Підключення файлів.
- Bootstrap 4. Установка.
- Створення движка на mvc. Начинам робити систему розподілу прав користувачів.
- Підключення в php сторонніх файлів
- Компонентний (блоковий) підхід
- Створення движка на mvc. Створюємо авторизацію.
- Створення движка на mvc. Виводимо сторінки. Частина 4.
- Створення движка на mvc. Починаємо роботу з базою даних.