124  /  382
Справочник

API

Просмотров: 57728
Дата последнего изменения: 26.07.2023
Роберт Басыров
Сложность урока:
2 уровень - несложные понятия и действия, но не расслабляйтесь.
1
2
3
4
5

API

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;

Методы

  • Методы, в том числе методы класса, должны именоваться "нижнимКэмелКейсом".
  • Не могут содержать в названии никаких символов, кроме букв латинского алфавита.
  • Использование цифр допускается, если избежать иного не получается. Например: encodeBase64, getSha1Key.
  • Название метода должно начинаться с глагола.
  • Длина названия должна быть не менее 3-х символов.

Примеры:

run();
setImage();
getName();

Константы

  • Константы, в том числе константы класса, должны быть написаны в ВЕРХНЕМ_РЕГИСТРЕ_С_РАЗДЕЛИТЕЛЕМ_ПОДЧЕРКИВАНИЕМ.
  • Могут содержать буквы латинского алфавита, знак подчеркивания и числа (не в первой позиции).

Примеры:

DATE_TIME_FORMAT
LEVEL_7

Члены класса, параметры методов и переменные

  • Должны именоваться "нижнимКэмелКейсом".
  • Не должны содержать префиксов означающих членство в классе, принадлежность параметрам, тип и прочие бессодержательные вещи. Пример лишних префиксов: $this->mAge, function setName($pName), $arrArray.
  • Могут содержать буквы латинского алфавита и числа (не в первой позиции).

Примеры:

$firstName = '';
$counter = 0;

Общепринятые сокращения в названиях переменных и методов

  • Сокращения на первой позиции должны быть написаны маленькими буквами, на не первой позиции - должны начинаться с большой буквы, а все остальные - маленькие.
  • В именах классов - с большой, остальные маленькие.

Пример:

$xmlDocument
$mainXmlDocument
HttpParser

Сокращения, не являющиеся общепринятыми (в Битриксе), использовать нельзя.

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




25
Курсы разработаны в компании «1С-Битрикс»

Если вы нашли неточность в тексте, непонятное объяснение, пожалуйста, сообщите нам об этом в комментариях.
Развернуть комментарии