想知道如何命名这个问题。认为这是最好的情况。
情况: 我得到了用KohanaPHP框架编写的小应用程序。然而,有一个让我疯狂的小虫子。
我有自己的Core_Controller,由这个应用程序中的每个控制器扩展。在这个控制器的构造函数中,我正在检查用户配置文件状态。到现在为止还挺好。虽然我面临着一个逻辑问题。它被称为无限重定向循环。如果我尝试将(在Core_Controller构造函数中)用户重定向到Member_Controller,由于无休止的lopp,它无法工作。我明白为什么会这样。
解决方案: 我正在寻找一个如何使其灵活的解决方案。我试图将此验证移动到帮助程序并在Core_Controller构造函数中调用它。但是,它可以正常工作。
问题: 我是否必须在每个控制器的构造函数中进行验证?有没有通用的方法呢?
等待你的想法。
M.A。
答案 0 :(得分:0)
只需检查用户是否已经过验证,当前请求的操作不是会员/验证,请执行重定向。
parent::__construct();
会调用父构造函数,所以我也没有看到问题..
答案 1 :(得分:0)
您需要一个不重定向的条件(在您重定向到的页面上)。你会想要一些类似的代码。
if not member_controller then
redirect to member_controller
else
do nothing
endif
不需要其他,但只是添加,所以你更清楚。