abstract class MaterialUser extends Material

Пользовательские классы для определенного типа материалов должны наследовать этот класс

Traits

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

Properties

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

Methods

__toString()

No description

array
asArray()

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

from Base
mixed
__get(string $name)

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

void
__set(string $name, mixed $value)

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

from Material
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)

Создает экземпляр нужного класса в зависимости от "Типа материалов".

fetch(array $data, int|ObjectDefinition $type, string $table = null)

Создает экземпляр нужного класса в зависимости от "Типа материалов", поля загружаются из БД, резульат кэшируется

setFields(array $fields)

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

from Material
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()

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

from Material
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()

Удаляет материал

from Material
void
save($hidden = true, $unique_alias = false)

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

from Material
setObjectDefinition($od)

No description

static 
extend($class)

No description

static 
create()

No description

static 
callStatic($method)

No description

static Material
getById(int $id, int $type, string $table = null)

Возвращает материал по ID и типу (или таблице)

setPublished($value)

No description

from Material
getCatalog()

Возвращает раздел, которому принадлежит материал или false, если материал не принадлежит разделу

from Material
getSection()

Возвращает раздел, которому принадлежит материал или false, если материал не принадлежит разделу

from Material
string
getUrl()

Возвращает абсолютный URL материала

from Material
string
getFullUrl($prefix = TRUE)

Возвращает полный URL материала

from Material
getBoUrl($short = false)

No description

from Material
int
copy(Catalog|int $dst)

Копирует материал в другой раздел

from Material
getNext($field = 'dat')

No description

from Material
getPrev($field = 'dat')

No description

from Material
static 
getTypeId()

No description

static 
getObjectDefinition()

No description

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 Material at line 446
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

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

Создает экземпляр нужного класса в зависимости от "Типа материалов".

Parameters

$type
$table
$fields

Return Value

DynamicFieldsObject

in DynamicFieldsObject at line 105
static DynamicFieldsObject fetch(array $data, int|ObjectDefinition $type, string $table = null)

Создает экземпляр нужного класса в зависимости от "Типа материалов", поля загружаются из БД, резульат кэшируется

Parameters

array $data поля объекта
int|ObjectDefinition $type "Тип материалов" объекта
string $table Таблица БД, в которой хранятся объекты

Return Value

DynamicFieldsObject

in Material at line 58
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 Material at line 123
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 Material at line 180
void delete()

Удаляет материал

Return Value

void

in Material at line 328
void save($hidden = true, $unique_alias = false)

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

Parameters

$hidden
$unique_alias

Return Value

void

in DynamicFieldsObject at line 1106
setObjectDefinition($od)

Parameters

$od

in Extendable at line 8
final static extend($class)

Parameters

$class

at line 26
static create()

in Extendable at line 21
final static callStatic($method)

Parameters

$method

at line 32
static Material getById(int $id, int $type, string $table = null)

Возвращает материал по ID и типу (или таблице)

Parameters

int $id ID материала
int $type тип материала
string $table Таблица БД, в которой хранятся поля материала

Return Value

Material

in Material at line 86
setPublished($value)

Parameters

$value

in Material at line 97
Catalog getCatalog()

Возвращает раздел, которому принадлежит материал или false, если материал не принадлежит разделу

Return Value

Catalog

in Material at line 113
Catalog getSection()

Возвращает раздел, которому принадлежит материал или false, если материал не принадлежит разделу

Return Value

Catalog

in Material at line 133
string getUrl()

Возвращает абсолютный URL материала

Return Value

string

in Material at line 147
string getFullUrl($prefix = TRUE)

Возвращает полный URL материала

Parameters

$prefix

Return Value

string

in Material at line 154
getBoUrl($short = false)

Parameters

$short

in Material at line 196
int copy(Catalog|int $dst)

Копирует материал в другой раздел

Parameters

Catalog|int $dst раздел, куда копировать материал

Return Value

int ID нового материала

Exceptions

Exception

in Material at line 465
getNext($field = 'dat')

Parameters

$field

in Material at line 470
getPrev($field = 'dat')

Parameters

$field

at line 20
abstract static getTypeId()

at line 22
static getObjectDefinition()