Створення движка на mvc. Допрацьовуємо роутер.

Створення движка на 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 - увазі. До скорого!

Поділися в соціальних мережах:

Схожі
Створення движка на mvc. Починаємо робити чат.Створення движка на mvc. Починаємо робити чат.
Створення движка на mvc. Створюємо авторизацію.Створення движка на mvc. Створюємо авторизацію.
Php: безпека. Підключення файлів.Php: безпека. Підключення файлів.
Створення движка на mvc. Виводимо сторінки. Частина 4.Створення движка на mvc. Виводимо сторінки. Частина 4.
Torrent controllerTorrent controller
Створення винятків в phpСтворення винятків в php
Створення движка на mvc. Вступ.Створення движка на mvc. Вступ.
Bootstrap 4. Reboot.Bootstrap 4. Reboot.
Створення движка на mvc. Начинам робити систему розподілу прав користувачів.Створення движка на mvc. Начинам робити систему розподілу прав користувачів.
Створення движка на mvc. Починаємо роботу з базою даних.Створення движка на mvc. Починаємо роботу з базою даних.
» » Створення движка на mvc. Допрацьовуємо роутер.