Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php CodeIgniter上的自定义数据类型_Php_Codeigniter - Fatal编程技术网

Php CodeIgniter上的自定义数据类型

Php CodeIgniter上的自定义数据类型,php,codeigniter,Php,Codeigniter,我正在尝试创建自定义数据类型,以便在需要时更轻松地访问数据。这将是一个简单的php类,其属性将存储我需要的数据。比如说 类别清单\u行{ 公共$prod_代码; 公共$prod_名称; 公共$fmt_代码; 公共$fmt_名称; } 我还打算将其中一些对象存储在会话数据中 我试图通过创建一个具有所需属性的库来实现这一点,然后在需要时加载库并实例化我的类。我的模型设置属性并返回它们 $this->load->library('inventory_line'); $line=新库存_行(); $l

我正在尝试创建自定义数据类型,以便在需要时更轻松地访问数据。这将是一个简单的php类,其属性将存储我需要的数据。比如说

类别清单\u行{
公共$prod_代码;
公共$prod_名称;
公共$fmt_代码;
公共$fmt_名称;
}
我还打算将其中一些对象存储在会话数据中

我试图通过创建一个具有所需属性的库来实现这一点,然后在需要时加载库并实例化我的类。我的模型设置属性并返回它们

$this->load->library('inventory_line');
$line=新库存_行();
$line->prod_code=1;
$line->prod_name='Product';
$line->fmt_代码=11;
$line->fmt_name='Format';
然后,我的控制器将对象保存在我的会话userdata中:

$new\u line=$this->inventory\u model->get\u line();
$this->session->set_userdata('new_line',$new_line);
但是,当我尝试访问存储在会话数据(在另一个控制器函数中)上的值时,我得到一个错误,表明脚本试图执行一个方法或访问一个不完整对象的属性

$new_-line=$this->session->userdata('new_-line');
echo$new\u line->prod\u name;
Q1:我应该如何/在哪里声明我的类才能在CodeIgniter上正常工作

问题2:这些做法是否被视为不好的做法,或者可以用更好的方式进行

编辑:添加了代码示例,并进一步解释了我在做什么


编辑2:进一步的测试使我发现错误位于从会话获取对象的位置。

我终于找到了解决方案!(阅读答案)


我只需要在将对象保存到会话数据之前序列化它,以避免检索问题。

imho to broad-您至少应该交付部分代码。这里基本上有两个问题-第一个是哲学问题(不确定是否适合),第二个基本上是指如何避免脚本试图执行方法或访问不完整对象的属性时出现错误消息。-但是他们都需要一些代码,为了帮助你…我的错,我完全忘记了!现在修好了。