@Muramidaza

Как передать функцию в конфигах в Yii2?

Мне нужно передать функцию отправки пушей в свой пакет с модулем. Предполагается что в разных проектах она будет своя. Как правильно передать функцию через config? И как ее потом в модуле получить и использовать? Обычные строковые или числовые передаются нормально. В Module.php статические переменные с теми же именами принимают настройки и их возможно применить дальше в модуле. Но как быть с функцией?

'modules' => [
        'admin-panel' => [
            'class' => \modules\adminPanel\Module::class,
        ],
        'gridview' => [
            'class' => 'kartik\grid\Module',
        ],
        'dynagrid'=> [
            'class'=>'\kartik\dynagrid\Module',
            'defaultPageSize' => 30,
        ],
        'web-call' => [
            'class' => \modules\webCall\Module::class,
        ],
        'serverChat' => [
            'class' => \muramidaza\serverChat\Module::class,
            'count_workers' => 2,
            'domain' => '192.168.1.1',
            'host' => '127.0.0.1',
            'domain_workerman' => 'php',
            'port' => 2346,
            'ssl' => false,
            'ssl_cert' => '/etc/ssl/home-call.crt',
            'ssl_pkey' => '/etc/ssl/home-call.key',

            'users_table_name' => 'public.user',
            'db' => 'db',

            'push_sender' => function($message, $preparedData, $title, $type, $userID) {
                AsyncPushSender::sendMessageNewChatMessage($message, $preparedData, $title, $type, $userID);
            }
        ]
  • Вопрос задан
  • 63 просмотра
Решения вопроса 1
vhood
@vhood
Не забывайте отмечать решения
$pushSender = Yii::$app->getModule('server-chat')->push_sender;

$pushSender($message, $preparedData, $title, $type, $userID);
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы