ModuleProperty_BehaviorEntity

Package application.modules.property
Inheritance class ModuleProperty_BehaviorEntity » Behavior » LsObject
Since 2.0
Source Code /application/classes/modules/property/behavior/Entity.behavior.class.php
Поведение для подключения функционала дополнительных полей к сущностям

Protected Properties

Hide inherited properties

PropertyTypeDescriptionDefined By
_aBehaviors Список поведений в виде готовых объектов, формируется автоматически LsObject
aBehaviors array Список поведений LsObject
aHooks array Список хуков ModuleProperty_BehaviorEntity
aParams array Дефолтные параметры ModuleProperty_BehaviorEntity
oObject LsObject|null Исходный объект, к которому добавлено поведение Behavior

Public Methods

Hide inherited methods

MethodDescriptionDefined By
AddBehaviorHook() Добавляет хук поведения LsObject
Attach() Добавляет поведение к объекту Behavior
AttachBehavior() Присоединяет поведение к объекту LsObject
CallbackAfterDelete() Коллбэк ModuleProperty_BehaviorEntity
CallbackAfterSave() Коллбэк ModuleProperty_BehaviorEntity
CallbackValidateAfter() Коллбэк ModuleProperty_BehaviorEntity
Detach() Удаляет поведение у текущего объекта Behavior
DetachBehavior() Отсоединяет поведение от объекта LsObject
GetBehavior() Возвращает объект поведения по его имени LsObject
GetBehaviors() Возвращает все объекты поведения LsObject
RemoveBehaviorHook() Удаляет хук поведения LsObject
RunBehaviorHook() Запускает хук поведения на выполнение LsObject
ValidatePropertiesCheck() Дополнительный метод для сущности ModuleProperty_BehaviorEntity
__call() Ставим хук на вызов неизвестного метода и считаем что хотели вызвать метод какого либо модуля LsObject
__clone() При клонировании сбрасываем поведения LsObject
__construct() Конструктор, инициализирует параметры Behavior
__get() Обработка доступа к объекты поведения LsObject
getParam() Возвращает параметр по его имени Behavior
getParams() Возвращает все параметры Behavior
getProperty() Возвращает объект конкретного свойства сущности ModuleProperty_BehaviorEntity
getPropertyList() Возвращает полный список свойств сущности ModuleProperty_BehaviorEntity
getPropertyTargetType() Возвращает тип объекта для дополнительных полей ModuleProperty_BehaviorEntity
getPropertyValue() Возвращает значение конкретного свойства ModuleProperty_BehaviorEntity
setParam() Устанавливает значение параметра Behavior

Protected Methods

Hide inherited methods

MethodDescriptionDefined By
Init() Инициализация поведения, выполняется автоматически после добавления (Attach) поведения Behavior
ParseHookParams() Вспомогательный метод для определение коллбека из параметров Behavior
PrepareBehaviors() Инициализация поведений LsObject

Property Details

aHooks property
protected array $aHooks;

Список хуков

aParams property
protected array $aParams;

Дефолтные параметры

Method Details

CallbackAfterDelete() method
public void CallbackAfterDelete()
Source Code: /application/classes/modules/property/behavior/Entity.behavior.class.php#80 (show)
public function CallbackAfterDelete()
{
    
$this->Property_RemovePropertiesValue($this->oObject);
}

Коллбэк Выполняется после удаления сущности

CallbackAfterSave() method
public void CallbackAfterSave()
Source Code: /application/classes/modules/property/behavior/Entity.behavior.class.php#71 (show)
public function CallbackAfterSave()
{
    
$this->Property_UpdatePropertiesValue($this->oObject->getPropertiesObject(), $this->oObject);
}

Коллбэк Выполняется после сохранения сущности

CallbackValidateAfter() method
public void CallbackValidateAfter($aParams $aParams)
$aParams $aParams
Source Code: /application/classes/modules/property/behavior/Entity.behavior.class.php#55 (show)
public function CallbackValidateAfter($aParams)
{
    if (
$aParams['bResult']) {
        
$aFields $aParams['aFields'];
        if (
is_null($aFields) or in_array('properties'$aFields)) {
            
$oValidator $this->Validate_CreateValidator('properties_check'$this'properties');
            
$oValidator->validateEntity($this->oObject$aFields);
            
$aParams['bResult'] = !$this->oObject->_hasValidateErrors();
        }
    }
}

Коллбэк Выполняется при инициализации сущности

ValidatePropertiesCheck() method
public mixed ValidatePropertiesCheck()
{return} mixed
Source Code: /application/classes/modules/property/behavior/Entity.behavior.class.php#91 (show)
public function ValidatePropertiesCheck()
{
    return 
$this->Property_ValidateEntityPropertiesCheck($this->oObject);
}

Дополнительный метод для сущности Запускает валидацию дополнительных полей

getProperty() method
public ModuleProperty_EntityProperty|null getProperty(int|string $sPropertyId)
$sPropertyId int|string ID или код свойства
{return} ModuleProperty_EntityProperty|null
Source Code: /application/classes/modules/property/behavior/Entity.behavior.class.php#126 (show)
public function getProperty($sPropertyId)
{
    return 
$this->Property_GetEntityProperty($this->oObject$sPropertyId);
}

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

getPropertyList() method
public mixed getPropertyList()
{return} mixed
Source Code: /application/classes/modules/property/behavior/Entity.behavior.class.php#101 (show)
public function getPropertyList()
{
    return 
$this->Property_GetEntityPropertyList($this->oObject);
}

Возвращает полный список свойств сущности

getPropertyTargetType() method
public string getPropertyTargetType()
{return} string
Source Code: /application/classes/modules/property/behavior/Entity.behavior.class.php#136 (show)
public function getPropertyTargetType()
{
    if (
$sType $this->getParam('target_type')) {
        return 
$sType;
    }
    
/**
     * Иначе дополнительно смотрим на наличие данного метода у сущности
     * Это необходимо, если тип вычисляется динамически по какой-то своей логике
     */
    
if (func_method_exists($this->oObject'getPropertyTargetType''public')) {
        return 
call_user_func(array($this->oObject'getPropertyTargetType'));
    }
}

Возвращает тип объекта для дополнительных полей

getPropertyValue() method
public mixed getPropertyValue(int|string $sPropertyId)
$sPropertyId int|string ID или код свойства
{return} mixed
Source Code: /application/classes/modules/property/behavior/Entity.behavior.class.php#114 (show)
public function getPropertyValue($sPropertyId)
{
    return 
$this->Property_GetEntityPropertyValue($this->oObject$sPropertyId);
}

Возвращает значение конкретного свойства