Download the PHP package sashagm/notification without Composer
On this page you can find all versions of the php package sashagm/notification. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download sashagm/notification
More information about sashagm/notification
Files in sashagm/notification
Package notification
Short Description NotificationService - это компонент фреймворка Laravel, который позволяет уведомлять пользователей о различных событиях в приложении. Он предоставляет возможность отправки уведомлений на электронную почту или в Telegram-чаты.
License MIT
Informations about the package notification
[![PHP Version](https://img.shields.io/badge/PHP-%2B8-blue)](https://www.php.net/) [![Laravel Version](https://img.shields.io/badge/Laravel-%2B10-red)](https://laravel.com/)
Уведомления для Laravel
NotificationService - это компонент фреймворка Laravel, который позволяет уведомлять пользователей о различных событиях в приложении. Он предоставляет возможность отправки уведомлений на электронную почту или в Telegram-чаты.
Для использования NotificationService необходимо настроить переменные окружения для SMTP-сервера и токена бота Telegram. После этого можно создать уведомления, которые будут отправляться при наступлении определенных событий в приложении.
Уведомления могут быть созданы как классы, которые реализуют интерфейс Illuminate\Contracts\Notifications\ShouldQueue, так и анонимные функции. В уведомлениях можно задавать текст сообщения, тему, получателей и другие параметры.
NotificationService также предоставляет возможность использовать различные каналы для отправки уведомлений, например, SMS или Push-уведомления. Для этого необходимо настроить соответствующие каналы и добавить их в конфигурацию NotificationService.
В целом, NotificationService предоставляет удобный и гибкий способ уведомления пользователей о событиях в приложении, что может значительно повысить его удобство и функциональность.
NotificationService – это открытое программное обеспечение, распространяемое под лицензией MIT. Это означает, что вы можете использовать и модифицировать его свободно, без ограничений.
Мы верим, что свобода и открытость являются ключевыми принципами разработки программного обеспечения, и поэтому мы выбрали лицензию MIT для NotificationService. Это дает пользователям и разработчикам полную свободу использовать, изменять и распространять наш продукт.
Мы надеемся, что NotificationService будет полезным для вас и вашей команды, и мы приглашаем вас внести свой вклад в его развитие. Если у вас есть какие-либо вопросы или предложения, пожалуйста, свяжитесь с нами – мы всегда рады помочь.
Оглавление:
- Требования
- Установка
- Использование
- Права доступа
- Кастомный гард
- Кастомный логер
- Дополнительные возможности
- Тестирование
- Лицензия
Требования
Основные требования для установки и корректной работы:
PHP
>= 8.0Laravel
>= 10.xComposer
>= 2.4.x
Установка
Для установки пакета необходимо выполнить команды:
- composer require sashagm/notification
- php artisan notification:install
Использование
-
Для начала давайте определим нашу вспомогательную конфигурацию в
.env
: -
Теперь давайте определим нашу вспомогательную конфигурацию в
/config/nf.php
: - Например, чтобы отправить уведомление на почту, отправьте POST запрос на
route('nf')
со следующими параметрами:
либо
-
Чтобы отправить уведомление на все каналы, отправьте POST запрос на
route('nf')
со следующими параметрами: - Вы можете отправлять уведомления из любого места в вашем приложении, не только из контроллера. Для этого вам нужно создать экземпляр
NotificationService
и вызвать методыsendEmail
,sendTelegram
илиsendAll
, как мы это делали в команде Artisan.
Например, вы можете отправить уведомление на электронную почту в следующем коде:
Аналогично, вы можете отправить уведомление в Telegram:
Так же можно отправить во все канылы:
Просто убедитесь, что вы импортировали класс NotificationService
в ваш файл.
Права доступа
Если необходимо ограничить доступ можно в конфигурации /config/nf.php
изменить права доступа в разделе check
:
Добавляем массив с значениями для разных вариаций. Например для данного примера показано что пользователи с id 1,2,3
имеют права доступа.
Так же можно указать не id а roles, тогда можно настроить на группы/роли пользователей например Админ, Модер, Редактор
.
Кастомный гард
Если необходимо использовать кастомный гард можно в конфигурации /config/nf.php
изменить в разделе check
за это отвечает параметр guard
по дефолту настроен на web
и возвращает текущего аутентифицированного пользователя для стандартной охраны web. Это используется для аутентификации пользователей, которые входят через веб-интерфейс.
Если указать кастомный гард то будет возвращать текущего аутентифицированного пользователя для охраны с именем кастомного гарда. Охрана с именем кастомного гарда может быть настроена в файле конфигурации Laravel для использования другой базы данных или другой модели пользователя.
Таким образом можно изменять подходящий гард для проверки прав доступа для Middleware тем.
Кастомный логер
Если вы не хотите использовать стандартный файл для логирования, вы можете использовать отдельный файл и записывать данные логов туда.
Просто измените путь до нового файла в конфигурации /config/nf.php
Дополнительные возможности
Наш пакет предоставляет ряд дополнительных возможностей, которые могут быть полезны при работе с уведомлениями:
-
php artisan notification:install
- Данная команда установит все необходимые файлы. -
php artisan notification:test {type}
- Данная команда отправит тестовое уведомление на выбранный канал (email,telegram,all). php artisan notification:send {type} {message} {--id=0}
- Данная команда отправит тестовое уведомление на выбранный канал с вашем сообщением (email,telegram, all). Для указания id можно отправить только либо наemail
своим адресом либо вtelegram
на свой ид чат.
Тестирование
Для проверки работоспособности можно выполнить специальную команду:
- ./vendor/bin/phpunit --configuration phpunit.xml
Лицензия
Laravel Notification - это программное обеспечение с открытым исходным кодом, лицензированное по MIT license.
All versions of notification with dependencies
laravel-notification-channels/telegram Version ^4.0 || ^5
irazasyed/telegram-bot-sdk Version ^3.13
twilio/sdk Version ^7.5