我可以在codeigniter路由中使用帮助器吗?

Emi*_*uez 1 php routes codeigniter helper

所以我有一个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";
Run Code Online (Sandbox Code Playgroud)

提前致谢!

Emi*_*uez 5

简而言之,您不能使用自动加载的帮助程序,也不能在帮助程序中使用$ this.与库不同,助手不是类,因此您无法获得CodeIgniter的实例.

但是,要解决您的问题,您可以包含帮助文件.

require_once( APPPATH .'helpers/your_helper.php');
Run Code Online (Sandbox Code Playgroud)

所以因为它已经包含你现在可以使用这个帮助器的函数,如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";
Run Code Online (Sandbox Code Playgroud)

然后你现在可以使用它.