Документация InstantCMS

для администраторов и разработчиков

Инструменты пользователя

Инструменты сайта


dev:controllers:core

Работа с системными классами и объектами

Под системными классами и созданными их объектами в InstantCMS подразумеваются все файлы в директории /system/core/. Их полный список и назначение рассмотрен в отдельной статье. Все системные классы начинаются с символов cms, например, cmsMailer, cmsTemplate, cmsUser, cmsCore и так далее.

В версиях InstantCMS выше 2.4.0 в своих контроллерах больше нет надобности получать синглтоны или вручную создавать объекты указанных системных классов. Достаточно обращаться к ним, как к свойствам объекта контроллера по схеме cmsCore$this→cms_core. Т.е. берем название требуемого класса, находим первую заглавную букву в середине слова, делаем ее строчной и ставим перед ней знак подчеркивания. Обратите внимание! Подобные вызовы доступны из контекста контроллера, т.е. из его фронтэнда, бэкенда и экшенов.

Например, объект ядра в контроллере можно получить так:

$core = cmsCore::getInstance();

И далее уже использовать переменную $core для обращения к объектам ядра:

$uri_action = $core->uri_action;

Однако, можно опустить получение синглтона (в данном случае) и использовать упрощенную конструкцию, а движок сам подключит требуемый объект при первом обращении и сохранит его для дальнейшего использование в свойство:

$uri_action = $this->cms_core->uri_action;

Точно также необходимо действовать и с другими объектами, например:

Название класса Обращение к объекту в конроллере
cmsConfig
$this->cms_config
cmsUser
$this->cms_user
cmsTemplate
$this->cms_template
cmsUploader
$this->cms_uploader

И так далее. Вы всегда гарантировано можете обратиться к этим объектам, их файлы автоматически подгрузятся, создастся объект и присвоится к свойству.


Вернуться к оглавлению

dev/controllers/core.txt · Последнее изменение: 08.05.2020 20:18 — fuze