PHP MVC – 在控制器或模型中存储用户变量?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PHP MVC – 在控制器或模型中存储用户变量?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1628字,纯文字阅读大概需要3分钟。
内容图文
![PHP MVC – 在控制器或模型中存储用户变量?](/upload/InfoBanner/zyjiaocheng/784/102d6899307d4a2f81956df6a866fa49.jpg)
在Controller或Model中存储变量的最佳实践是什么?
例如,当脚本被执行时.它从会话中获取用户ID并获取它的用户类型,超级管理员,管理员,服务代表,销售代表.我们还检查用户ID所属的帐户,并获取该帐户的所有设置.
我的问题是我在控制器或模型中存储这些值的位置?
先感谢您.
解决方法:
在PHP中,考虑一个真正的MVC模型有点奇怪,因为你的模型,视图和控制器可以访问$_SESSION.
例如,如果要将用户登录,则模型将执行以下操作:
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');
}
}
显然这个代码必须花费,但它应该正确显示概念.我还在模型中使用了静态函数,但您可以将模型作为对象.
My questions is where do i store these settings, in the Model, or pass it back to the controller, and the controller will store these settings?
根据您的操作方式,您可以通过模型每次从数据库中获取设置,也可以将它们存储在会话中.在$_SESSION中存储内容将允许您减少数据库调用.实际上,模型操纵$_SESSION或数据库.如果您的模型特定于某些东西(您可以创建自己的用户模型),那么您实例化该对象并将您的信息存储在私有成员中.
控制器的要点是从模型中获取信息,然后相应地渲染页面.真的是MVC数据流以这种方式工作:
>请求控制器
>控制器获取信息表单模型(这是可选的,也许控制器不需要模型中的任何内容)
>模型将信息返回给控制器
(如果您在上一步中提出请求,则会发生这种情况)
> Controller传递适当的信息进行查看.
内容总结
以上是互联网集市为您收集整理的PHP MVC – 在控制器或模型中存储用户变量?全部内容,希望文章能够帮你解决PHP MVC – 在控制器或模型中存储用户变量?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。