ModuleStorage_MapperStorage
Package | framework.modules |
---|---|
Inheritance | class ModuleStorage_MapperStorage » Mapper » LsObject |
Since | 2.0 |
Source Code | /framework/classes/modules/storage/mapper/Storage.mapper.class.php |
Сущность хранилища настроек
Protected Properties
Property | Type | Description | Defined By |
---|---|---|---|
_aBehaviors | Список поведений в виде готовых объектов, формируется автоматически | LsObject | |
aBehaviors | array | Список поведений | LsObject |
oDb | DbSimple_Database | Объект подключения к базе данных | Mapper |
Public Methods
Method | Description | Defined By |
---|---|---|
AddBehaviorHook() | Добавляет хук поведения | LsObject |
AttachBehavior() | Присоединяет поведение к объекту | LsObject |
BuildFilter() | Построить строку части WHERE условия из набора параметров фильтра | ModuleStorage_MapperStorage |
DeleteData() | Удалить данные из хранилища | ModuleStorage_MapperStorage |
DetachBehavior() | Отсоединяет поведение от объекта | LsObject |
GetBehavior() | Возвращает объект поведения по его имени | LsObject |
GetBehaviors() | Возвращает все объекты поведения | LsObject |
GetData() | Получить данные из хранилища по фильтру | ModuleStorage_MapperStorage |
RemoveBehaviorHook() | Удаляет хук поведения | LsObject |
RunBehaviorHook() | Запускает хук поведения на выполнение | LsObject |
SetData() | Записать данные | ModuleStorage_MapperStorage |
__call() | Ставим хук на вызов неизвестного метода и считаем что хотели вызвать метод какого либо модуля | LsObject |
__clone() | При клонировании сбрасываем поведения | LsObject |
__construct() | Передаем коннект к БД | Mapper |
__get() | Обработка доступа к объекты поведения | LsObject |
Protected Methods
Method | Description | Defined By |
---|---|---|
IsSuccessful() | Mapper | |
PrepareBehaviors() | Инициализация поведений | LsObject |
Method Details
BuildFilter()
method
public string BuildFilter(array $aFilter=array (
))
| ||
$aFilter | array | фильтр |
{return} | string | часть WHERE условия sql запроса |
Source Code: /framework/classes/modules/storage/mapper/Storage.mapper.class.php#151 (show)
public function BuildFilter($aFilter = array())
{
$sWhere = '';
/*
* для всех значение добавить условие "ключ = значение"
*/
foreach ($aFilter as $sKey => $mValue) {
$sWhere .= '
AND ' . $this->oDb->escape($sKey, true) . ' = ' . $this->oDb->escape($mValue);
}
return $sWhere;
}
Построить строку части WHERE условия из набора параметров фильтра
DeleteData()
method
public array|null DeleteData(null $sWhere=NULL, int $iLimit=1)
| ||
$sWhere | null | фильтр |
$iLimit | int | лимит запроса |
{return} | array|null |
Source Code: /framework/classes/modules/storage/mapper/Storage.mapper.class.php#124 (show)
public function DeleteData($sWhere = null, $iLimit = 1)
{
$sSql = 'DELETE
FROM
?#
WHERE
1 = 1
' . $sWhere . '
LIMIT ?d
';
return $this->oDb->query(
$sSql,
Config::Get('db.table.storage'),
$iLimit
);
}
Удалить данные из хранилища
GetData()
method
public array GetData(null $sWhere=NULL, int $iPage=1, int $iPerPage=9223372036854775807)
| ||
$sWhere | null | фильтр |
$iPage | int | страница |
$iPerPage | int | результатов на страницу |
{return} | array |
Source Code: /framework/classes/modules/storage/mapper/Storage.mapper.class.php#39 (show)
public function GetData($sWhere = null, $iPage = 1, $iPerPage = PHP_INT_MAX)
{
$sSql = 'SELECT *
FROM
?#
WHERE
1 = 1
' . $sWhere . '
ORDER BY
`id` ASC
LIMIT ?d, ?d
';
$iTotalCount = 0;
$aCollection = array();
if ($aData = $this->oDb->selectPage(
$iTotalCount,
$sSql,
Config::Get('db.table.storage'),
($iPage - 1) * $iPerPage,
$iPerPage
)
) {
/*
* Если нужен только один элемент
*/
$aCollection = $iPerPage == 1 ? array_shift($aData) : $aData;
}
return array(
'collection' => $aCollection,
'count' => $iTotalCount
);
}
Получить данные из хранилища по фильтру
SetData()
method
public array|null SetData($sKey $sKey, $sValue $sValue, $sInstance $sInstance)
| ||
$sKey | $sKey | ключ |
$sValue | $sValue | значение |
$sInstance | $sInstance | инстанция хранилища |
{return} | array|null |
Source Code: /framework/classes/modules/storage/mapper/Storage.mapper.class.php#84 (show)
public function SetData($sKey, $sValue, $sInstance)
{
$sSql = 'INSERT INTO
?#
(
`key`,
`value`,
`instance`
)
VALUES
(
?,
?,
?
)
ON DUPLICATE KEY UPDATE
`value` = ?
';
return $this->oDb->query(
$sSql,
Config::Get('db.table.storage'),
$sKey,
$sValue,
$sInstance,
$sValue
);
}
Записать данные