我正在尝试创建自定义数据类型,以便在需要时更轻松地访问数据。这将是一个简单的php类,其属性可以存储我需要的数据。例如
class Inventory_line {
public $prod_code;
public $prod_name;
public $fmt_code;
public $fmt_name;
}
我还打算在会话数据中存储一些此类对象。
我正在尝试通过创建具有所需属性的库,然后加载该库并在需要时实例化我的类来实现此目的。我的模型设置属性并返回它们。
$this->load->library('inventory_line');
$line = new inventory_line();
$line->prod_code = 1;
$line->prod_name = 'Product';
$line->fmt_code = 11;
$line->fmt_name = 'Format';
然后我的控制器将对象保存在我的会话用户数据中:
$new_line = $this->inventory_model->get_line();
$this->session->set_userdata('new_line', $new_line);
但是当我尝试访问存储在我的会话数据中的值(在另一个控制器功能中)时,我收到一条错误消息,指示脚本试图执行方法或访问不完整对象的属性< / em>。
$new_line = $this->session->userdata('new_line');
echo $new_line->prod_name;
Q1:我应该如何/在什么地方声明我的班级在CodeIgniter上正常工作?
Q2:是否认为这是不良做法,还是可以采用更好的方法?
编辑::添加了代码示例,并进一步解释了我在做什么。
编辑2:进一步的测试使我发现错误位于从会话中获取对象的位置。