我做了很多研究,但没有找到令人满意的答案。
我应该如何使用 CodeIgniter 库,例如 tank auth?我找到了几种方法,但它们似乎都乏善可陈:
- 我是否主要按原样使用控制器,根据需要添加控制器功能/包括样式?
- 我是否使用控制器作为示例来模拟我自己的模型,依赖对 $this->tank_auth 的调用和 tank auth 包含的视图?
- 或者我是否使用 tank-auth 控制器扩展 MY_Controller,然后将其扩展为任何需要身份验证的特定控制器,然后调用 parent::login()(或 register()、activate() 等)?
第一个选项似乎是最好的,但似乎很难避免复制大量代码(如果我想要一个登录表单,但不想重定向到 /auth/login 会发生什么?)
第二个选项有同样的问题,但更糟。每次我想使用 login_form 视图时,我都需要包含 tank auth 控制器登录功能的逻辑,对吗?
最后一个似乎真的很hacky,对我来说似乎是反MVC,但也许我错了。