abstract class DynamicFieldsObjectPredefined extends DynamicFieldsObject

Абстрактный класс для объектов системы с известной таблицей в БД. (Пользователи, Разделы)

Traits

Используется в классах, которым необходимо работать с БД.

Properties

static $plugins Плагины from Base
int $id идентификатор объекта from Base
array $fields Значения полей объекта from DynamicFieldsObject
array $raw_fields Значения полей объекта? считанные из БД from DynamicFieldsObject
array $_objectDefinition Описание объекта from DynamicFieldsObject
static array $predefinedObjectDefinition Описание объекта

Methods

__toString()

No description

array
asArray()

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

from Base
mixed
__get(string $name)

Перегрузка чтения свойств класса.

void
__set(string $name, mixed $value)

Перегрузка записи свойств класса.

static void
addPlugin(ObjectPlugin $class)

Расширяет функциональность класса с помощью методов другого класса.

from Base
__call($name, $arguments)

No description

from Base
decodeLocaleString($str)

No description

from Base
static Connection
getDbConnection()

Возвращает активное соединение с БД в рамках приложения

static void
configSet(string $key, miced $value)

Сохраняет пару ключ/значение в БД

static mixed
configGet(string $key)

Возвращает значение связанное с ключем из БД

static mixed
configGetAll()

Возвращает все ключи/значения из БД

static void
configUnset(string $key)

Удаляет пару ключ/значение из БД

factory($type, $table = null, $fields = null)

No description

fetch(array $data, $a, $b = null)

No description

setFields(array $fields)

Устанавливает поля объекта

getByIdType($id, $type)

Возвращает объект по ID и "Типу материалов".

__isset($name)

No description

static 
clearLocks()

No description

lock($uid)

No description

unlock()

No description

int
getType()

Возвращает "Тип материалов" объекта

string
getTable()

Возвращает таблицу БД, в которой хранятся поля объекта

array
getFieldsDef()

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

mixed
getDynamicField(string $name)

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

offsetExists($offset)

No description

offsetGet($offset)

No description

offsetSet($offset, $value)

No description

offsetUnset($offset)

No description

Object
getLinkedObjects($od, $fieldName)

Чтение из БД объектов, которые связаны полем $field с данным объектом.

Object
selectLinks(string $fieldname, string $fields = 'A.*', string $where = '', string $order = 'B.tag', string $group = '', string $limit = '') deprecated

DEPRECATED

Object
selectLinksIn(int|string $from, string $field, string $fields = '*', string $where = '', string $order = '', string $group = '', string $limit = '')

DEPRECATED Чтение из БД объектов, которые связаны полем $field с объектом.

void
delete()

Удаляет объект из БД

void
save()

Сохранение объекта

setObjectDefinition($od)

No description

static 
getObjectDefinition()

No description

static User
getById(int $id)

Возвращает объект по ID

Details

in DynamicFieldsObject at line 192
__toString()

in Base at line 73
array asArray()

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

Return Value

array

in DynamicFieldsObject at line 211
mixed __get(string $name)

Перегрузка чтения свойств класса.

Организуется доступ к полям объекта, созданным в конструкторе "Типы материалов" FastsiteCMS, как к свойствам объекта

Parameters

string $name свойство класса

Return Value

mixed

Exceptions

LogicException

in DynamicFieldsObject at line 245
void __set(string $name, mixed $value)

Перегрузка записи свойств класса.

Организуется доступ к полям объекта, созданным в конструкторе "Типы материалов" FastsiteCMS, как к свойствам объекта

Parameters

string $name свойство класса
mixed $value значение свойства

Return Value

void

Exceptions

LogicException

in Base at line 180
static void addPlugin(ObjectPlugin $class)

Расширяет функциональность класса с помощью методов другого класса.

Например, необходимо добавить в клас \Cetera\User метод, возвращающий кол-во дней, которые прошли с момента регистрации пользователя. Создадим класс-плагин:

class MyUser extends \Cetera\ObjectPlugin {
    public function getRegisteredDays() {
        // экземпляр класса, к каторому будет добавлен плагин находится в свойстве object
        $date_reg = new DateTime($this->object->date_reg);
        $date_now = new DateTime('now');
        $diff = $date_now->getTimestamp() - $date_reg->getTimestamp();
        return ceil($diff / (60*60*24));
    }
}

Добавим плагин к классу \Cetera\User:

\Cetera\User::addPlugin( 'MyUser' );

Теперь можем использовать метод \Cetera\User::getRegisteredDays():

$user = \Cetera\Application::getInstance()->getUser();
echo 'Я с вами '.$user->getRegisteredDays().' дней!';

Parameters

ObjectPlugin $class класс, методы которого добавить к данному

Return Value

void

in Base at line 192
__call($name, $arguments)

Parameters

$name
$arguments

in Base at line 216
decodeLocaleString($str)

Parameters

$str

in DbConnection at line 22
final static Connection getDbConnection()

Возвращает активное соединение с БД в рамках приложения

Return Value

Connection

in DbConnection at line 35
static void configSet(string $key, miced $value)

Сохраняет пару ключ/значение в БД

Parameters

string $key ключ
miced $value значение

Return Value

void

in DbConnection at line 47
static mixed configGet(string $key)

Возвращает значение связанное с ключем из БД

Parameters

string $key ключ

Return Value

mixed

in DbConnection at line 60
static mixed configGetAll()

Возвращает все ключи/значения из БД

Return Value

mixed

in DbConnection at line 78
static void configUnset(string $key)

Удаляет пару ключ/значение из БД

Parameters

string $key ключ

Return Value

void

at line 56
static DynamicFieldsObject factory($type, $table = null, $fields = null)

Parameters

$type
$table
$fields

Return Value

DynamicFieldsObject

at line 30
static DynamicFieldsObject fetch(array $data, $a, $b = null)

Parameters

array $data поля объекта
$a
$b

Return Value

DynamicFieldsObject

in DynamicFieldsObject at line 151
setFields(array $fields)

Устанавливает поля объекта

Parameters

array $fields поля объекта

in DynamicFieldsObject at line 182
static DynamicFieldsObject getByIdType($id, $type)

Возвращает объект по ID и "Типу материалов".

Parameters

$id
$type

Return Value

DynamicFieldsObject

in DynamicFieldsObject at line 226
__isset($name)

Parameters

$name

in DynamicFieldsObject at line 268
static clearLocks()

in DynamicFieldsObject at line 276
lock($uid)

Parameters

$uid

in DynamicFieldsObject at line 285
unlock()

in DynamicFieldsObject at line 295
int getType()

Возвращает "Тип материалов" объекта

Return Value

int

in DynamicFieldsObject at line 305
string getTable()

Возвращает таблицу БД, в которой хранятся поля объекта

Return Value

string

in DynamicFieldsObject at line 315
array getFieldsDef()

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

Return Value

array

in DynamicFieldsObject at line 328
mixed getDynamicField(string $name)

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

Parameters

string $name имя поля

Return Value

mixed

in DynamicFieldsObject at line 366
offsetExists($offset)

Parameters

$offset

in DynamicFieldsObject at line 374
offsetGet($offset)

Parameters

$offset

in DynamicFieldsObject at line 382
offsetSet($offset, $value)

Parameters

$offset
$value

in DynamicFieldsObject at line 385
offsetUnset($offset)

Parameters

$offset

in DynamicFieldsObject at line 557
Object getLinkedObjects($od, $fieldName)

Чтение из БД объектов, которые связаны полем $field с данным объектом.

Parameters

$od
$fieldName

Return Value

Object

deprecated

DEPRECATED

Чтение из БД объектов, на которые ссылается поле

При построении SQL запроса к базе данных, таблице, из которой производится чтение полей объектов присваивается псевдоним "A", а таблице, в которой хранятся связи между объектами - "B". Рекомендуется использовать эти псевдонимы, если вы используете параметры $fields, $where, $order, $group, $limit

Parameters

string $fieldname имя поля
string $fields поля, которые запрашивать из таблицы БД при выборке
string $where параметр WHERE запроса
string $order параметр ORDER BY запроса
string $group параметр GROUP BY запроса
string $limit параметр LIMIT запроса

Return Value

Object

in DynamicFieldsObject at line 663
Object selectLinksIn(int|string $from, string $field, string $fields = '*', string $where = '', string $order = '', string $group = '', string $limit = '')

DEPRECATED Чтение из БД объектов, которые связаны полем $field с объектом.

При построении SQL запроса к базе данных, таблице, из которой производится чтение полей объектов присваивается псевдоним "A", а таблице, в которой хранятся связи между объектами - "B". Рекомендуется использовать эти псевдонимы, если вы используете параметры $fields, $where, $order, $group, $limit

Parameters

int|string $from ID "Типа материалов" или имя таблицы БД, в которой хранятся объекты
string $field имя поля по которому объекты связаны с текущим
string $fields поля, которые запрашивать из таблицы БД при выборке
string $where параметр WHERE запроса
string $order параметр ORDER BY запроса
string $group параметр GROUP BY запроса
string $limit параметр LIMIT запроса

Return Value

Object

in DynamicFieldsObject at line 711
void delete()

Удаляет объект из БД

Return Value

void

in DynamicFieldsObject at line 779
abstract void save()

Сохранение объекта

Return Value

void

in DynamicFieldsObject at line 1106
setObjectDefinition($od)

Parameters

$od

at line 35
static getObjectDefinition()

at line 50
static User getById(int $id)

Возвращает объект по ID

Parameters

int $id ID объекта

Return Value

User