将会话变量存储为常量


Storing SESSION variables as CONSTANTS

这比其他任何事情都更笼统,但有兴趣听听普遍的共识是什么。

我像往常一样将用户会话数据存储在会话用户数组中。显然,我可以直接在包含 session_start() 的每个页面上访问该数组。但是,我希望能够使用简单的变量访问会话项目,而不是每次都引用数组。实际上,归根结底是对我来说打字更少,但代码也更整洁。

我正在考虑在每个页面的顶部包含一个文件,该文件将每个会话变量定义为常量,然后我可以引用常量而不是数组。

这是否有效,或者如果多个用户登录,它会导致问题?

谢谢G

是的,它会起作用!但我认为这不是一个好主意/这是不必要的。

作为它工作的示例:

索引.php:

<?php
    session_start();
    $_SESSION['username'] = "myuser1233";
    require_once("config.php");
    echo USERNAME;
?>

配置.php:

<?php
    //session_start(); you would have to start the session if you don't start the session in the file which includes this one
    define("USERNAME", $_SESSION['username']);
?>

输出:

myuser1233

(我会使用会话本身或使用会话值创建一个类,因为如果值发生变化,该怎么办?你不能覆盖常量!