loadMessages
Сигнатура, описание и параметры
public static \Bitrix\Main\Localization\Loc::loadMessages( string $file );
Статический метод обозначает, для какого файла мы бы хотели в будущем загрузить языковые файлы. Поиск папки и подключение языкового файла будет происходить только при необходимости, когда вызовется Loc::getMessage (или функция GetMessage старого ядра, которая вызовет Loc::getMessage). Этот механизм в Bitrix Framework называется ленивая загрузка.
Loc::getMessage будет искать первую папку /lang
наверх по файловой структуре относительно переданного файла.
Аналог методов IncludeModuleLangFile и IncludeTemplateLangFile старого ядра.
Параметры
Параметр | Описание | Версия |
---|---|---|
$file | Файл. |
Примеры
Применение метода для файлов сайта вне модулей и шаблонов. Метод Loc::loadMessages практичнее, чем IncludeModuleLangFile и IncludeTemplateLangFile старого ядра. В старых функциях чётко указано, где искать папку с lang-файлами: в корне модуля или в корне шаблона. Loc::loadMessages можно использовать для других папок.
Пример структуры папок:
local php_interface askaron tools.php lang ru askaron tools.php init.php test.php init.php test.php
Возьмем любой файл. Например, init.php
Файл /local/php_interface/lang/ru/init.php
.
<? $MESS["HELLO_WORLD"] = "Привет мир"; ?>
Файл /local/php_interface/init.php
<? use Bitrix\Main\Localization\Loc; Loc::loadMessages(__FILE__); function getHelloWorld() { return Loc::getMessage('HELLO_WORLD'); } ?>
Аналогично конструкция
use Bitrix\Main\Localization\Loc; Loc::loadMessages(__FILE__);
будет работать в test.php и в askaron/tools.php
.