Я пытаюсь CodeIgnitor 2.1.4. У меня уже есть контроллер для отображения статических страниц, которые я создал с помощью учебника в документации CodeIgnitor. мои маршруты позже я настройки следующим образом:CodeIgnitor - Застрял с маршрутами
// <http://localhost/> refers to <http://localhost/pages/view/>
$route['default_controller'] = "pages/view";
// <http://localhost/somepage/> refers to <http://localhost/pages/view/somepage/>
$route['(:any)'] = "pages/view/$1";
// .htaccess is already setup to rewrite the url without index.php
Теперь у меня нет большого опыта работы с PHP, и понятия URL Переписывая и MVC архитектуры довольно ново для меня.
Предположим, что есть страницы под названием • Главная, • О, • Администратор и • Контакт.
Для страниц • дома, • О и • контакта, Pages контроллер работает сразу, как это должно быть.
Но для • Страница администратора, я хочу иметь отдельный контроллер, который определяет, вошел ли пользователь в систему или нет, и имеет ли он права администратора и т. Д. И если он еще не вошел в систему, я должен загрузить вид вместо Администратор вид.
Страницы Контроллер имеет довольно простую логику. Он проверяет, существует ли строка в аргументе, добавленная с .php
и добавленная с помощью каталога представлений, в виде файла или нет. Если это не show_404()
, если это так, загрузите вид header-template, затем загрузите страницу, затем загрузите вид footer-templat. Я почти уверен, что большинство из вас, кто работал с CodeIgniter, должны увидеть аналогичную логику для статических страниц.
я мог сделать redirect('login')
внутри моей Администратор вид, но это не похоже на работу. Если я создам отдельный контроллер для администратора, как бы мне получить к нему доступ, тогда как в соответствии с маршрутами каждый URL-адрес будет перенаправлен на контроллер pages/view
(строка №4 в приведенном выше коде).
Как я уже сказал, я довольно новичок в этом. Это может быть какая-то заторможенная ошибка, которую я делаю. Или вся моя структура MVC может быть неправильно построена. Как мне пройти мимо этого и начать беспокоиться об аутентификации? Может ли кто-нибудь посоветовать?
Я собирался ответить на свой вопрос. Я решил, что лучший способ - это то, что вы упомянули. У меня теперь есть задание '$ route' для каждой страницы;). Если это * о *, * contact * или * home *, маршрут - 'pages/view/$ 1', но если это * admin *, маршрут будет' admin/index/$ 1'. Но это, вероятно, не самый эффективный способ. Я буду использовать несколько разных логик в соответствии с вашими стратегиями * first-route-first * и * _remap() '*. :) –