Создание CMS на php — 9 урок (Router, Controller ч. 5)

Автор Maksim Inshakov
Создание CMS на php — 9 урок (Router, Controller ч. 5)

Всем привет друзья и мы продолжаем создание нашей семьи.

Ассистент у нас почти готов роутер и. Мы создали в прошлом уроке 1 контроля, но мы ещё писали проверку на существование роутер. То есть если допустим мы вбиваем какой-то адрес которого не существует вот здесь-то должна срабатывать страница 404.

А у нас сейчас здесь ошибка то есть ничего не срабатывает давайте мы напишем эту проверку сделать — это мы можем очень просто пишем если роутер dispatch равен.

Ну значит, что у нас не существует этого робота и мы должны отправлять страницу 404 то есть создаем новый объект диспетчер. Вот и передадим туда контроллер который будет отвечать за наши ошибки например. Таро и Action 404. Пусть — это будет не Action Open page 404 вот таким способом у нас теперь ошибка, что такого контроля не существует поэтому. Давайте её создадим. Сейчас переходим наши контроллеры и создаем новый контроллер который будет обрабатывать все ошибки Error Controller. Давай тебе скопирую Home Controller здесь примерно всё то же самое Error Controller создадим метод page 404 404 page сохраняем переходим в браузер обновляем. Как видите у нас 404 страница если какой-то Rose существует например индекс допустим попробуем ещё News. Если вдруг не существует то у нас 404 страница всё очень-очень просто чуть позже сделаем здесь комментарии ну пока вот мы особо не пытаемся. Ну будем конечно всё комментировать. Витя в наши отношения Tadiran уже довольно-таки много логики и давайте я всё — это за вернём функцию трюкач если где-то здесь будет какая-то ошибка то мы здесь будем обрабатывать. Эти ошибки гидромассаж этого мало ниже. Мы ещё Exit вот так теперь — это уже смотрится более. Правильно мы завернули на выполнение нашего года в труб и исключения с работает. Кетч ещё мне очень хочется создать здесь ещё одну переменную — это конечно по желанию, но мне нравится когда всё красиво равно и запишем сюда и будем передавать уже эту переменную сюда параметрам, что — это как-то на мой взгляд смотрится как-то красивее ещё сейчас я сделаю кое-что интересное внутри папки контроллер создан тема Controller, что — это будет значить — это будет значит, что у нас будет один главный контроллер — это тема iOS Controller остальные будут его наследовать и сейчас вы. Почему и для чего вот у нас есть Amos контроллер которые наследуют наш абстрактные Controller Error Controller будет наследовать мыс Controller и Home Controller тоже будет наследовать мыс контроллер и теперь допустим в контроллерах которые расследуют наш cms Controller на мужчине нужен конструктор мы создаем только методы там тоже здесь здесь не нужен сокращаем количество кода. Мы тоже выбираем её тоже не нужен уже с этим приятней как-то вот у нас все мазь контроллере есть конструктор в самом cms контроля у нас допустим будут методы header Footer который будут подключать там эти шаблоны всякие ну как вы возможно видели в других темах если сказать вкратце избавились от дублирования кода если посмотреть в самом этом браузере — это у нас всё работает по-прежнему также отрабатывать страница 404 то есть теперь мы заранее создадим себе нас контроллер паблик представим, что у нас вот Public function header который доступен во всех его потомках Home Controller и так далее. Но я ещё конечно не уверен, что у нас здесь всё будет так реализована, но допустим то, что у нас уже реализовано. Вы наверное. Если вы работали. С какими фреймворками там работает всё примерно также вызывает создаёте контроллеры методы работаете с ними только у нас будет круче чем в каких-то фреймворк потому, что у нас будет система шаблонизации то есть мы будем сможем создавать шаблоны свои плагины — это вдвойне приятнее совсем работать, но сейчас мы урок закончен, что у меня не очень много времени сейчас мне нужно по делам. Ну вам. Советую с этим лучше разобраться с тем, что мы уже сделали и до следующего урока. Всем спасибо. С вами было всё Мельник.

0 комментариев
0

Читайте также