'siteSettings' => [
'class' => SiteSettings::class
],
'mailer' => function () {
return Yii::createObject([
'class' => 'yii\swiftmailer\Mailer',
'useFileTransport' => true,
'transport' => [
'class' => 'Swift_SmtpTransport',
'host' => Yii::$app->siteSettings->get('SITE.MAIL_HOST'),
'port' => Yii::$app->siteSettings->get('SITE.MAIL_PORT'),
'username' => Yii::$app->siteSettings->get('SITE.MAIL_USER'),
'password' => Yii::$app->siteSettings->get('SITE.MAIL_PASS'),
'encryption' => Yii::$app->siteSettings->get('SITE.MAIL_ENCR')
],
'messageConfig' => [
'to' => [ Yii::$app->siteSettings->get('SITE.EMAIL_ADMIN') ],
'from' => [ Yii::$app->siteSettings->get('SITE.MAIL_USER') ]
]
]);
'modules' => [
'support' => [
'class' => ModuleTicket::class,
// далее могут быть настройки самого модуля.
],
],
'params' => $params,
class Bootstrap implements BootstrapInterface
{
/**
* @inheritdoc
*/
public function bootstrap($app)
{
if ($app->hasModule('support') && ($module = $app->getModule('support')) instanceof ModuleTicket) {
$app->urlManager->addRules(
[
'<_m:support>/new-ticket' => '<_m>/ticket/create',
'<_m:support>/<id:\w+>' => '<_m>/ticket/view',
'<_m:support>' => '<_m>/ticket/index',
]
);
if (!$app->has($this->getModule()->queueComponent)) {
$app->set($this->getModule()->queueComponent, [
'class' => Queue::class,
'handle' => true, // whether tasks should be executed immediately
]);
}
}
// Add module I18N category.
if (!isset($app->i18n->translations['slo-nik/*'])) {
$app->i18n->translations['slo-nik/*'] = [
'class' => PhpMessageSource::class,
];
}
}
}
Языковая конструкция eval() может быть очень опасной, поскольку позволяет выполнить произвольный код. Использование данной функции не рекомендуется. Если вы полностью убеждены, что нет другого способа, кроме использования этой конструкции, обратите особое внимание на то, чтобы не передавать какие-либо данные, предоставленые пользователем, без предварительной проверки.