Корзина

Плагин Basket - Object-Document-Mapper это основанный на SESSION с синтаксисом, довольно похожим на Cursor и его производные. Это означает, что любые адресованные данные доступны только в течение срока действия текущего пользовательского сеанса, что делает их удобными для реализации корзины покупок или любой службы, которая работает с гостевыми посетителями, а не с зарегистрированными.

Пространство имен: \

Расположение файла:lib/basket.php

Инициализация

Вот как вы создаете новый mapper корзины:

$basket = new \Basket();
$basket_named = new \Basket( 'discounted-items' );

Пожалуйста, обратитесь к методу _construct для получения подробной информации.

Методы

exists

Вернет TRUE, если поле определено

bool exists ( string $key )

Эта функция позволяет вам проверить, определено ли именованное поле. Пример:

$basket->set('cherry',5);
$basket->exists('cherry'); // TRUE

set

Присвойте значение полю

scalar|FALSE set ( string $key, scalar $val )

Эта функция позволяет вам присвоить значение полю.

Примечание :$key '_id' является зарезервированным ключом и приведет set() к возврату FALSE без сохранения пары ключ / значение.

Возвращает присвоенное значение $val в случае успеха или FALSE, если $key равен зарезервированному ключу '_id'.

Пример:

$val = $basket->set('product_code', 2764);
$val = $basket->set('product_discount', TRUE);

get

Получить значение поля

scalar|FALSE get ( string $key )

Эта функция позволяет вам получить значение поля.

Пример:

echo $basket->get('cherry'); // displays '5'

clear

Удалить поле

NULL clear ( string $key )

Эта функция позволяет удалить поле. Поле для этой корзины больше не существует.

Пример:

$basket->clear('cherry');

find

Возвращать элементы, соответствующие паре ключ / значение, или все элементы, если пара ключ / значение не указана

array|FALSE find ( [ string $key = NULL , mixed $val = NULL ] )

Эта функция позволяет находить элементы, соответствующие паре ключ / значение. Он возвращает массив объектов mapper'ов корзины.

Если пара ключ / значение не указана, возвращает все товары в корзине. Это дает вам возможность перебирать всю корзину.

Пример:

// add item
$basket->set('name','cherry');
$basket->set('amount',5);
$basket->save();
$basket->reset();
// add item
$basket->set('name','peach');
$basket->set('amount',10);
$basket->save();
$basket->reset();
 
$result = $basket->find('name','cherry');
 
echo $result[0]->get('amount'); // displays '5' (int)
echo $result[0]->get('name'); // displays 'cherry'
 
$result = $basket->find();  // array of basket items, if any
 
// results, e.g.:
array(2) {
  [0]=>
  object(Basket)#7 (3) {
    ["key":protected]=>
    string(5) "sunny"
    ["id":protected]=>
    string(23) "52db5405a64047.97371123"
    ["item":protected]=>
    array(2) {
      ["name"]   =>		string(6) "cherry"
      ["amount"] =>		int(5)
    }
  }
  [1]=>
  object(Basket)#8 (3) {
    ["key":protected]=>
    string(5) "sunny"
    ["id":protected]=>
    string(23) "52db5405a64143.07049859"
    ["item":protected]=>
    array(2) {
      ["name"]   =>		string(5) "peach"
      ["amount"] =>		int(10)
    }
  }
}

findone

Вернуть первый элемент, соответствующий паре ключ / значение

object|FALSE findone ( string $key, mixed $val )

Эта функция позволяет получить первый элемент, соответствующий данной паре ключ / значение.

Пример:

$result = $basket->findone('amount','10');
echo $result->get('name'); // displays 'peach'

load

Сопоставить текущий элемент с соответствующей парой ключ / значение

array load ( string $key, mixed $val )

Эта функция позволяет сопоставить текущий элемент соответствующей паре ключ / значение.

Пример:

$basket->load('name','peach');
echo $basket->get('amount'); // displays '10' (int)

dry

Вернет TRUE, если текущий элемент пуст / не определен

bool dry (  )

Эта функция позволяет вам проверить, является ли текущий элемент пустым / неопределенным.

Пример:

$basket->load('name','banana');
$basket->dry(); // TRUE, this mapper is empty
 
$basket->load('name','peach');
$basket->dry(); // FALSE, this mapper is hydrated

count

Вернуть количество товаров в корзине

int count (  )

Эта функция позволяет вернуть количество товаров в корзине.

Пример:

echo $basket->count(); // displays '2' (int)

save

Сохранить текущий элемент

array save (  )

Эта функция позволяет сохранить текущий товар в корзине.

Пример:

$basket->set('name','peach');
$basket->set('amount',10);
$basket->save();

erase

Удалить пару «ключ-значение», совпадающую с элементом

bool erase ( string $key, mixed $val )

Эта функция позволяет удалить элемент корзины, соответствующий данной паре ключ / значение.

Пример:

$basket->erase('name','peach'); // returns TRUE

reset

Сбросить курсор

NULL reset (  )

Эта функция позволяет сбросить курсор.

Пример:

$basket->load('name','cherry'); // mapper is hydrated now
$basket->dry();	// false
$basket->reset();
$basket->dry();	// true, mapper is empty again

drop

Очистить корзину

NULL drop (  )

Эта функция позволяет полностью очистить корзину. Корзина также удаляется из СЕССИИ.

Пример:

$basket->drop();

copyfrom

Сопоставить элемент с помощью массива

NULL copyfrom ( array | string $var )

Этот метод позволяет сопоставить элементы массива из hive с корзиной в таблице которой имена полей соответсвуют именам ключей этого массива.

Пример 1:

$basket->copyfrom(array('name'=>'banana', 'amount'=> 15));
$basket->get('name'); // banana

Пример 2:

$f3->set('banana',array('name'=>'banana', 'amount'=> 15));
$basket->copyfrom('banana');
$basket->get('name'); // banana

copyto

Заполнить переменную массива hive содержимым элемента

NULL copyto ( string $key )

Эта функция позволяет вам заполнить переменную массива hive содержимым корзины.

Пример:

$basket->copyto($key);

checkout

Проверить содержимое корзины

array checkout (  )

Эта функция возвращает все товары из корзины и очищает ее.

Пример:

$basket_items = $basket->checkout();

__construct

Создать экземпляр класса

void __construct ( [ string $key = 'basket' ] )

Конструктор позволяет создать экземпляр класса.

Параметр $key является эквивалентом имени таблицы базы данных.

Пример:

$basket = new Basket( 'puppy-cart' );
Печать/экспорт