欧宝娱乐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——force$NPM运行监视#或用纱线$纱线安装力$纱看
还要确保您拥有至少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