Вы можете сохранять объекты в сеансе, но вам необходимо включить файл, содержащий определение класса, перед вызов session_start () (или используйте автозагрузку класса и настройте это перед началом сеанса). Например:
На каждой странице:
//include class definition
require('class.php');
//start session
session_start();
1-я страница:
$object = new class();
$object->someProperty = 'hello';
//store in session
$_SESSION['object'] = $object;
Последующие страницы:
$object = $_SESSION['object'];
//add something else, which will be stored in the session
$object->anotherPropery = 'Something';
Использование объекта
в нескольких «скриптах»:
Во-первых, вы должны решить, какую структуру имеет ваше ООП-приложение.
Если вы используете что-то вроде MVC
шаблон , вам не нужно делать это с помощью SESSION или REQUEST, потому что вы можете «подключить» объекты, которые хотите использовать, в «один».
Что это означает?
Быстрый пример:
include_once ('Authentication.php')
и инициировать класс из этого файла, например php $ Auth = новый Auth_Handler; ?>
Это сделает класс Auth также доступным в index.php или любом другом файле, который вы хотите включить в этот класс.
Если вы хотите передать возвращаемое значение класса аутентификации в другой файл, например, «register.php», вы можете использовать SESSION или любой другой кэш.
Не рекомендуется проходить объекты целиком из-за их размера.
Намного лучше включать и запускать нужные классы в начале файлов.
А передача результатов с помощью SESSION требует меньше места. Это действительно зависит от того, какой фреймворк или API вы хотите использовать, или какой проект вы хотите создать.
Вы можете сохранить объект в SESSION. Вы можете сериализовать объект и передать его через GET или POST.
Если вы хотите, чтобы объект сохранялся на сайте, то SESSION, вероятно, ваш лучший выбор.
Вы можете использовать $ _SESSION . но это будет только для этой сессии.