PHP code example of proklung / bitrix-tools-pack-bundle

1. Go to this page and download the library: Download proklung/bitrix-tools-pack-bundle library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

proklung / bitrix-tools-pack-bundle example snippets


        use Monolog\Logger;
        /** @var Logger $logger */
        $logger = container()->get('public_logger');
        $logger->error(
            'Testing',
            ['context' => 'OK', 'MODULE_ID' => 'My module', 'ITEM_ID' => get_class($this)]
        );

        use Prokl\BitrixOrdinaryToolsBundle\Services\Email\EventBridge\Sender\BitrixMailEventSender;
    
        /** @var BitrixMailEventSender $bitrixEventHandler */ 
        $bitrixEventHandler = container()->get('notifier_bitrix_event_sender.mail');

        // Массив, идентичный с параметром fields при отправке Битриксом сообщений
        // См. https://dev.1c-bitrix.ru/api_help/main/reference/cevent/send.php 
        $arFields = ['NAME' => 'testing email', 'EMAIL' => '[email protected]'];

        // Будет оправлено сообщение в канал email и сделана запись в таблице b_event.
        $bitrixEventHandler->send('CODE_MAIL_EVENT', $arFields);

        use Prokl\BitrixOrdinaryToolsBundle\Services\Email\EventBridge\Sender\BitrixPolicySender;
        use Symfony\Component\Notifier\Notification\Notification;;
    
        /** @var BitrixPolicySender $bitrixEventHandler */ 
        $bitrixEventHandler = container()->get('notifier_bitrix_event_sender.policy');

        // Массив, идентичный с параметром fields при отправке Битриксом сообщений
        // См. https://dev.1c-bitrix.ru/api_help/main/reference/cevent/send.php 
        $arFields = ['NAME' => 'testing email', 'EMAIL' => '[email protected]'];

        // Будет оправлено сообщение в канал email и сделана запись в таблице b_event.
        $bitrixEventHandler->send('CODE_MAIL_EVENT', $arFields, Notification::IMPORTANCE_MEDIUM);

        use Prokl\BitrixOrdinaryToolsBundle\Services\Email\EventBridge\Sender\BitrixSmsSender;

        /** @var BitrixSmsSender $bitrixEventHandler */ 
        $bitrixEventHandler = container()->get('notifier_bitrix_event_sender.sms');
        // Массив, идентичный с параметром fields при отправке Битриксом сообщений
        $arFields = [
                'SENDER' => 'test', 'RECEIVER' => '+7926111111', 
                'USER_PHONE' => '+7926111111', 'CODE' => '123'
        ];

        // Будет оправлено SMS и сделана запись в таблице b_event.
        $bitrixEventHandler->send('SMS_USER_RESTORE_PASSWORD', $arFields);

        use Prokl\BitrixOrdinaryToolsBundle\Services\Email\EventBridge\Sender\BitrixTelegramEventSender;

        /** @var BitrixTelegramEventSender $bitrixEventHandler */ 
        $bitrixEventHandler = container()->get('notifier_bitrix_event_sender.telegram');

        $arFields = ['CODE' => '2222', 'LINK' => 'http://site.loc/'];

        $bitrixEventHandler->send('TEST_EVENT', $arFields);

use Symfony\Component\Notifier\Notification\Notification;

return [
    'exception_handling' =>
        array(
            'value' =>
                array(
                    'debug' => env('DEBUG', false),
                    'handled_errors_types' => 4437,
                    'exception_errors_types' => 4437,
                    'ignore_silence' => false,
                    'assertion_throws_exception' => true,
                    'assertion_error_type' => 256,
                    'log' => array (
                        'class_name' => \Prokl\BitrixOrdinaryToolsBundle\Services\ErrorHandler\ErrorHandler::class,
                        '� способ различения dev/prod среды
                            // По умолчанию - dev
                            'env' => env('DEBUG', false) ? 'dev' : 'prod',
                            // В каком окружении работать. По умолчанию - prod.
                            'allowed_env' => ['dev', 'prod'],
                            // Уровень важности согласно channel_policy (см. документацию к модулю proklung.notifier)
                            // По умолчанию - urgent
                            'importancy' => Notification::IMPORTANCE_URGENT,
                        ),
                    ),
                ),
            'readonly' => false,
        ),
];
bash

php bin/console messenger:consume bitrix