创建和发送通知

频道:斗争,纹理,电子邮件和浏览器
  • 短信通道通过短信向手机发送通知;
  • 聊天频道向Slack和Telegram等聊天服务发送通知;
  • 电子邮件渠道整合了欧宝娱乐app下载地址Symfony梅勒;
  • 浏览器通道使用flash的消息
  • 小费

    使用秘密安全地存储API的令牌。

    SMS频道欧宝娱乐app下载地址symfony \ component \ notifier \ texter课程将SMS消息发送到移动电话。此功能需要订阅发送SMS消息的第三方服务。欧宝娱乐app下载地址Symfony提供与几个流行的SMS服务的集成:

    服务 DSN
    allmysms. 欧宝娱乐app下载地址Symfony / Allmysms-Notifier allmysms: / /登录:APIKEY@default ?从=
    Clickatell 欧宝娱乐app下载地址symfony / clickatell-notifier clickatell:// access_token @默认值?来自=来自
    Esendex 欧宝娱乐app下载地址symfony / esendex-notifier esendex: / / USER_NAME: PASSWORD@default ?accountreference = ACCOUNT_REFERENCE&from =
    FakeSms 欧宝娱乐app下载地址symfony / fake-sms-notifier fakesms +电子邮件:// mailer_service_id?到= to&from = from
    Freemobile. 欧宝娱乐app下载地址symfony / free-mobile-notifier freemobile://登录:密码@默认值?电话=手机
    GatewayApi 欧宝娱乐app下载地址symfony / gatewayapi-notier gatewayapi://令牌@默认值?来自=来自
    Infobip 欧宝娱乐app下载地址Symfony / Infobip-notier infobip: / / AUTH_TOKEN@HOST ?从=
    Iqsms 欧宝娱乐app下载地址symfony / iqsms-notifier IQSMS://登录:密码@默认值?来自=来自
    LightSms 欧宝娱乐app下载地址symfony / light-sms-notifier lightsms: / /登录:TOKEN@default ?从=电话
    MessageBird 欧宝娱乐app下载地址symfony / message-bird-notifier MessageBird://令牌@默认值?来自=来自
    Mobyt 欧宝娱乐app下载地址symfony / mobyt-notifier mobyt: / / USER_KEY: ACCESS_TOKEN@default ?从=
    Nexmo 欧宝娱乐app下载地址symfony / nexmo-notifier nexmo: / /关键:SECRET@default ?从=
    octopush. 欧宝娱乐app下载地址symfony / octopush-notifier 水中曲棍球:/ / USERLOGIN: APIKEY@default ?从=从类型=类型
    Ovh欧宝体育应用最新版app下载Cloud 欧宝娱乐app下载地址S欧宝体育应用最新版app下载ymfony / Ovh-Cloud-Notifier ovh欧宝体育应用最新版app下载cloud: / / APPLICATION_KEY: APPLICATION_SECRET@default ?consumer_key = CONSUMER_KEY&service_name = SERVICE_NAME
    sendinblue. 欧宝娱乐app下载地址symfony / sendinblue-notifier sendinblue: / / API_KEY@default ?发送方=电话
    双曲正弦 欧宝娱乐app下载地址Symfony / Sinch-Notier 双曲正弦:/ / ACCOUNT_ID: AUTH_TOKEN@default ?从=
    Smsapi 欧宝娱乐app下载地址symfony / smsapi-notifier smsapi: / / TOKEN@default ?从=
    SmsBiuras 欧宝娱乐app下载地址Symfony / SMS-Biuras-Notifier smsbiuras: / / UID: API_KEY@default ?= FROM&test_mode = 0
    SpotHit 欧宝娱乐app下载地址symfony / spothit-notifier spothit: / / TOKEN@default ?从=
    思索 欧宝娱乐app下载地址symfony / twilio-notifier twilio:// sid:令牌@默认值?来自=来自

    5.1新版功能:Symfony欧宝体育应用最新版app下载 5.1中引入了OvhCloud、Sinch和FreeMobile的集成。欧宝娱乐app下载地址

    5.2新版功能:Symfony 5.2引入了SMSAPI,Infobip,Mobyt,Esendex和SendInblue集成。欧宝娱乐app下载地址

    5.3新版功能:在Symfony 5.3中引入了IQSMS,GateWayapi,Octopus,Allmysms,Clickatell,Spothit,Fakesm,Lights,Smsbiuras和MessageBird集成。欧宝娱乐app下载地址

    要启用发号机,请在您的中添加正确的DSN.env文件并配置texter_transports.

    1 2
    # .envTWILIO_DSN=为什么twilio: / /席德:(电子邮件保护)的吗?=
    • YAML
      1 2 3 4 5
      #配置/包/ indifier.yaml框架通知人texter_transports.为什么twilio'%env(twilio_dsn)%'
    • XML.
      12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
      < !——配置/包/ notifier.xml >< ?encoding="UTF-8"<容器xmlns =“http://欧宝娱乐app下载地址www.oldmanjams.com/schema/dic/services”XMLNS:XSI =“http://www.w3.org/2001/XMLSchema-instance”xmlns:框架=“http://欧宝娱乐app下载地址www.oldmanjams.com/schema/dic/symfony”xsi: schemaLocation =“http://欧宝娱乐app下载地址www.oldmanjams.com/schema/dic/serviceshttps://欧宝娱乐app下载地址www.oldmanjams.com/schema/dic/services/services-1.0.xsdhttp://欧宝娱乐app下载地址www.oldmanjams.com/schema/dic/symfonyhttps://欧宝娱乐app下载地址www.oldmanjams.com/schema/dic/symfony/symfony-1.0.xsd”><框架:货柜运输名称=“为什么twilio”>% env (TWILIO_DSN) %< /框架:texter-transport >< /框架:通知>> < /容器
    • PHP
      1 2 3 4 5 6 7 8
      #配置/包/ notifier.php$容器->loadFromExtension“框架”[“通知”= >['texter_transports'= >[“为什么twilio”= >'%env(twilio_dsn)%'),),]);

    聊天频道欧宝娱乐app下载地址Symfony组件\ \通知\喋喋不休类。欧宝娱乐app下载地址Symfony集成了以下聊天服务:

    服务 DSN
    不和 欧宝娱乐app下载地址symfony / disd-notier discord://令牌@默认值?webhook_id = id
    FakeChat 欧宝娱乐app下载地址symfony / fake-chat-notifier fakechat +电子邮件:/ /默认吗?=, =
    Firebase. 欧宝娱乐app下载地址symfony / firebase-notifier Firebase://用户名:密码@默认值
    收球 欧宝娱乐app下载地址symfony / gitter-notifier git: / / TOKEN@default ?room_id = room_id
    GoogleChat 欧宝娱乐app下载地址symfony / google-chat-notifier googlechat: / / ACCESS_KEY: ACCESS_TOKEN@default /空间?thread_key = thread_key
    LinkedIn 欧宝娱乐app下载地址symfony / linked-in-notifier LinkedIn://令牌:user_id @默认值
    差了 欧宝娱乐app下载地址symfony / mattermost-notifier mattermost: / / ACCESS_TOKEN@HOST /路径?通道=通道
    美居酒店 欧宝娱乐app下载地址symfony / mercure-notifier Mercure:// hub_id?主题=主题
    MicrosoftTeams 欧宝娱乐app下载地址symfony / microsoft-teams-notifier microsoftteams: / /默认路径
    Rocketchat. 欧宝娱乐app下载地址symfony / rocket-chat-notifier Rocketchat://令牌@ Endpoint?Channel = Channel
    松弛 欧宝娱乐app下载地址symfony / slack-notifier 松:/ / TOKEN@default ?通道=通道
    电报 欧宝娱乐app下载地址symfony / telegram-notifier 电报:/ / TOKEN@default ?频道= CHAT_ID
    Zulip. 欧宝娱乐app下载地址symfony / zulip-notifier Zulip://电子邮件:令牌@ Host?Channel = Channel

    5.1新版功能:Symfony 5.1引入了Firebase,最重要的和Rocketchat集成。欧宝娱乐app下载地址Symfony 5.1的Slack DSN更改为使欧宝娱乐app下载地址用Slack传入的Webhook而不是传统标记。

    5.2新版功能:Symfony 5.2中引入了GoogleChat, LinkedIn, Zulip和Discord的整合。欧宝娱乐app下载地址Slack DSN在Symfony 5.2中更改为欧宝娱乐app下载地址使用Slack Web API,与5.0中相同。

    5.3新版功能:Symfony 5.3中引入了Gitter、Mercure、fakchat和Microsoft Teams的集成。欧宝娱乐app下载地址

    配置Chatterschatter_transports.设置:

    1 2
    # .envSLACK_DSN=松弛://(电子邮件保护)通道吗?=通道
    • YAML
      1 2 3 4 5
      #配置/包/ indifier.yaml框架通知人chatter_transports.松弛'%env(slack_dsn)%'
    • XML.
      12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
      < !——配置/包/ notifier.xml >< ?encoding="UTF-8"<容器xmlns =“http://欧宝娱乐app下载地址www.oldmanjams.com/schema/dic/services”XMLNS:XSI =“http://www.w3.org/2001/XMLSchema-instance”xmlns:框架=“http://欧宝娱乐app下载地址www.oldmanjams.com/schema/dic/symfony”xsi: schemaLocation =“http://欧宝娱乐app下载地址www.oldmanjams.com/schema/dic/serviceshttps://欧宝娱乐app下载地址www.oldmanjams.com/schema/dic/services/services-1.0.xsdhttp://欧宝娱乐app下载地址www.oldmanjams.com/schema/dic/symfonyhttps://欧宝娱乐app下载地址www.oldmanjams.com/schema/dic/symfony/symfony-1.0.xsd”><框架:chatter-transport名称=“松弛”>% env (SLACK_DSN) %< /框架:通知>> < /容器
    • PHP
      1 2 3 4 5 6 7 8
      #配置/包/ notifier.php$容器->loadFromExtension“框架”[“通知”= >[“chatter_transports”= >['松弛'= >'%env(slack_dsn)%'),),]);

    电子邮件频道欧宝娱乐app下载地址Symfony梅勒发送通知使用特殊欧宝娱乐app下载地址Symfony \ \树枝\ Mime \ NotificationEmail桥梁。需要安装枝桥连同Inky和CSS内联枝扩展:

    1
    $作曲家要求Symfony / Tw欧宝娱乐app下载地址ig-Pack Twig / Cssinliner  - 额外的树枝/墨额外

    在这之后,配置梅勒。您也可以设置默认的“from”电子邮件地址,应该用于发送通知电子邮件:

    • YAML
      1 2 3 4 5 6
      #配置/包/邮件.YAML框架梅勒dsn'%env(mailer_dsn)%'信封发件人'(电子邮件保护)'
    • XML.
      1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 17 17 18 19 20
      <! -  CONFIG / PACKAINS / mailer.xml  - >< ?encoding="UTF-8"<容器xmlns =“http://欧宝娱乐app下载地址www.oldmanjams.com/schema/dic/services”XMLNS:XSI =“http://www.w3.org/2001/XMLSchema-instance”xmlns:框架=“http://欧宝娱乐app下载地址www.oldmanjams.com/schema/dic/symfony”xsi: schemaLocation =“http://欧宝娱乐app下载地址www.oldmanjams.com/schema/dic/serviceshttps://欧宝娱乐app下载地址www.oldmanjams.com/schema/dic/services/services-1.0.xsdhttp://欧宝娱乐app下载地址www.oldmanjams.com/schema/dic/symfonyhttps://欧宝娱乐app下载地址www.oldmanjams.com/schema/dic/symfony/symfony-1.0.xsd”><框架:梅勒dsn =“% env (MAILER_DSN) %”><框架:信封发送方=(电子邮件保护)/>< /框架:梅勒>> < /容器
    • PHP
      1 2 3 4 5 6 7 8 9
      #配置/包/ mailer.php$容器->loadFromExtension“框架”['邮件'= >['DSN'= >'%env(mailer_dsn)%'“信封”= >[“发送”= >'(电子邮件保护)'),),]);

    配置为使用故障转移或轮循传输||&&实现故障转移或循环传输的字符:

    • YAML
      1 2 3 4 5 6 7 8 9 10
      #配置/包/ indifier.yaml框架通知人chatter_transports.#发送通知到Slack,并使用Telegram#松弛错误主要% env (SLACK_DSN) %||%env(电报_dsn)%'#发送通知以循环计算的下一个计划运输圆润% env (SLACK_DSN) %&&%env(电报_dsn)%'
    • XML.
      1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 19 20 21 21 22 23 24 25 22
      < !——配置/包/ notifier.xml >< ?encoding="UTF-8"<容器xmlns =“http://欧宝娱乐app下载地址www.oldmanjams.com/schema/dic/services”XMLNS:XSI =“http://www.w3.org/2001/XMLSchema-instance”xmlns:框架=“http://欧宝娱乐app下载地址www.oldmanjams.com/schema/dic/symfony”xsi: schemaLocation =“http://欧宝娱乐app下载地址www.oldmanjams.com/schema/dic/serviceshttps://欧宝娱乐app下载地址www.oldmanjams.com/schema/dic/services/services-1.0.xsdhttp://欧宝娱乐app下载地址www.oldmanjams.com/schema/dic/symfonyhttps://欧宝娱乐app下载地址www.oldmanjams.com/schema/dic/symfony/symfony-1.0.xsd”><! - 发送通知以懈怠和使用电报如果松弛的错误- - - ><框架:chatter-transport名称=“松弛”>% env (SLACK_DSN) % | | % env (TELEGRAM_DSN) %<! - 将通知发送到下一个计划的传输按轮循法计算——><框架:chatter-transport名称=“松弛”><![cdata [%env(slack_dsn)%&&%env(telegram_dsn)%]]>< /框架:通知>> < /容器
    • PHP
      12 3 4 5 6 7 8 9 10 11 12 13
      #配置/包/ notifier.php$容器->loadFromExtension“框架”[“通知”= >[“chatter_transports”= >[//向Slack发送通知,并使用Telegram/ /松弛错误“主要”= >' % env (SLACK_DSN) % | | % env (TELEGRAM_DSN) % '//发送通知到下一个按轮循计算的计划传输此“循环”= >' % env (SLACK_DSN) % & & % env (TELEGRAM_DSN) % '),),]);

    创建和发送通知欧宝娱乐app下载地址symfony \ component \ notifier \ notifierinterface(服务ID.通知人)。这个类有发送()允许您发送a的方法欧宝娱乐app下载地址Symfony \组件\通知\ \通知通知到一个欧宝娱乐app下载地址symfony \ component \ notifier \收件人\收件人

    / / src /控制器/ InvoiceController.php命名空间App \控制器;使用欧宝娱乐app下载地址Symfony \组件\通知\ \通知通知;使用欧宝娱乐app下载地址symfony \ component \ notifier \ notifierinterface;使用欧宝娱乐app下载地址symfony \ component \ notifier \收件人\收件人;班级InvoiceController扩展AbstractController{/ * ** @Route(“/发票/创建”)* /公共函数创建Notier接口美元的通知{/ /……//创建必须发送的通知//使用“email”通道美元的通知=通知“新发票”[“电子邮件”)))->内容“你有一张15欧元的新发票。”);//通知的接收者接受美元=收件人$ user->getEmail(),$ user->getphonenuber());//发送通知给收件人美元的通知->发送美元的通知接受美元);/ /……}}

    通知通过使用两个参数创建:主题和通道。通道指定应该使用哪个通道(或传输)发送通知。例如,['电子邮件',“短信”)将发送电子邮件和短信通知给用户。

    默认通知也有一个内容()emoji()设置通知内容和图标的方法。

    欧宝娱乐app下载地址Symfony提供以下收件人:

    欧宝娱乐app下载地址Symfony \组件\通知\ \ NoRecipient
    这是默认值,当不需要获取关于接收方的信息时非常有用。例如,浏览器通道使用当前请求的会话flashbag.;
    欧宝娱乐app下载地址symfony \ component \ notifier \收件人\收件人
    这可以包含用户的电子邮件地址和PhoneNumber。此收件人可用于所有通道(取决于它们是否实际设置)。

    5.2新版功能:AdminRecipient类在Symfony 5.2中被删除,你应该欧宝娱乐app下载地址使用收件人反而。

    配置渠道政策channel_policy.):

    • YAML
      12 3 4 5 6 7 8 9 10 11 12 13 14
      #配置/包/ indifier.yaml框架通知人#...channel_policy.紧急通知时使用短信、Slack和电子邮件紧急的['短信''聊天/松弛'“电子邮件”]对于高度重要的通知使用Slack['聊天/松弛']#使用浏览器进行中型和低通知中等的[“浏览器”][“浏览器”]
    • XML.
      1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 19 20 21 22 21 22 29 29 29 29 29 29 29 29 30
      < !——配置/包/ notifier.xml >< ?encoding="UTF-8"<容器xmlns =“http://欧宝娱乐app下载地址www.oldmanjams.com/schema/dic/services”XMLNS:XSI =“http://www.w3.org/2001/XMLSchema-instance”xmlns:框架=“http://欧宝娱乐app下载地址www.oldmanjams.com/schema/dic/symfony”xsi: schemaLocation =“http://欧宝娱乐app下载地址www.oldmanjams.com/schema/dic/serviceshttps://欧宝娱乐app下载地址www.oldmanjams.com/schema/dic/services/services-1.0.xsdhttp://欧宝娱乐app下载地址www.oldmanjams.com/schema/dic/symfonyhttps://欧宝娱乐app下载地址www.oldmanjams.com/schema/dic/symfony/symfony-1.0.xsd”>< !——……--><框架:channel-policy ><! - 使用短信,松弛和电子邮件紧急通知 - ><框架:紧急>短信< /框架:紧急><框架:紧急>聊天/松弛< /框架:紧急><框架:紧急>电子邮件< /框架:紧急>< !——对高度重要的通知使用Slack——>高> <框架:聊天/松弛> < /框架:高<! - 使用浏览器进行中等和低通知 - ><框架:媒介>浏览器> <框架:低浏览器< /框架:通知>> < /容器
    • PHP
      12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
      #配置/包/ notifier.php$容器->loadFromExtension“框架”[“通知”= >[/ /……'channel_policy'= >[//紧急通知时使用短信、Slack和电子邮件“紧急”= >['短信''聊天/松弛'“电子邮件”),//对高度重要的通知使用Slack“高”= >['聊天/松弛'),//使用浏览器接收中等和低通知“媒介”= >[“浏览器”),“低”= >[“浏览器”),),),]);

    现在,无论何时通知的重要性被设置为“高”,它都会通过Slack传输方式发送:

    自定义通知通知收件人基类自定义其行为。例如,您可以覆盖getchannels()方法只返回短信如果发票价格非常高,收件人有一个电话号码:

    命名空间App \通知;使用欧宝娱乐app下载地址Symfony \组件\通知\ \通知通知;使用欧宝娱乐app下载地址symfony \ component \ notifier \收件人\收件人接口;使用欧宝娱乐app下载地址symfony \ component \ notifier \收件人\ smsrecipient接口;班级InvoiceNotification扩展通知{私人的$!;公共函数__构造$!{这个美元->价格=$!;}公共函数gethannels.RecipientInterface接受美元{如果这个美元->价格>10000&&接受美元instanceof.SmsRecipientInterface{返回['短信'];}返回[“电子邮件”];}}

    这项工作,包括代码样本,是在一个创作共用BY-SA 3.0执照。