这是关于Codeigniter的应用程序。我很难理解为所有身份验证任务创建auth库的好处,而不是创建保存其特定任务的单个控制器。
有人可以解释吗?
答案 0 :(得分:2)
库使代码重用成为可能。您抽象出认证任务的功能,然后您可以在任何控制器,方法,模型等中加载和使用它们。
<强>更新强>
控制器(在CodeIgniter中)只响应请求,库是主力。例如,在auth库中,控制器可能有一个名为login
的方法。此方法实际上不会记录用户。而是检查是否有可用的$_POST
个变量。如果用户尚未输入用户名/密码,则$_POST
数组将为空。然后,控制器将调用login
视图,该视图将向用户显示登录表单。然后,用户将输入用户名/密码并将该表单提交回auth控制器的login
方法。
由于现在有$_POST
个变量,因此auth控制器将调用auth库(可能是check_auth_credentials
之类的方法并尝试登录用户。
基本上,控制器“控制”请求。他们根据请求的内容以及请求发送的内容确定要执行的操作。相反,库是一组管理一组任务的相关方法。控制器是 USER 与之交互的控制器,库是 CONTROLLERS 与之交互的库。