ObjectDefinition
class ObjectDefinition extends Base
Класс реализующий управление типами материалов системы
Traits
Properties
static | $plugins | ||
int | $id | идентификатор объекта | from Base |
static | $userClasses | Пользовательские классы для определенных типов материалов | |
static | $reserved_aliases |
Methods
Возвращает активное соединение с БД в рамках приложения
Сохраняет пару ключ/значение в БД
No description
Найти тип материалов по имени таблицы в БД
Найти тип материалов по alias
Найти тип материалов по ID
Найти тип материалов по ID
Зарегистрировать пользовательский класс для определенного типа материалов
Создает новый тип материалов
No description
No description
No description
No description
No description
No description
No description
No description
Возвращает поле данного типа материалов
Возвращает true если существует поле у данного типа материалов
Удаляет тип материалов
Изменяет тип материалов
Добавляет новое поле в тип материалов
Изменяет поле в типе материалов
Возвращает материалы данного типа
Возвращает разделы с материалами данного типа
No description
No description
No description
No description
No description
No description
No description
No description
Details
in Base at line 63
__toString()
in Base at line 73
array
asArray()
Возвращает объект в виде массива с указанными полями
in Base at line 108
mixed
__get(string $name)
Перегрузка чтения свойств класса.
Если в классе существует метод getСвойство(), то вызывается этот метод Если в классе существует поле $_свойство, то возвращается это поле В противном случает бросается исключение
in Base at line 132
void
__set(string $name, mixed $value)
Перегрузка записи свойств класса.
Если в классе существует метод setСвойство(), то вызывается этот метод Если в классе существует поле $свойство, то полю присваивается значение свойства В противном случает бросается исключение
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 86
static
enum()
at line 104
static ObjectDefinition
findByTable(string $table)
Найти тип материалов по имени таблицы в БД
at line 117
static ObjectDefinition
findByAlias(string $alias)
Найти тип материалов по alias
at line 128
static ObjectDefinition
findById(int $id)
Найти тип материалов по ID
at line 139
static ObjectDefinition
getById(int $id)
Найти тип материалов по ID
at line 151
static void
registerClass(int $id, string $className = null)
Зарегистрировать пользовательский класс для определенного типа материалов
at line 173
static ObjectDefinition
create()
Создает новый тип материалов
at line 223
__construct($id = null, $table = null)
at line 244
getId()
at line 283
getTable()
at line 292
getAlias()
at line 300
getDescription()
at line 310
getFixed()
at line 318
setPlugin($file)
at line 326
getPlugins()
at line 340
array
getFields(int|Catalog $dir = null)
Возвращает все поля данного типа материалов
at line 378
ObjectField
getField(string $fieldName)
Возвращает поле данного типа материалов
at line 393
boolean
hasField(string $fieldName)
Возвращает true если существует поле у данного типа материалов
at line 401
delete()
Удаляет тип материалов
at line 428
ObjectDefinition
update(array $params)
Изменяет тип материалов
at line 494
addField(array $params)
Добавляет новое поле в тип материалов
at line 541
updateField(array $params)
Изменяет поле в типе материалов
at line 667
Material
getMaterials()
Возвращает материалы данного типа
at line 679
Catalog
getCatalogs()
Возвращает разделы с материалами данного типа