Структура массива с заказом $_SESSION[$session]

Опубликовано: 01.09.2018

видео Структура массива с заказом $_SESSION[$session]

Основы PHP [июль 2017] - урок 5

Во время работы с корзиной все данные, относящиеся к работе корзины, храняться в массиве $_SESSION[$session]. Рассмотрим подробнее структуру этого массива.


[PHP] Пишем простой MVC фреймворк. Контроль доступа. Часть #8

$session - это глобальная переменная, которая хранит идентификатор сессии. Она создается в момент первого запуска сниппета TSVshop. Чтобы в своем сниппете/плагине/модуле получить доступ к этой переменной, а соответственно, к массиву $_SESSION[$session], нужен этот минимальный код:


PHP. Интернет магазин-корзина 14

global $session; include (MODX_BASE_PATH."/assets/snippets/tsvshop/include/cart.inc.php");

и далее у вас появится доступ к содержимому массива $_SESSION[$session]. 

Структура массива $_SESSION[$session]

$_SESSION[$session]['orders'] - хранит в виде массива данные о товарах, находящихся в корзине.

$_SESSION[$session]['result'] - хранит в виде массива данные о заказе, напр., скидки, сумма заказа, данные о заказчике и т.д.

Данные поступают в массив по мере совершения действий с корзиной. Поэтому в разный момент времени в данном массиве могут быть не все данные. Например, массив $_SESSION[$session]['result'] не будет содержать данные о сумме заказа до тех пор, пока пользователь хотя бы один раз не перейдет на страницу корзины (в тот момен произойдет пересчет всех данных и массив $_SESSION[$session]['result'] дополнится данными о стоимости заказа, скидках, стоимости доставки и т.д.). То же самое касается данных пользователя, которые станут доступными в массиве $_SESSION[$session]['result'] только после того, как пользователь заполнит форму оформления заказа и подтвердит заказ.

Массив $_SESSION['tsvshopfin']

Массив $_SESSION['tsvshopfin'] - это полная копия массива $_SESSION[$session], но создаваемая после окончательно сформированного заказа. Он предназначен для того, чтобы хранить все данные о последнем  сделанном заказе в течении одной сессии. Используется в модуле TSVshop для вывода данных о сделанном заказе на странице "Завершение заказа" (или "Спасибо за заказ" - кому как больше нравится). В тот момент массивы $_SESSION[$session]['orders'] и $_SESSION[$session]['result'] полностью уничтожаются, корзина очищается, а все данные уже перенесены в массив $_SESSION['tsvshopfin']. Очень удобно пользоваться этим массивом, если нужно сделать какие-то действия с заказом уже после очистки корзины.

Чтобы посмотреть структуру вышеописанных массивов, вы можете просто распечатать их с помощью функции print_r().

 

rss