Версия: 3.x
Класс AbstractObject
Граф наследования:AbstractObject:
AcceptBehavior AcceptBehaviorInterface NoticeLock Xzone MultiOfferLevel Link Xcost Xdir Xstock Vote AbstractType BlockedIp License ReadedItem Cms Api ModuleConfig ConfigObject ControllerParamObject FormObject OrmObject Index CartItem Company DeliveryXZone OrderItem TaxRate Xregion Config Word SectionContext TemplateHookSort AccessMenu AccessModule AccessSite TryAuth UserInGroup

Подробное описание

Базовый абстрактный класс объектов ORM

Открытые члены

 __construct ()
 
 __destruct ()
 
 fillDefaults ()
 
 getClassParameter ($key=null)
 
 setClassParameter ($key, $value=null)
 
 issetClassParameter ($key=null)
 
 setLocalParameter ($key, $value=null)
 
 getLocalParameter ($key, $default=null)
 
 getParameter ($key, $default=null)
 
 setPropertyIterator (PropertyIterator $iterator)
 
 checkRights ($bool)
 
 clear ()
 
 offsetExists ($offset)
 
 offsetGet ($offset)
 
 offsetSet ($offset, $value)
 
 __set ($offset, $value)
 
 __get ($offset)
 
 offsetUnset ($offset)
 
 getShortAlias ()
 
 load ($primaryKeyValue=null)
 
 insert ($ignore=false, $on_duplicate_update_keys=array(), $on_duplicate_uniq_fields=array())
 
 update ($primaryKey=null)
 
 replace ()
 
 delete ()
 
 exists ($primaryKeyValue)
 
 getFromArray (array $data, $remove_prefix=null, $mark_modify=true)
 
 getValues ()
 
 isModified ($property)
 
 getPropertyIterator ()
 
 appendProperty (array $properties)
 
 _getTable ()
 
 _getTableArray ()
 
 getPrimaryKeyProperty ()
 
 getProperties ()
 
 getProp ($offset)
 
 save ($primaryKeyValue=null, $user_post=array(), $post_var=null, $files_var=null)
 
 replaceOn ($bool)
 
 setWriteBit ($n)
 
 usePostKeys (array $keys)
 
 excludePostKeys (array $keys)
 
 checkData ($user_post=array(), $post_var=null, $files_var=null, $usekeys=null, $exclude=null)
 
 validate ()
 
 setCheckFields (array $fields)
 
 escapeFields (array $escape_fields)
 
 escapeAll ($bool)
 
 checkField ($property)
 
 addError ($string, $form=null)
 
 addErrors ($array, $form=null)
 
 getLastError ()
 
 getErrors ()
 
 getErrorsStr ()
 
 hasError ()
 
 getFormError ()
 
 getErrorsByForm ($key=null, $sep=null)
 
 getDisplayErrors ()
 
 noWriteRights ()
 
 getNonFormErrors ()
 
 clearErrors ()
 
 setTemporaryId ()
 
 setFormTemplate ($template)
 
 dbUpdate ()
 
 addIndex ($fields, $type=self::INDEX_KEY, $name=null, $using=null)
 
 getIndexes ()
 
 getForm (array $tpl_vars=null, $switch=null, $is_multiedit=false, $template=null, $tpl_maker=null, $tpl_folder=null)
 
 getPropertyView ($key, $attributes=array(), $view_params=array())
 
 getHiddenKeyVal ()
 
 addHiddenFields ($keys, $value=null)
 
 addDebugActions (array $actions, $local=false)
 
 addDebugAction (\RS\Debug\Action\AbstractAction $action, $local=false)
 
 getDebugAttributes ()
 
 cloneSelf ()
 
 beforeWrite ($save_flag)
 
 afterWrite ($save_flag)
 
 afterObjectLoad ()
 
 getDebugActions ()
 
 dropTable ()
 
 exportErrors ()
 
 current ()
 
 key ()
 
 next ()
 
 rewind ()
 
 valid ()
 
 __sleep ()
 
 __wakeup ()
 
 __clone ()
 
- Открытые члены унаследованные от AcceptBehavior
 attachInstanceBehavior (BehaviorAbstract $behavior_class)
 
 detachInstanceBehavior (BehaviorAbstract $behavior_class=null)
 
 getAttachedBehaviors ()
 
 behaviorMethodExists ($method_name)
 
 __call ($method_name, $arguments)
 
- Открытые члены унаследованные от AcceptBehaviorInterface
 attachInstanceBehavior (\RS\Behavior\BehaviorAbstract $behavior_class)
 
 detachInstanceBehavior (\RS\Behavior\BehaviorAbstract $behavior_class=null)
 

Открытые статические члены

static loadByWhere ($expr, array $values=null, $prefix= 'AND', $in_prefix= 'AND')
 
static chkDepend ($coreobj, $value, $real_errtext, $real_chk, array $conditions, $real_params=array())
 
static destroyClass ()
 
- Открытые статические члены унаследованные от AcceptBehavior
static attachClassBehavior (BehaviorAbstract $behavior_class)
 
static detachClassBehavior (BehaviorAbstract $behavior_class=null)
 
- Открытые статические члены унаследованные от AcceptBehaviorInterface
static attachClassBehavior (\RS\Behavior\BehaviorAbstract $behavior_class)
 
static detachClassBehavior (\RS\Behavior\BehaviorAbstract $behavior_class=null)
 

Поля данных

const INSERT_FLAG = 'insert'
 
const UPDATE_FLAG = 'update'
 
const REPLACE_FLAG = 'replace'
 
const INDEX_PRIMARY = 'primary key'
 
const INDEX_UNIQUE = 'unique'
 
const INDEX_KEY = 'index'
 
const INDEX_FULLTEXT = 'fulltext'
 
 $_self_class
 
 $_local_id
 
- Поля данных унаследованные от AcceptBehavior
 $class_behaviors = array()
 
 $cache_behavior_instances = array()
 
 $instance_behaviors = array()
 

Статические открытые данные

static $table = null
 
static $iterator = 0
 
static $init_default_method = '_initDefaults'
 
static $local = array()
 
static $default_local_parameters
 
static $class = array()
 
static $default_class_parameters
 

Защищенные члены

 initProperties ()
 
 _init ()
 
 _initDefaults ()
 
 afterInit ()
 
 getStorageInstance ()
 
 _tableName ($with_quotes=true)
 
 getPropertyHash ($is_multiedit, $switch=null)
 

Защищенные данные

 $_values = array()
 

Статические защищенные данные

static $db = DB_NAME
 

Конструктор(ы)

__construct ( )
__destruct ( )

Методы

__clone ( )
__get (   $offset)
__set (   $offset,
  $value 
)

Ограниченная функция установки

Аргументы
mixed$offset
mixed$value
Возвращает
mixed
__sleep ( )

При сериализации объекта - достаточно сохранить массив его значений.

__wakeup ( )

Позволяет сконструировать объект заново после рассериализации

_getTable ( )

Возвращает базу данных и имя таблицы

Возвращает
string
_getTableArray ( )

Возвращает базу данный и имя таблицы в виде массива

Возвращает
array - где [0] => имя базы, [1] => имя таблицы
_init ( )
abstractprotected

В данном методе должны быть заданы поля объекта. Вызывается один раз для одного класса объектов в момент первого обращения к свойству

_initDefaults ( )
protected

Внутри данной функции нужно объявлять значения свойств по умолчанию. Вызывается после конструктора.

_tableName (   $with_quotes = true)
protected

Возвращает имя таблицы текущего объекта

Аргументы
boolean$with_quotes- если true, то оборачивать в апострофами имя таблицы
Возвращает
string
addDebugAction ( \RS\Debug\Action\AbstractAction  $action,
  $local = false 
)
addDebugActions ( array  $actions,
  $local = false 
)
addError (   $string,
  $form = null 
)

Дабавляет ошибку

Аргументы
string$string- текст ошибки
string$form- свойство, в котором произошла ошибка
Возвращает
bool(false)
addErrors (   $array,
  $form = null 
)

Добавляет ошибки

Аргументы
mixed$array- массив с ошибками
mixed$form- свойство в котором произошли ошибки
Возвращает
bool(false)
addHiddenFields (   $keys,
  $value = null 
)

Добавляет скрытые поля

Аргументы
string  |  array$key
mixed$value
Возвращает
void
addIndex (   $fields,
  $type = self::INDEX_KEY,
  $name = null,
  $using = null 
)

Добавляет описание индекса для данного объекта

Аргументы
array  |  string$fields- поля, которые должны войти в индекс
string$type- тип индекса. Используйте константы: self::INDEX_PRIMARY - первичный ключ self::INDEX_UNIQUE - уникальный индекс self::INDEX_KEY - неуникальный индекс self::INDEX_FULLTEXT - полнотекстовый индекс
string$name- идентификатор индекса
string$using- тип индекса BTREE | HASH
Возвращает
AbstractObject
afterInit ( )
protected

Производит внутреннюю инициализацию объекта. Вызывается один раз для одного имени класса

Event: orm.init paramtype

afterObjectLoad ( )

Вызывается после загрузки объекта

Возвращает
void
afterWrite (   $save_flag)

Вызывается после сохранения объекта в storage

Аргументы
string$save_flaginsert|update|replace
Возвращает
void
appendProperty ( array  $properties)

Дополняет текущий класс объектов новыми полями(свойствами)

Аргументы
array$properties- массив со свойствами, аналогично тому, что задается в _init
Возвращает
AbstractObject
beforeWrite (   $save_flag)

Вызывается перед сохранением объекта в storage

Аргументы
string$save_flaginsert|update|replace
Возвращает
null | false Если возвращено false, то сохранение не произойдет
checkData (   $user_post = array(),
  $post_var = null,
  $files_var = null,
  $usekeys = null,
  $exclude = null 
)

Проверка на возможность сохранения данных. при этом объект заполняется из POST. насколько это возможно.

Аргументы
array$user_post- дополнительные данные, которые будут добавлены к post_var
array$post_var- если передан, то будет использован вместо $_POST
array$files_var- если передан, то будет использован вместо $_FILES
array$usekeys- массив с ключами, которые нужно исползовать для заполнения объекта
array$exclude- массив с ключами, которые нужно исключить при заполнении объекта
Возвращает
boolean
checkField (   $property)

Возвращает результат проверки поля $key

Аргументы
string  |  \RS\Orm\Type\AbstractType$key
Возвращает
boolean | string - true, если все успешно иначе текст ошибки
checkRights (   $bool)

Устанавливает, проверять ли права на запись при попытке изменить объект

Аргументы
boolean$bool
static chkDepend (   $coreobj,
  $value,
  $real_errtext,
  $real_chk,
array  $conditions,
  $real_params = array() 
)
static

Проверяет поле в зависимости от значений других полей. Вызывает реальные checker'ы, если соблюдены conditions, иначе не вызывает checker

clear ( )

Очищает все значения свойств

clearErrors ( )

Очищает все ошибки в объекте

Возвращает
void
cloneSelf ( )

Возвращает клон текущего объекта

Возвращает
AbstractObject
current ( )
dbUpdate ( )

Приводит базу данных в соответствие со структурой объекта

Возвращает
bool
delete ( )

Удаляет объект из хранилища

Возвращает
boolean - true, в случае успеха
static destroyClass ( )
static

Уничтожает класс объектов, в следующем конструкторе будет вызван _init

Возвращает
void
dropTable ( )

Удаляет таблицу для данного объекта

Возвращает
bool
escapeAll (   $bool)

Переводить в entity все значения свойств перед записью?

Аргументы
boolean$bool- если true, то будут переведены в entity все свойства
escapeFields ( array  $escape_fields)

При заполнении данными с помощью метода check(), указанные свойства будут пропущены через функцию htmlspecialchars.

Аргументы
array$escape_fields- массив с названиями свойств, которые нужно перевести в entity
excludePostKeys ( array  $keys)

Устанавливает, какие ключи должны исключаться из POST при сохранении объекта

Аргументы
array$keys
exists (   $primaryKeyValue)

Возвращает true, если объект с указанным Уникальным идентификатором существует

Аргументы
mixed$primaryKeyValue- уникальный идентификатор
Возвращает
boolean
exportErrors ( )

Экспортирует все данные по ошибкам

Возвращает
array
fillDefaults ( )

Присваивает не измененным полям значение по-умолчанию

Возвращает
void
getClassParameter (   $key = null)
Аргументы
string$keyимя параметра
getDebugActions ( )

Возвращает отладочные действия, которые можно произвести с объектом

Возвращает
RS[]
getDebugAttributes ( )

Возвращает строку с необходимыми атрибутами блочного элемента для вставки в html

Возвращает
string | null
getDisplayErrors ( )

Возвращает массив с ошибками со сведениями о поле

Возвращает
array
getErrors ( )

Возвращает массив с текстами всех ошибок.

Возвращает
array
getErrorsByForm (   $key = null,
  $sep = null 
)

Возвращает ассоциативный массив с ошибками в формах, если $key = null Возвращает массив с ошибками, если $key != null и $sep = null Возвращает строку с ошибками, с разделителем $sep, если $key != null и $sep != null

Аргументы
string  |  null$key- имя свойство
string  |  null$sep- разделитель
Возвращает
array | string
getErrorsStr ( )

Возвращает ошибки в виде строки

Возвращает
string
getForm ( array  $tpl_vars = null,
  $switch = null,
  $is_multiedit = false,
  $template = null,
  $tpl_maker = null,
  $tpl_folder = null 
)

Возвращает HTML форму объекта, если её не существует по указанному пути, то создает её.

Аргументы
array$tpl_vars- дополнительные параметры, передаваемые в шаблон
mixed$switch- контекст, в котором будет генерироваться форма. Позволяет скрывать какие-либо поля в зависимости от контекста
bool$is_multiedit- Если true, то это форма мультиредактирования
mixed$template- имя файла генерируемого шаблона
mixed$tpl_maker- имя шаблона, по которому будет произведена генерация
mixed$tpl_folder- каталог для генерации шаблона
Возвращает
string
getFormError ( )

Возвращает массив форм, в которых есть ошибки

Возвращает
array
getFromArray ( array  $data,
  $remove_prefix = null,
  $mark_modify = true 
)

Загружает данные в объект из массива

Аргументы
array$data- массив ключ => значение
string$remove_prefix- префикс, который будет удален перед ключем
Возвращает
AbstractObject
getHiddenKeyVal ( )

Возвращает ключ => значение всех полей типа Type/Hidden

Возвращает
array
getIndexes ( )
getLastError ( )
getLocalParameter (   $key,
  $default = null 
)

Возвращает параметр, заданный для текущего объекта

Аргументы
mixed$key- имя параметра
mixed$default- значение по-умолчанию
Возвращает
mixed
getNonFormErrors ( )

Возвращает ошибки не привязанные к формам

Возвращает
array
getParameter (   $key,
  $default = null 
)

Возвращает параметр, заданный для текущего объекта, а если такой параметр не задан, заданный для текущего класса объектов

Аргументы
mixed$key- имя параметра
mixed$default- значение по-умолчанию
Возвращает
mixed
getPrimaryKeyProperty ( )

Возвращает имя свойства, которое помечено как первичный ключ. Для совместимости с предыдущими версиями, метод ищет первичный ключ в свойствах.

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

Возвращает
string | array | false - false в случае отсутствия такого свойства
getProp (   $offset)

Возвращает объект свойства

Возвращает
Type
getProperties ( )
final

Возвращает список объектов свойств с установленными значениями

Возвращает
PropertyIterator
getPropertyHash (   $is_multiedit,
  $switch = null 
)
protected

Возвращает Хэш от списка свойств объекта

Аргументы
bool$is_multiedit
string  |  null$switch
getPropertyIterator ( )

Возвращает объект PropertyIterator, который используется в текущем объекте

Возвращает
getPropertyView (   $key,
  $attributes = array(),
  $view_params = array() 
)

Возвращет HTML форму одного свойства объекта.

Аргументы
string$key- имя свойства
array$attributes- массив с атрибутами для формы
array$view_params- массив с атрибутами для формы [form => true, errors => true], form - только сама форма, errors - форма с ошибками
Возвращает
string
getShortAlias ( )

Возвращает сокращенное наименование orm объекта. Данное имя используется в названиях событий

Возвращает
string
getStorageInstance ( )
protected

Возвращает объект хранилища

Возвращает
getValues ( )

Возвращает ассоциативный массив свойств и значений текущего объекта

Возвращает
array
hasError ( )

Возвращает true, если есть ошибки.

Возвращает
boolean
initProperties ( )
protected

Инициирует поля ORM Объекта

Возвращает
void
insert (   $ignore = false,
  $on_duplicate_update_keys = array(),
  $on_duplicate_uniq_fields = array() 
)

Добавляет объект в хранилище

Аргументы
bool$ignore- Если true, то ошибки вставки будут игнорироваться
array$on_duplicate_update_keys- поля, которые необходимо обновить в случае если запись уже существует
array$on_duplicate_uniq_fields- поля, которые точно идетифицируют текущаю запись, для подгрузки id объекта при обновлении
Возвращает
boolean - true в случае успеха, иначе - false

Event: orm.beforewrite paramtype array index 'orm' => OrmObject index 'flag' => string "insert" | "replace" | "update" index 'on_duplicate_update_keys' => array of string

Event: orm.afterwrite paramtype array index 'orm' => OrmObject index 'flag' => string "insert" | "replace" | "update"

isModified (   $property)

Возвращает true, если свойство $property изменено

Аргументы
string$property- имя свойства
Возвращает
boolean
issetClassParameter (   $key = null)
Аргументы
string  |  null$key- имя параметра
Возвращает
bool
key ( )
load (   $primaryKeyValue = null)

Загружает объект из хранилища

Аргументы
mixed$primaryKeyValue- уникальный идентификатор
static loadByWhere (   $expr,
array  $values = null,
  $prefix = 'AND',
  $in_prefix = 'AND' 
)
static

Возвращает загруженный объект по условию в случае успеха, иначе вернет пустой экземпляр объекта.

Аргументы
array | string$exprвыражение WHERE.
array$valuesмассив со значениям, заменит "-КЛЮЧ-" из expr на ЗНАЧЕНИЕ
string$prefixбудет подставлено перед текущим выражением AND, OR,...
string$in_prefixбудет подставлено между выражениями, в случае если expr - массив AND, OR,...
Возвращает
static
next ( )
noWriteRights ( )

Возвращает true, если недостаточно прав на изменение данного объекта.

Возвращает
void
offsetExists (   $offset)

Проверяет наличие значения по ключу (ArrayAccess)

offsetGet (   $offset)

Возвращает значение по ключу (имени свойства) (ArrayAccess) Если $offset начинается с "__" (двойное подчеркивание), то возвращает объект .....

Аргументы
string$offset- имя свойства.
offsetSet (   $offset,
  $value 
)

Устанавливает значение в свойство (ArrayAccess)

Аргументы
string$offset- ключ( имя свойства )
mixed$value- значение
offsetUnset (   $offset)

Очищает значение свойства

Аргументы
mixed$offset
replace ( )

Заменяет объект в хранилище, если таковой уже имелся, в противном случае вставляет новый объект

Возвращает
boolean - true, в случае успеха

Event: orm.beforewrite paramtype array index 'orm' => OrmObject index 'flag' => string "insert" | "replace" | "update"

Event: orm.afterwrite paramtype array index 'orm' => OrmObject index 'flag' => string "insert" | "replace" | "update"

replaceOn (   $bool)

Устанавливает режим вставки

Аргументы
boolean$bool- если true, то метод save будет использовать для вставки вместо insert - replace.
Возвращает
void
rewind ( )
save (   $primaryKeyValue = null,
  $user_post = array(),
  $post_var = null,
  $files_var = null 
)

Сохраняет объект Если передан $primaryKeyValue, то обновляет его свойства, если нет то вставляет новую запись

Аргументы
mixed$primaryKeyValue
setCheckFields ( array  $fields)

Устанавливает, какие поля проверять при вызове checkData

Аргументы
array$fields
Возвращает
void
setClassParameter (   $key,
  $value = null 
)
Аргументы
string  |  array$keyимя параметра или ассоциативный массив параметров и значений
mixed$valueзначение
setFormTemplate (   $template)

Устанавливает шаблон, который будет использоваться для создания формы

Аргументы
string$template- путь к шаблону
setLocalParameter (   $key,
  $value = null 
)

Устанавливает параметр для текущего объекта.

Аргументы
string  |  array$key- имя параметра или ассоциативный массив имя => значение
mixed$value- значение параметра
setPropertyIterator ( PropertyIterator  $iterator)

Задает новые свойства для текущего объекта. Применение данного метода накладывает ряд ограничений на последующую работу объекта. К объекту невозможно будет применить сериализацию.

setTemporaryId ( )

Устанавливает объекту отрицательный id

setWriteBit (   $n)

Устанавливает номер бита, который следует проверять при вызове CheckData (вызывается перед записью)

Аргументы
integer$n- номер бита
Возвращает
void
update (   $primaryKey = null)

Обновляет объект в хранилище

Аргументы
mixed$primaryKey- уникальный идентификатор. Необходимо указывать, если у объекта меняется уникальный идентификатор
Возвращает
boolean - true в случае успеха

Event: orm.beforewrite paramtype array index 'orm' => OrmObject index 'flag' => string "insert" | "replace" | "update"

Event: orm.afterwrite paramtype array index 'orm' => OrmObject index 'flag' => string "insert" | "replace" | "update"

usePostKeys ( array  $keys)

Устанавливает, какие ключи должны приниматься из POST для сохранения объекта

Аргументы
array$keys
valid ( )
validate ( )

Производит валидацию текущих данных в свойствах

Возвращает
bool Возвращает true, если нет ошибок, иначе - false

Поля

$_local_id
$_self_class
$_values = array()
protected
$class = array()
static
$db = DB_NAME
staticprotected
$default_class_parameters
static
Инициализатор
= array(
'property_template' => '%system%/coreobject/prop_form.tpl',
'properties' => null,
'indexes' => array(),
)
$default_local_parameters
static
Инициализатор
= array(
'modified' => array(),
'properties' => null,
'errorlist' => array(),
'formerror' => array(),
'non_form_errors' => array(),
'write_bit' => ACCESS_BIT_WRITE,
'checkRights' => true,
'escape_fields' => array(),
'escape_all' => false
)
$init_default_method = '_initDefaults'
static
$iterator = 0
static
$local = array()
static
$table = null
static
const INDEX_FULLTEXT = 'fulltext'
const INDEX_KEY = 'index'
const INDEX_PRIMARY = 'primary key'
const INDEX_UNIQUE = 'unique'
const INSERT_FLAG = 'insert'
const REPLACE_FLAG = 'replace'
const UPDATE_FLAG = 'update'