Я пытаюсь создать пользовательские типы данных для более удобного доступа к данным, когда они мне нужны.Это будет простой класс 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);
Но когда я пытаюсь получить доступ к значениям, хранящимся на моемданные сеанса (в другой функции контроллера) Я получаю сообщение об ошибке, указывающее, что Сценарий попытался выполнить метод или получить доступ к свойству незавершенного объекта .
$new_line = $this->session->userdata('new_line');
echo $new_line->prod_name;
Q1: Как/ где я должен объявить, что мой класс работает должным образом на CodeIgniter?
Q2: Это считается плохой практикой или может быть сделано лучше?
РЕДАКТИРОВАТЬ: Добавлены примеры кода и более подробно объяснено, что я делаю.
РЕДАКТИРОВАТЬ 2: Дальнейшие тесты позволили мне обнаружить ошибку, обнаруженную при получении объекта из сеанса.