我正在开发一个 PHP MVC,但努力处理设计的某些方面,让所有东西都可以轻松访问用户信息,这真的让我很困惑。
我确实有 User 作为一个抽象类,所以你可以使用User::getUserId()
,但我不确定这是正确的方法吗?
我现在已将其更改为以下内容,但它不起作用。
问题
假设我有一个基本控制器,我想在每次运行时实例化 User 类:
控制器
class controller{
public $user;
function __construct(){
$this->user = new User();
$user->sessionRefresh();
$user->getUserId();
}
}
然后我有一个实例化的用户模型类:
用户模型类
class User{
var $userId;
function sessionRefresh(){
if (isset($_SESSION['userId']) && $_SESSION['created'] + 15 * 60 < time())
session_regenerate_id();
}
function getUserId(){
$this->userId = $_SESSION['userId'];
}
}
然后我有更多扩展默认控制器的控制器:
论坛控制器- 非常基本,只是为了演示我正在尝试的内容
class forumcontroller extends controller{
function __construct(){
require 'templates/forum.php';
}
}
论坛模板- 非常基本的示例
<html>
<title>Forum</title>
<body>
<div>Welcome User: <?=$user->userId;?></div>
</body>
</html>
我在做什么完全错了吗?
我最近才尝试在 PHP 中从程序性飞跃到 mvc/oop,显然它仍然让我感到困惑。