当需要检索或保留会话值时,在类构造函数上使用session启动是否被认为是正常的?最佳实践?
除非从construct调用session启动,否则无法从类中检索会话变量。

session_start();

if(isset($_REQUEST['siteid'])){
    $siteid = $_REQUEST['siteid'];
    $_SESSION['siteid'] = $siteid;
    echo $siteid;
}else{
    $siteid = "";
}
require_once 'common/lib_constant.php';
require_once 'common/database.php';
require_once 'common/common.class.php';
$commonClass = new commonClass();

最佳答案

最佳实践是从引导开始会话。
会话本身通过某种智能包装类进行访问(参见zf的示例)。
这样,您应该100%确定您的代码中不会有头问题和重复的会话启动调用。
一个类可以被多次实例化/request…bootstrap只运行一次/request。

关于php - 访问类中的 session 变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5874976/

10-12 16:44