我参加了比赛,会员可以注册赢取奖品。 现在,是时候展示比赛的结果和获胜者了。我想只允许一个控制器和一个方法,以禁用仍然注册到比赛的可能性。
我认为重定向可能是一个很好的解决方案但是如何在整个应用程序中执行此操作而无需将代码复制并粘贴到每个控制器的每个方法中?
欢迎任何想法/建议!
答案 0 :(得分:0)
在控制器的构造函数中,您可以通过将uri_string()
与所需方法uri
匹配来添加检查,以查看用户是否正在调用特定函数,然后使用{重定向他{1}}。这是有效的,因为检查控制器的构造函数意味着,当检查发生时,用户甚至无法访问这些方法。所以他/她无法执行它们。
编辑:它有效。
redirect()
答案 1 :(得分:0)
最简单的方法是捕获路由文件中的任何网址(config/routes.php
)并将其分配给您要显示的控制器操作:
$route['default_controller'] = 'controller';
$route['(:any)'] = "controller/action";
这比使用重定向更快。