脚本宝典收集整理的这篇文章主要介绍了PHP MVC – 在控制器或模型中存储用户变量?,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我的问题是我在控制器或模型中存储这些值的位置?
先感谢您.
class Model{ ... static function login($username,$password){ $result = Model::getUser($username,$password); if(empty($result)){ return false; } else { $_SESSION['userid'] = $result['id']; // Assign other information you think you'll need in the session here } } static function LOGgedIn(){ if(isset($_SESSION['userid']){ return true; } else { return false; } } static function getAttribute($attr){ return $_SESSION[$attr]; } ... } class Controller{ function someFxn(){ $userInfo = Model::getAttribute('someAttr'); } }
显然这个代码必须花费,但它应该正确显示概念.我还在模型中使用了静态函数,但您可以将模型作为对象.
根据您的操作方式,您可以通过模型每次从数据库中获取设置,也可以将它们存储在会话中.在$_SESSION中存储内容将允许您减少数据库调用.实际上,模型操纵$_SESSION或数据库.如果您的模型特定于某些东西(您可以创建自己的用户模型),那么您实例化该对象并将您的信息存储在私有成员中.
控制器的要点是从模型中获取信息,然后相应地渲染页面.真的是MVC数据流以这种方式工作:
>请求控制器>控制器获取信息表单模型(这是可选的,也许控制器不需要模型中的任何内容)>模型将信息返回给控制器(如果您在上一步中提出请求,则会发生这种情况)> Controller传递适当的信息进行查看.
以上是脚本宝典为你收集整理的PHP MVC – 在控制器或模型中存储用户变量?全部内容,希望文章能够帮你解决PHP MVC – 在控制器或模型中存储用户变量?所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。