我是CI的新手。 在我的未来项目中,我们将具有如下菜单结构:
Menu1
--Submenu1
--Submenu2
--[...]
Menu2
--Submenu3
--Submenu4
[...]
因此,许多菜单,每个菜单都有许多子菜单(许多子菜单都有CRUD或类似菜单)。 我的问题是要路由到所有这些页面,我想将Controllers组织在文件夹中(带有菜单名称),并且每个子菜单都将是一个Controller,如下所示:
/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并在文件夹中搜索该确切路径的路由值?
答案 0 :(得分:0)
首先,请记住,您需要使代码易于管理。从外观上看,您的视图和控制器将需要更加简化,否则将需要大量管理。
因此,我认为您最好做一些事情:
1)在application / core中创建一个名为MY_Controller.php的控制器,并从中扩展所有控制器(这样您就可以集中您的方法)
2)每个菜单控制器用户a。所以Controller = Menu1或Menu2
3)尝试使您的视图尽可能地可重用,以免使事情变得过于复杂
您应该以如下形式结束:
menu1/Submenu1 >> Controller (Menu1) >> function Submenu1
menu1/Submenu2 >> Controller (Menu1) >> function Submenu2
请记住,使用Codeigniter,以下网址将导致:
url: menu1/submenu1/param1/param2
Controller
function submenu1($param1,$param2)
因此无需获取URI组件,因为CI会自动路由它们。