我需要有关使用php会话的意见。我正在使用会话来存储数据。例如 - 配置:
$_SESSION['config']
$_SESSION['config'][$key]
; 这是配置功能:
public static function load_config($process_sections = FALSE)
{
$array = parse_ini_file(CONFIG . DS . 'config.ini', $process_sections);
if ($array)
{
$_SESSION['configuration'] = $array;
return TRUE;
}
else
{
$_SESSION['configuration'] = array();
return FALSE;
}
}
function config($key, $default = NULL)
{
if (isset($_SESSION['configuration']))
{
if (isset($_SESSION['configuration'][$key]))
{
return $_SESSION['configuration'][$key];
}
else
{
return $default;
}
}
}
用户对象也一样。我的用户数据不是来自数据库,而是来自API,并将其存储在$_SESSION['user']
中。当用户对象是构造时,我只是从$_SESSION['user'][...]
归属所有属性,例如:
public function __construct()
{
parent::__construct();
$this->initUser();
}
private function initUser()
{
if (Session::is('user'))
{
return $this->setUserData(Session::get('user'));
}
else
{
return FALSE;
}
}
private function setUserData($data)
{
foreach ($data as $key => $value)
{
if(property_exists($this->_name, $key))
{
$this->{$key} = $value;
}
}
return TRUE;
}
属性在类中定义。当对象正在构建时,我正好按时完成它。这是正确的做法吗?它对我来说非常好,但我怀疑我的方法是否覆盖了服务器。