【发布时间】:2012-11-01 07:17:18
【问题描述】:
我刚刚开始使用 codeigniter,我想使用相同的路由设置从 URL 中隐藏控制器名称。
我有 3 个控制器,分别是学生、教职员工、教师,它们具有相同的功能,称为 home,这显然不起作用
$route['home'] = 'students/home';
$route['home'] = 'staff/home';
有没有办法做到这一点?我有使用包含用户类型的 codeigniter 会话类的会话数据,所以我尝试了类似的方法
session_start()
$route['home'] = $_SESSION['user_type'].'/home';
但我无法获取会话数据,也许它使用 codeigniter 会话类?那么,我怎样才能得到数据?还是有其他解决方案?
【问题讨论】:
-
你的网址是什么?据我所知,您正在尝试将
/home路由到多个控制器/方法,这是不可能的。 (除非你有一个自己做路由逻辑的方法。) -
localhost/ci_project/students/home, ../staff/home,我用控制器处理每个用户类型,每个用户都有 home 功能。我可以动态地做吗?
-
可能有一种动态的方法,但我不确定 CodeIgniter 是否能很好地使用它。例如,您可以基于字符串对其进行load the class 和call a method。
-
好的,试试看..感谢您的解决方案
标签: php codeigniter controller routes