简体   繁体   English

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

[英]Lumen how to pass variable to notification

I'm using the following plugin in my lumen:我在流明中使用以下插件:

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

After tried many example available online, finally I can send out with the following code set:在尝试了许多在线可用的示例后,最后我可以发送以下代码集:

    // 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));

Above is the code in console command and the below is a helper file:上面是控制台命令中的代码,下面是一个帮助文件:

// 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);
    }
}

However, I'm not able to pass the variable from abc.php to TGNotification.php.但是,我无法将变量从 abc.php 传递到 TGNotification.php。 It just don't work if i'm using any example of this plugin available online.如果我使用在线提供的此插件的任何示例,它就不起作用。 Could anyone please advise?任何人都可以请指教吗? Thanks谢谢

send your parameter in the construct method:construct方法中发送您的参数:

class TGNotification extends Notification
{
    protected $tg;

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

or, you can use the setter and getter methods.或者,您可以使用 setter 和 getter 方法。

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

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