Задать вопрос
maler1988
@maler1988
Web-программист (1С Bitrix)

Есть ли в Yii аналог файла init.php в 1С Битрикс?

Подскажите, а есть ли в Yii некое подобие файла init.php в 1С Битркс, в который можно засовывать пользовательские функции и вызывать их в любом месте кода? При работе с 1С Битрикс часто использую заготовленный набор функций (всякие обёртки, обработчики, парсеры в общем небольшой инструментарий облегчающий разработку), хотел перенести его на проект на Yii но не совсем понимаю где его можно разместить и можно ли вообще?
  • Вопрос задан
  • 262 просмотра
Подписаться 1 Оценить Комментировать
Решения вопроса 1
ap0stal
@ap0stal
Web-разработчик
Вы можете это сделать например так:
1. Создать каталог helpers и внутри пространства создать класс-помощник, например: \common\helpers\Paser.php
2. Перенести пользовательские функции как статичные методы класса Parser.php и использовать их в любых частях проекта подключив Ваш класс-помощник в секции use

use \common\helpers\Paser;

Если у вас возникли подобные вопросы, то рекомендую уделить больше времени изучению официальной документации.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
rpsv
@rpsv
делай либо хорошо, либо никак
Тут несколько вариантов:
1. вынести все с отдельный компонент и подключать в нужных проектах
2. сунуть код куда хотите в директорию 'protected' и получать доступ к нужным классам пользуясь автозагрузкой (в yii реализовано PSR4)
Ответ написан
Комментировать
reaferon
@reaferon
в файле конфига:
'components' => [
....
        'init' => function () {
            return new app\modules\main\models\Init();
        }
....

Соответственно, по указанному пути размещаете класс со всеми необходимыми методами.
А потом в любом месте кода:
$ib = Yii::$app->init->GetIBlockElement($id);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы