PHPShopArray

Материал из PHPShop

Перейти к: навигация, поиск

PHPShopArray - набор логик для упрощенного доступа к данным БД через массивы. C помощью PHPShopArray реализованы:

Содержание

Назначение

Классы на основе PHPShopArray предоставляют упрощенный доступ к данным таблицы по ключам, состоящие из заранее заданных полей БД. Форматированные массивы данных удобно использовать в коде, получая данные массива по заранее известному ключу, например код валюты и т.д.

Создание

При создании нового класса указывается название таблицы и имена полей БД, имена полей таблицы, которые будут занесены в массив. Пример массива валют:

class PHPShopValutaArray extends PHPShopArray {
 
    function PHPShopValutaArray() {
        $this->objBase=$GLOBALS['SysValue']['base']['currency'];
        $this->order=array('order'=>'num');
        parent::PHPShopArray('id','name','code','iso','kurs');
    }
}

где:

  • currency - имя таблицы БД phpshop_valuta
  • id,name,code,iso,kurs - имена полей для включения в массив. Поля с большими данными (описание товаров, содержание сттаницы) не рекомендуется включать в массив из-за возможного замедления обработки данных.
  • 'order'=>'num' - сортировка выборки

Методы

  • getArray() - Получение массива данных. Возможность обращения к массиву по ключу.
  • getKey() - Преобразование в ключевой массив по первому параметру при указании метода
  • getNum() - Подсчет элементов в массиве
  • getParam() - Выдача элемента массива по ключу
  • setArray() - Создание массива выбранных элементов из БД

Использование

Полученние данных по ключу

Получить информацию с помощью упрощенного доступа можно из любого места, даже из шаблона. Рассмотрим пример получения имени валюты по ключу ID валюты (ID=1)

$PHPShopValutaArray = new PHPShopValutaArray();
$code=$PHPShopValutaArray->getParam('1.code');

или

$PHPShopValutaArray = new PHPShopValutaArray();
$Array=$PHPShopValutaArray->getArray();
$code=$Array[1]['code'];

Изменение ключей

Преобразование в ключевой массив по первому параметру при указании метода. Если нам нужно получить дданые не по ключу массива, то можно произвести "пересборку" массива по заданным параметрам. Например, у нас известно ISO валюты $ и нужно получить его курс.

$PHPShopValutaArray = new PHPShopValutaArray();
$Valuta=$PHPShopValutaArray->getKey('iso.kurs');
$Array=$Valuta->getArray();
$code=$Array['$'];