【问题标题】:Can I use a helper inside codeigniter route?我可以在 codeigniter 路由中使用助手吗?
【发布时间】:2014-10-27 13:47:17
【问题描述】:
所以我有一个 codeigniter 助手来确定签名的请求是否来自移动设备。
因此,当有移动请求时,我希望我的 url 路由到不同的控制器。
例如
if (get_request() === 'mobile')
$route['u/a/(:any)'] = "mobile/usr/main_controller/game_detail/$1";
else
$route['u/a/(:any)'] = "pc/usr/main_controller/game_detail/$1";
提前致谢!
【问题讨论】:
标签:
php
codeigniter
routes
helper
【解决方案1】:
简而言之,您不能使用自动加载的助手,也不能在助手中使用 $this。与库不同,帮助程序不是类,因此您无法获取 CodeIgniter 的实例。
但是,为了解决您的问题,您可以包含帮助文件。
require_once( APPPATH .'helpers/your_helper.php');
因为它已经包含在内,您现在可以使用这个助手的函数,如 get_request() 等。
if (get_request() === 'mobile')
$route['u/a/(:any)'] = "mobile/usr/main_controller/game_detail/$1";
else
$route['u/a/(:any)'] = "pc/usr/main_controller/game_detail/$1";
然后你现在就可以使用它了。