DynamicFieldsObjectPredefined
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
Возвращает активное соединение с БД в рамках приложения
Сохраняет пару ключ/значение в БД
No description
No description
Возвращает объект по ID и "Типу материалов".
Возвращает прочитанное из БД поле объекта в соответствии с типом поля
Чтение из БД объектов, которые связаны полем $field с данным объектом.
DEPRECATED
DEPRECATED Чтение из БД объектов, которые связаны полем $field с объектом.
No description
Details
in DynamicFieldsObject at line 192
__toString()
in Base at line 73
array
asArray()
Возвращает объект в виде массива с указанными полями
in DynamicFieldsObject at line 211
mixed
__get(string $name)
Перегрузка чтения свойств класса.
Организуется доступ к полям объекта, созданным в конструкторе "Типы материалов" FastsiteCMS, как к свойствам объекта
in DynamicFieldsObject at line 245
void
__set(string $name, mixed $value)
Перегрузка записи свойств класса.
Организуется доступ к полям объекта, созданным в конструкторе "Типы материалов" FastsiteCMS, как к свойствам объекта
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().' дней!';
in Base at line 192
__call($name, $arguments)
in Base at line 216
decodeLocaleString($str)
in DbConnection at line 22
final static Connection
getDbConnection()
Возвращает активное соединение с БД в рамках приложения
in DbConnection at line 35
static void
configSet(string $key, miced $value)
Сохраняет пару ключ/значение в БД
in DbConnection at line 47
static mixed
configGet(string $key)
Возвращает значение связанное с ключем из БД
in DbConnection at line 60
static mixed
configGetAll()
Возвращает все ключи/значения из БД
in DbConnection at line 78
static void
configUnset(string $key)
Удаляет пару ключ/значение из БД
at line 56
static DynamicFieldsObject
factory($type, $table = null, $fields = null)
at line 30
static DynamicFieldsObject
fetch(array $data, $a, $b = null)
in DynamicFieldsObject at line 151
setFields(array $fields)
Устанавливает поля объекта
in DynamicFieldsObject at line 182
static DynamicFieldsObject
getByIdType($id, $type)
Возвращает объект по ID и "Типу материалов".
in DynamicFieldsObject at line 226
__isset($name)
in DynamicFieldsObject at line 268
static
clearLocks()
in DynamicFieldsObject at line 276
lock($uid)
in DynamicFieldsObject at line 285
unlock()
in DynamicFieldsObject at line 295
int
getType()
Возвращает "Тип материалов" объекта
in DynamicFieldsObject at line 305
string
getTable()
Возвращает таблицу БД, в которой хранятся поля объекта
in DynamicFieldsObject at line 315
array
getFieldsDef()
Возвращает описание полей объекта
in DynamicFieldsObject at line 328
mixed
getDynamicField(string $name)
Возвращает прочитанное из БД поле объекта в соответствии с типом поля
in DynamicFieldsObject at line 366
offsetExists($offset)
in DynamicFieldsObject at line 374
offsetGet($offset)
in DynamicFieldsObject at line 382
offsetSet($offset, $value)
in DynamicFieldsObject at line 385
offsetUnset($offset)
in DynamicFieldsObject at line 557
Object
getLinkedObjects($od, $fieldName)
Чтение из БД объектов, которые связаны полем $field с данным объектом.
in DynamicFieldsObject at line 589
Object
selectLinks(string $fieldname, string $fields = 'A.*', string $where = '', string $order = 'B.tag', string $group = '', string $limit = '')
deprecated
deprecated
DEPRECATED
Чтение из БД объектов, на которые ссылается поле
При построении SQL запроса к базе данных, таблице, из которой производится чтение полей объектов присваивается псевдоним "A", а таблице, в которой хранятся связи между объектами - "B". Рекомендуется использовать эти псевдонимы, если вы используете параметры $fields, $where, $order, $group, $limit
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
in DynamicFieldsObject at line 711
void
delete()
Удаляет объект из БД
in DynamicFieldsObject at line 779
abstract void
save()
Сохранение объекта
in DynamicFieldsObject at line 1106
setObjectDefinition($od)
at line 35
static
getObjectDefinition()
at line 50
static User
getById(int $id)
Возвращает объект по ID