Подскажите, а есть ли в Yii некое подобие файла init.php в 1С Битркс, в который можно засовывать пользовательские функции и вызывать их в любом месте кода? При работе с 1С Битрикс часто использую заготовленный набор функций (всякие обёртки, обработчики, парсеры в общем небольшой инструментарий облегчающий разработку), хотел перенести его на проект на Yii но не совсем понимаю где его можно разместить и можно ли вообще?
Вы можете это сделать например так:
1. Создать каталог helpers и внутри пространства создать класс-помощник, например: \common\helpers\Paser.php
2. Перенести пользовательские функции как статичные методы класса Parser.php и использовать их в любых частях проекта подключив Ваш класс-помощник в секции use
use \common\helpers\Paser;
Если у вас возникли подобные вопросы, то рекомендую уделить больше времени изучению официальной документации.
Спасибо за совет =) первый раз просто столкнулся с Yii а точнее с движком WebCanape написанным на Yii, вот сижу ковыряюсь (в документации по Yii тоже).
Тут несколько вариантов:
1. вынести все с отдельный компонент и подключать в нужных проектах
2. сунуть код куда хотите в директорию 'protected' и получать доступ к нужным классам пользуясь автозагрузкой (в yii реализовано PSR4)
'components' => [
....
'init' => function () {
return new app\modules\main\models\Init();
}
....
Соответственно, по указанному пути размещаете класс со всеми необходимыми методами.
А потом в любом месте кода: $ib = Yii::$app->init->GetIBlockElement($id);