CodeIgniter 4 Динамические маршруты - PullRequest
0 голосов
/ 18 марта 2019

Я новичок в CI.В моем будущем проекте у нас будет такая структура меню:

Menu1
--Submenu1
--Submenu2
--[...]
Menu2
--Submenu3
--Submenu4
[...]

Итак, много меню, и у каждого из них будет много подменю (у многих подменю будет CRUD или подобное).Моя проблема заключается в создании маршрутов ко всем этим страницам, я хотел бы организовать Контроллеры внутри папок (с названием меню), и каждое подменю будет Контроллером, как это:

/app/Controller/Menu1/Submenu1.php
/app/Controller/Menu1/Submenu2.php
/app/Controller/Menu2/Submenu1.php
etc...

А затем мои представлениябудет выглядеть так:

/app/Views/Menu1/Submenu1/index.php
/app/Views/Menu1/Submenu1/insert.php
etc...

Но в то же время я не хочу создавать одну запись в файле Routes.php для каждого подменю, есть ли способ создать маршрут, который просто занимаетURI пути и поиск в папках для этих точных значений?

1 Ответ

0 голосов
/ 18 марта 2019

Во-первых, имейте в виду, что вам нужно сделать код, который будет управляемым. Судя по всему, ваши представления и контроллеры должны быть немного более упорядоченными, в противном случае им станет довольно много управлять.

Поэтому я думаю, вам было бы лучше сделать несколько вещей:

1) Создайте контроллер под названием MY_Controller.php в приложении / ядре и добавьте из него все контроллеры (таким образом, вы сможете централизовать свои методы)

2) Пользователь для каждого контроллера меню. Итак, Контроллер = Меню1 или Меню2

3) Старайтесь, чтобы ваши взгляды использовались как можно чаще, чтобы избежать усложнения вещей

У вас должно получиться что-то вроде этого:

menu1/Submenu1 >> Controller (Menu1) >> function Submenu1

menu1/Submenu2 >> Controller (Menu1) >> function Submenu2

Имейте в виду, что с Codeigniter следующий URL приведет к:

url: menu1/submenu1/param1/param2

Controller
function submenu1($param1,$param2)

Таким образом, нет необходимости получать компоненты URI, так как CI будет маршрутизировать их автоматически.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...