流明如何将变量传递给通知
Lumen how to pass variable to notification
我在 lumen 中使用了以下插件:
"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 方法。
我在 lumen 中使用了以下插件:
"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 方法。