我正在尝试编写我的自定义laravel频道通知,例如:https://laravel.com/docs/5.7/notifications#custom-channels。
我写了这段代码:
AimonChannel.php
class AimonChannel{
public function send($notifiable, Notification $notification)
{
$message = $notification->toAimon($notifiable);
if (is_string($message)) {
$message = new AimonMessage($message);
}
//some code to send sms with curl
}
AimonMessage.php
class AimonMessage
{
public $messaggio = "";
public function messaggio($messaggio){
$this->messaggio = $messaggio;
}
}
SendAimonMessage.php
class SendAimonMessage extends Notification
{
use Queueable;
protected $messaggio;
public function __construct($messaggio)
{
$this->messaggio = $messaggio;
}
public function via($notifiable)
{
return [AimonChannel::class];
}
public function toAimon($notifiable)
{
return (new AimonMessage())
->messaggio($this->messaggio);
}
}
因此,代码:
$user->notify(new SendAimonMessage('my custom message'));
已发送,但没有文本。 问题出在AimonChannel的send()函数中; $ message变量始终为null。 我的代码错误在哪里? 谢谢!
答案 0 :(得分:0)
在messaggio函数中添加返回语句,如下所示:
class AimonMessage {
public $messaggio = "";
public function messaggio($messaggio){
$this->messaggio = $messagio;
return $this;
}
}