ModuleGeo_EntityGeo

Package application.modules.geo
Inheritance class ModuleGeo_EntityGeo » Entity » LsObject
Subclasses ModuleGeo_EntityCity, ModuleGeo_EntityCountry, ModuleGeo_EntityRegion
Since 1.0
Source Code /application/classes/modules/geo/entity/Geo.entity.class.php
Объект сущности гео-объекта

Protected Properties

Hide inherited properties

PropertyTypeDescriptionDefined By
_aBehaviors Список поведений в виде готовых объектов, формируется автоматически LsObject
_aData array Данные сущности, на этот массив мапятся методы set* и get* Entity
aBehaviors array Список поведений LsObject
aValidateErrors array Список ошибок валидации в разрезе полей, например Entity
aValidateRules array Список правил валидации полей Entity
sPrimaryKey null|string Имя поля с первичным ключом в БД Entity
sValidateScenario string Сценарий валиадции полей Entity

Public Methods

Hide inherited methods

MethodDescriptionDefined By
AddBehaviorHook() Добавляет хук поведения LsObject
AttachBehavior() Присоединяет поведение к объекту LsObject
DetachBehavior() Отсоединяет поведение от объекта LsObject
GetBehavior() Возвращает объект поведения по его имени LsObject
GetBehaviors() Возвращает все объекты поведения LsObject
Init() Метод инициализации сущности, вызывается при её создании Entity
RemoveBehaviorHook() Удаляет хук поведения LsObject
RunBehaviorHook() Запускает хук поведения на выполнение LsObject
_Validate() Выполняет валидацию данных сущности Entity
__call() Ставим хук на вызов неизвестного метода и считаем что хотели вызвать метод какого либо модуля Entity
__clone() При клонировании сбрасываем поведения LsObject
__construct() Если передать в конструктор ассоциативный массив свойств и их значений, то они автоматом загрузятся в сущность Entity
__get() Обработка доступа к объекты поведения LsObject
_addValidateError() Добавляет для поля ошибку в список ошибок Entity
_clearValidateErrors() Очищает список всех ошибок или для конкретного поля Entity
_createValidators() Создает и возвращает список валидаторов для сущности Entity
_getData() Получает массив данных сущности Entity
_getDataArray() Рекурсивное преобразование объекта и вложенных объектов в массив Entity
_getDataOne() Возвращает данные по конкретному полю Entity
_getPrimaryKey() Получение первичного ключа сущности (ключ, а не значение!) Entity
_getPrimaryKeyValue() Возвращает значение первичного ключа/поля Entity
_getValidateError() Возвращает первую ошибку для поля или среди всех полей Entity
_getValidateErrors() Возвращает список ошибок для всех полей или одного поля Entity
_getValidateRules() Возвращает список правил для валидации Entity
_getValidateScenario() Возвращает текущий сценарий валидации Entity
_getValidators() Возвращает список валидаторов с учетом текущего сценария Entity
_hasValidateErrors() Проверяет есть ли ошибки валидации Entity
_setData() Устанавливает данные сущности Entity
_setDataSafe() Устанавливает данные, но только те, которые есть в $this->aValidateRules Entity
_setValidateScenario() Устанавливает сценарий валидации Entity
getCity() Возвращает гео-объект города ModuleGeo_EntityGeo
getCountry() Возвращает гео-объект страны ModuleGeo_EntityGeo
getName() Возвращает имя гео-объекта в зависимости от языка ModuleGeo_EntityGeo
getRegion() Возвращает гео-объект региона ModuleGeo_EntityGeo
getType() Возвращает тип гео-объекта ModuleGeo_EntityGeo

Protected Methods

Hide inherited methods

MethodDescriptionDefined By
PrepareBehaviors() Инициализация поведений LsObject

Method Details

getCity() method
public ModuleGeo_EntityGeo|null getCity()
{return} ModuleGeo_EntityGeo|null
Source Code: /application/classes/modules/geo/entity/Geo.entity.class.php#117 (show)
public function getCity()
{
    if (
$this->getType() == 'city') {
        return 
$this;
    }
    if (
$oCity $this->_getDataOne('city')) {
        return 
$oCity;
    }
    if (
$this->getCityId()) {
        
$oCity $this->Geo_GetCityById($this->getCityId());
        return 
$this->_aData['city'] = $oCity;
    }
    return 
null;
}

Возвращает гео-объект города

getCountry() method
public ModuleGeo_EntityGeo|null getCountry()
{return} ModuleGeo_EntityGeo|null
Source Code: /application/classes/modules/geo/entity/Geo.entity.class.php#77 (show)
public function getCountry()
{
    if (
$this->getType() == 'country') {
        return 
$this;
    }
    if (
$oCountry $this->_getDataOne('country')) {
        return 
$oCountry;
    }
    if (
$this->getCountryId()) {
        
$oCountry $this->Geo_GetCountryById($this->getCountryId());
        return 
$this->_aData['country'] = $oCountry;
    }
    return 
null;
}

Возвращает гео-объект страны

getName() method
public string getName()
{return} string
Source Code: /application/classes/modules/geo/entity/Geo.entity.class.php#36 (show)
public function getName()
{
    
$sName '';
    
$sLangDef Config::get('lang.default');
    if (
$sLangDef == 'ru') {
        
$sName $this->getNameRu();
    } elseif (
$sLangDef == 'en') {
        
$sName $this->getNameEn();
    }

    
$sLang Config::get('lang.current');
    if (
$sLang == 'ru' and $this->getNameRu()) {
        
$sName $this->getNameRu();
    } elseif (
$sLang == 'en' and $this->getNameEn()) {
        
$sName $this->getNameEn();
    }
    return 
$sName;
}

Возвращает имя гео-объекта в зависимости от языка

getRegion() method
public ModuleGeo_EntityGeo|null getRegion()
{return} ModuleGeo_EntityGeo|null
Source Code: /application/classes/modules/geo/entity/Geo.entity.class.php#97 (show)
public function getRegion()
{
    if (
$this->getType() == 'region') {
        return 
$this;
    }
    if (
$oRegion $this->_getDataOne('region')) {
        return 
$oRegion;
    }
    if (
$this->getRegionId()) {
        
$oRegion $this->Geo_GetRegionById($this->getRegionId());
        return 
$this->_aData['region'] = $oRegion;
    }
    return 
null;
}

Возвращает гео-объект региона

getType() method
public null|string getType()
{return} null|string
Source Code: /application/classes/modules/geo/entity/Geo.entity.class.php#60 (show)
public function getType()
{
    if (
$this instanceof ModuleGeo_EntityCity) {
        return 
'city';
    } elseif (
$this instanceof ModuleGeo_EntityRegion) {
        return 
'region';
    } elseif (
$this instanceof ModuleGeo_EntityCountry) {
        return 
'country';
    }
    return 
null;
}

Возвращает тип гео-объекта