是否必须在类的每个函数中调用session_start()?像:
class User {
var $username;
function set_session_username($username) {
session_start(); # do I really need to call this again?
$_SESSION['username'] = $username;
}
function retrieve_session_username() {
session_start(); # do I really need to call this again?
$this -> username = $_SESSION['username'];
}
}
session_start();
$user = new User();
$user -> set_session_username('savagewood');
$user -> retrieve_session_username();
echo $user -> username;
答案 0 :(得分:3)
不,每个请求只需要调用一次。因此,运行的第一个脚本将其发布在该文件的顶部
答案 1 :(得分:1)
不,您需要在加载的页面中仅启动一次会话。不属于任何类别或职能。
答案 2 :(得分:1)
不,在您的应用发送任何输出之前,应在应用入口点调用一次session_start()
。
答案 3 :(得分:1)
您可以检查会话是否已启动:
if (!session_id())
session_start();