繁体   English   中英

流明如何将变量传递给通知

[英]Lumen how to pass variable to notification

我在流明中使用以下插件:

"illuminate/notifications": "^8.11",    
"laravel-notification-channels/telegram": "^0.5.0",

在尝试了许多在线可用的示例后,最后我可以发送以下代码集:

    // App/Console/Command/abc.php
    namespace App\Console\Commands;
    
    use NotificationChannels\Telegram\TelegramChannel;
    use NotificationChannels\Telegram\TelegramMessage;
    use Illuminate\Support\Facades\Notification;
    use App\Helpers\TGNotification;
    
     Notification::route(TelegramChannel::class, '-123456')
                                ->notify(new TGNotification($tg));

上面是控制台命令中的代码,下面是一个帮助文件:

// App/Helpers/TGNotification.php
namespace App\Helpers;

use NotificationChannels\Telegram\TelegramChannel;
use NotificationChannels\Telegram\TelegramMessage;
use Illuminate\Notifications\Notification;

class TGNotification extends Notification
{
    public function via($notifiable)
    {
        return [TelegramChannel::class];
    }

    public function toTelegram($notifiable)
    {
        $url = "http://www.google.com";
        return TelegramMessage::create()
            // Optional recipient user id.
            // ->to($notifiable->telegram_user_id)
            ->to("-123456")
            // Markdown supported.
            ->content($notifiable->msg)
            
            // (Optional) Blade template for the content.
            // ->view('notification', ['url' => $url])
            
            // (Optional) Inline Buttons
            ->button('Hello', $url)
            ->button('World', $url);
    }
}

但是,我无法将变量从 abc.php 传递到 TGNotification.php。 如果我使用在线提供的此插件的任何示例,它就不起作用。 任何人都可以请指教吗? 谢谢

construct方法中发送您的参数:

class TGNotification extends Notification
{
    protected $tg;

    public function __construct($tg)
    {
        $this->tg = $tg;
    }
}

或者,您可以使用 setter 和 getter 方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM