我在CodeIgniter中的模型需要检查用户是否有权执行给定的操作.在我使用$ this-> session-> userdata ['user_id']引用的模型中.
我的问题是 - 我应该在Controller中将变量设置为$ this-> session-> userdata ['user_id']并将其传递给模型,或者只是在模型中检查它?
它甚至重要吗?我想将$ user_id传递给函数会使(略微)更具可读性.争论/反对的论点和建议是什么?
您可以选择对应用程序至关重要的数据和附带给定模型成员函数的数据.你应该保证你到处使用的东西(基本成员,全局等),并且只在当前函数中使用的东西应该是参数.您会发现$this->session->userdata在模型和视图中的许多地方使用隐含变量(例如)会很快成为意大利面条,如果您没有正确地引导它们将会无法预测.
在我的CodeIgniter项目中,我添加了一个继承自CI框架的自定义基本模型和控制器,添加了自己在应用程序中随处使用的成员数据.我使用这些基类来提供我的所有模型和控制器使用的数据和函数(包括类似的东西userID).在构造函数中my_base_controller,我调用CI基础构造函数,并设置我的所有控制器和视图所需的数据.这保证了类数据的可预测默认值.
| 归档时间: |
|
| 查看次数: |
2489 次 |
| 最近记录: |