【发布时间】:2016-03-28 10:53:49
【问题描述】:
在我目前正在开发的 PHP MVC 中,基本控制器会检查用户是否已登录,如果已登录,则更新其属性(参见代码)。
由于这些属性用于模型类的各种方法中,我想将它们从基本控制器传递给(基本)模型。 这样做的正确方法是什么?
class Controller {
protected $user_logged_in = false;
protected $logged_in_user_id = null;
function __construct() {
if(isset($_SESSION['user_id'])) {
$this->user_logged_in = true;
$this->logged_in_user_id = $_SESSION['user_id'];
}
}
}
【问题讨论】:
-
会话是“模型”,您可以在控制器和模型中获取此模型。
-
@Naumov ...据我了解,在模型方法中访问 $_SESSION 变量并不是一个好习惯...
-
model 文件实际上指向数据库中的对象/记录。您不应该将任何数据从控制器发送到模型。