会话+对象

时间:2014-03-05 21:14:22

标签: php

我正在研究通用的UCP,我正在尝试在会话中存储用户配置文件对象。问题在于,我无法从中获取任何数据。

一些片段,

user.php的

public $data, $logs;
public $user_name;

function User($user_name) {

  this->user_name=$user_name;
  this->Fetch(); //CAN_USE_FETCH_FOR_UPDATES
}
function Fetch() {

  this->data=*; //SQL_DATA
  this->logs=*; //SQL_DATA
}

的functions.php

function create_user($user_name) {

  require_once('./struct/user.php');
  $user = new User($user_name);
  $_SESSION['user'] = $user;
}

main.php

$user = $_SESSION['user'];
echo($user->user_name); //NOT_WORKING
echo($user->data['username']); //NOT_WORKING

我尝试在会话变量上使用print_r / var_dump,然后打印整个对象。无论出于何种原因,我都无法从中获取任何数据。

的print_r($用户)

(
[__PHP_Incomplete_Class_Name] => User
[data] => Array
(
[id] => 1
[username] => Veritas
...

1 个答案:

答案 0 :(得分:1)

从会话中检索的数据不是您的班级User的对象。它是一个通用对象,属性__PHP_Incomplete_Class_Name表明它应该是类User的实例,但在创建对象时,PHP运行时不知道User类是什么。尝试在开始会话之前加载User class