欧宝娱乐app下载地址Symfony UX通知

编辑本页

欧宝娱乐app下载地址Symfony UX通知

欧宝娱乐app下载地址Symfony UX Notify是一个集成服务器发送的Symfony包本地通知在Sy欧宝娱乐app下载地址mfony应用程序中使用美居酒店.它是Symf欧宝娱乐app下载地址ony UX计划

安装

在你开始之前,确保你有欧宝娱乐app下载地址在你的应用中配置Symfony UX

然后,使用Composer和Symfony Flex安装这个包:欧宝娱乐app下载地址

1 2 3 4 5 6 7 8 9
作曲家需要symfony/ux-n欧宝娱乐app下载地址otify不要忘记安装JavaScript依赖项并进行编译NPM install——forceNPM运行监视#或用纱线纱线安装力纱看

还要确保您拥有至少3.0的版本@欧宝娱乐app下载地址symfony / stimulus-bridge在你的package.json文件。

使用

要使用Symf欧宝娱乐app下载地址ony UX Notify,必须有一个正在运行的Mercure服务器和一个正确配置的通知器传输:

1 2 3 4 5 6
//配置/包/ notifier.yaml框架:通知:chatter_transports:myMercureChatter:' % env (MERCURE_DSN) %

请注意

类中指定要发送通知的主题MERCURE_DSN的环境变量主题查询参数。否则,通知将被发送到https://欧宝娱乐app下载地址www.oldmanjams.com/notifier的话题。

然后,您可以注入NotifierInterface服务和发送消息聊天/ myMercureChatter渠道:

12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
/ /……使用欧宝娱乐app下载地址组件通知人通知通知使用欧宝娱乐app下载地址组件通知人NotifierInterface# [AsCommand(名称:' app:闪购:宣布'))AnnounceFlashSalesCommand扩展命令公共函数__construct(私人NotifierInterface通知人::__construct ();}受保护的函数执行(InputInterface输入, OutputInterface输出int->通知人->发送(通知(“限时抢购已经开始!”, (“聊天/ myMercureChatter”)));返回0;}}

最后,要在用户浏览器中“监听”并触发通知,请调用stream_notifications ()页面任意位置的树枝函数:

1 2
{{stream_notifications()}}{{stream_notifications([/我/主题/ 1 ',' /我的/主题/ 2 '])}}

请注意

调用stream_notifications ()不带参数将退回到以下唯一的主题:https://欧宝娱乐app下载地址www.oldmanjams.com/notifier

享受您的服务器发送本机通知!

本地通知的示例

扩展刺激控制器

欧宝娱乐app下载地址Symfony UX Notify允许您使用自定义刺激控制器扩展其默认行为:

12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
/ /资产/控制器/ mynotify_controller.js进口{控制器}“@hotwired /刺激”出口默认的扩展控制器{初始化(){//确保"this"指向_onConnect中的该对象._onConnect =._onConnect.bind ();} connect() {.element.addEventListener (通知:连接的._onConnect);} disconnect() {//当控制器断开连接时,应该总是删除监听器以避免副作用.element.removeEventListener (通知:连接的._onConnect);} _onConnect(事件){//事件源已经创建控制台. log (event.detail.eventSources);event.detail.eventSources.forEach (eventSource) = >{eventSource.addEventListener (“消息”, (event) => {控制台. log(事件);//可以在每个事件源上添加自定义行为});});}}

然后在你的渲染调用中,添加你的控制器作为一个HTML属性:

1
{{stream_notifications(options = {'data-controller': 'mynotify'})}}

使用另一个Mercure hub

欧宝娱乐app下载地址Symfony UX Notify可以配置为指定使用的Mercure集线器:

1 2 3 4 5
#配置/包/ notify.yaml通知:#指定要使用的Mercure中心。默认为" mercury .hub.default"mercure_hub:mercure.hub.custom

向后兼容承诺

这个包旨在遵循与Symfony框架相同的向后兼容性承诺:欧宝娱乐app下载地址https://欧宝娱乐app下载地址www.oldmanjams.com/doc/current/contributing/code/bc.html

此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。