当需要检索或保留 session 值时,在类构造函数上使用 session_start 是否被认为是正常的?最佳做法?
除非从 __contruct 调用 session_start,否则无法从类中检索 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();
最佳答案
最佳做法是从 Bootstrap 启动 session 。
和 session 本身通过某种智能包装器类进行访问(有关示例,请参见 ZF)。
这样您应该 100% 确定您的代码中不会出现 header 问题和重复的 session_start 调用。
一个类可以多次实例化/请求...bootstrap 仅运行一次/请求。
关于php - 在类中访问 session 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5874976/