我多年来一直在做 PHP,并且知道如何检查用户是否已登录以及所有这些,但我找不到如何以 MVC 方式执行此操作的好例子。
我在想,如果成员页面的控制器类似于成员/成员页面1、成员/成员页面2,那么我可以使用“成员”一词的正则表达式来检查控制器的开头,如果它返回 true,那么我可以检查一下查看用户是否已登录。它可能会起作用,但这是最好的方法吗?
此外,对于控制器文件夹中的成员页面,是否最好将它们放在控制器文件夹中名为“members”的子文件夹中?无论如何,我肯定会这样做。
我多年来一直在做 PHP,并且知道如何检查用户是否已登录以及所有这些,但我找不到如何以 MVC 方式执行此操作的好例子。
我在想,如果成员页面的控制器类似于成员/成员页面1、成员/成员页面2,那么我可以使用“成员”一词的正则表达式来检查控制器的开头,如果它返回 true,那么我可以检查一下查看用户是否已登录。它可能会起作用,但这是最好的方法吗?
此外,对于控制器文件夹中的成员页面,是否最好将它们放在控制器文件夹中名为“members”的子文件夹中?无论如何,我肯定会这样做。
一切都以不同的方式进行。我尝试为 PHP 构建一个小型 MVC 框架,这就是我完成身份验证的方式(真的很像 rails 方式:)
有一个'SessionsController'
SessionsController
包含一个调用的方法,该方法'user_is_logged_in'
返回用户会话的当前状态。然后将此方法添加到'_before'
我想要保护的任何类的特殊方法中。
主应用程序总是_before
在任何其他方法之前运行控制器操作(如果存在)。您也可以传入'except'
它以阻止它执行某些操作,因此这只是检查用户是否在该操作中登录的情况。
当然,正如@tereško 强烈建议的那样,可能有更合规的方法可以做到这一点,但它适用于我正在开发的小型应用程序。