PHP MVC最佳实践 – 将会话变量从控制器模型化或直接在模型中访
发布时间:2020-12-13 16:32:37 所属栏目:PHP教程 来源:网络整理
导读:我们的开发团队正在辩论一般的最佳实践: 最好直接从模型类中的函数访问会话变量,或者将控制器中的会话变量作为参数传递给模型类中的函数.看下面两个例子: 直接从模型类访问会话变量以在查询中使用: class MyModel { public function getUserPrefs($userID
我们的开发团队正在辩论一般的最佳实践:
最好直接从模型类中的函数访问会话变量,或者将控制器中的会话变量作为参数传递给模型类中的函数.看下面两个例子: 直接从模型类访问会话变量以在查询中使用: class MyModel { public function getUserPrefs($userID) { $this->query("SELECT * FROM my_table WHERE id=$_SESSION['userID']"); } } 或者将会话变量从控制器传递给模型类中的函数作为函数参数: class MyController { public function displayUsers() { $this->model->getUserPrefs($_SESSION['userID']); } } class MyModel { public function getUserPrefs($userID) { $this->query("SELECT * FROM my_table WHERE id=$userID"); } } 将控制器传递给模型的原因是所引用的所有数据都来自一个入口点,即控制器. 什么是公认的更好的做法?
第二个版本(通过$_SESSION [‘userId’]作为方法的参数)导致一个更加解耦的类,因此更灵活.和它一起去
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |