sessName = $name. «_bskt»;
$this->sessQty = $name. «_qty»;
$this->initialise ();
}
// ----- Приватные методы -------------------------------------------------
Магазин // в настоящее время блок в перемеююом встречи
//
приватное updateBasket функции () {
$_SESSION [$this->sessName] = издают сериями ($this->basket);
$_SESSION [$this->sessQty] = издают сериями ($this->qty);
}
// выступает корзина с иничиативой
//
приватная функция выступает с иничиативой () {
Проверка // если встреча находится в прогрессе и если так восстановите существующий корзину
//
если (isset ($_SESSION [$this->sessName]) isset && ($_SESSION [$this->sessQty])) {, то
$this->basket = unserialize ($_SESSION [$this->sessName]);
$this->qty = unserialize ($_SESSION [$this->sessQty]);
}
еще {
$this->basket = блок ();
$this->qty = блок ();
$this->updateBasket ();
}
}
// ----- Общественные методы --------------------------------------------------
// опорожняет корзину вне
//
ясность функции () {
unset ($_SESSION [$this->sessName]);
unset ($_SESSION [$this->sessQty]);
$this->initialise ();
}
// добавляет предмет к концу списка
//
Параметры //: $item - предмет, котор нужно хранить
// $num - количество, котор нужно хранить, невыполнения обязательства до 1
//
addItem функции ($item, $num=1) {
// обеспечивает пребывание индексов в шаге путем восстановлять самое высокое
индекс // существующий и инкрементировать его
//
$ctr = отсчет ($this->basket);
если ($ctr > 0) {, то
$lastKey = конец (array_keys ($this->qty));
$ctr = $lastKey + 1;
}
$this->basket [$ctr] = $item;
$this->qty [$ctr] = $num;
$this->updateBasket ();
}
// извлекает деталь от списка - определите номером корзины.
ПРИМЕЧАНИЕ // ЧТО ИЗВЛЕКАТЬ ДЕТАЛЬ НЕ ПЕРЕУСТАНОВИТ КОРЗИНУ НУМЕРУЕТ в блоках.
//
Параметры //: $basketNumber - индекс входа блока, котор нужно извлечь от блока
//
rmvItem функции ($basketNumber) {
если (отсчет ($this->basket) > 0) {, то
Проверка // 001 что деталь существует перед пытать свое удаление
//
если (isset ($this->basket [$basketNumber] )) {, то
unset ($this->basket [$basketNumber]);
unset ($this->qty [$basketNumber]);
$this->updateBasket ();
}
}
}
Fetch // деталь
//
Параметры //: $basketNumber - индекс входа блока, котор нужно восстановить от блока
//
fetchItem функции ($basketNumber) {
если (отсчет ($this->basket) > 0) {, то
возвращенное $this->basket [$basketNumber];
}
}
Fetch // количество для деталя
//
Параметры //: $basketNumber - индекс qty, котор нужно восстановить от блока
//
fetchItemQuantity функции ($basketNumber) {
если (отсчет ($this->qty) > 0) {, то
возвращенное $this->qty [$basketNumber];
}
}
Изменение //, котор дали деталь в списке
//
Параметры //: $basketNumber - индекс предмета к уточнению
// $anItem - предмет
//
chgItem функции ($basketNumber, $anItem) {
если (отсчет && >= 0 $basketNumber ($this->basket) > 0) {, то
Проверка // 001 что деталь существует перед пытать свое удаление
//
если (isset ($this->basket [$basketNumber] )) {, то
$this->basket [$basketNumber] = $anItem;
$this->updateBasket ();
}
}
}
Изменение //, котор дали количество деталей в списке
//
Параметры //: $basketNumber - индекс предмета к уточнению
// $qty - Новое количество
//
функция chgQty ($basketNumber, $qty) {
если (отсчет && >= 0 $basketNumber ($this->qty) > 0) {, то
Проверка // 001 что деталь существует перед пытать свое удаление
//
если (isset ($this->basket [$basketNumber] )) {, то
$this->qty [$basketNumber] = $qty;
$this->updateBasket ();
}
}
}
// получает список всех деталей в корзине
//
fetchAllItems функции () {
возвращенное $this->basket;
}
// получает список всех количеств деталя, котор хранят в корзине
//
fetchAllQtys функции () {
возвращенное $this->qty;
}
// возвращает отсчет числа деталей в корзине
//
countBasket функции () {
возвращенное array_sum ($this->qty);
}
} конец // myBasket типа
|