Дата последнего изменения: 26.07.2023
API (классы) модуля не делятся по базам данных. ORM скрывает в себе все тонкости работы с конкретной базой данных.
В названиях классов не должны использоваться какие-либо префиксы или суффиксы.
Каждый класс API модуля может лежать в отдельном файле с названием, совпадающим с именем класса, написанном в нижнем регистре. Классы, лежащие в корне пространства имен модуля, должны быть расположены в файлах, лежащих в корне папки /lib
модуля. Классы, лежащие в подпространствах внутри пространства имен модуля, должны быть расположены в файлах, лежащих в соответствующих подпапках папки /lib
модуля.
Например, класс Bitrix\Main\Application должен быть расположен в файле /lib/application.php
относительно корневой папки модуля main, класс Bitrix\Main\IO\File должен быть расположен в файле /lib/io/file.php
относительно корневой папки модуля main, класс Bitrix\Forum\Message должен быть расположен в файле /lib/message.php
относительно корневой папки модуля forum.
При соблюдении этих правил именования после подключения модуля его классы подгружаются автоматически при первом обращении к ним. Никаких дополнительных действий для регистрации и подключения файлов с классами не требуется.
Исключением из правил именования классов и файлов являются классы сущностей ORM (наследников Bitrix\Main\Entity\DataManager). Имена таких классов формируются с суффиксом Table. (Например: CultureTable, LanguageTable.) А имя файла не содержит суффикса table. Такие классы также подключаются автоматически.
void Bitrix\Main\Loader::registerAutoLoadClasses( $moduleName, array $arClasses )Это можно использовать для объединения маленьких классов в один файл.
Нестандартные классы (кастомные, партнёрские), должны находиться в собственных пространствах имен, совпадающих с названиями соответствующих партнеров. Каждый партнерский модуль определяет в пространстве имен партнера свое подпространство, совпадающее с именем модуля без имени партнера. Например, для модуля mycompany.catalog партнера "Mycompany" пространством имен будет MyCompany\Catalog. Остальные правила совпадают с правилами для стандартных модулей.
Для подключения модуля в новом ядре используется инструкция:
mixed Bitrix\Main\Loader::includeModule($moduleName);
Классы:
Примеры:
class User; class UserInformation;
Методы
Примеры:
run(); setImage(); getName();
Константы
Примеры:
DATE_TIME_FORMAT LEVEL_7
Члены класса, параметры методов и переменные
$this->mAge, function setName($pName), $arrArray
.Примеры:
$firstName = ''; $counter = 0;
Общепринятые сокращения в названиях переменных и методов
Пример:
$xmlDocument $mainXmlDocument HttpParser
Сокращения, не являющиеся общепринятыми (в Битриксе), использовать нельзя.
Документация