邮件服务.php
<?php
namespace App\Http\Services;
use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Queue\ShouldQueue;
class mailService extends Mailable
{
use Queueable, SerializesModels;
/**
* The data instance.
*
* @param $data
*/
public $data;
/**
* Create a new message instance.
*
* @return void
*/
public function __construct($data)
{
$this->data = $data;
}
public function build()
{
$address = 'janeexampexample@example.com';
$subject = 'This is a demo!';
$name = 'Jane Doe';
return $this->view('emails.test')
->from($address, $name)
->cc($address, $name)
->bcc($address, $name)
->replyTo($address, $name)
->subject($subject)
->with([ 'test_message' => $this->data['message'] ]);
}
}
客户端服务.php
use App\Http\Services\mailService as EmailService;
/**
* @param $clientId
* @param $comp_id
*
* @return \App\Http\Models\clients|\Illuminate\Database\Eloquent\Model
*/
public function getClient($clientId, $comp_id)
{
$data = ['message' => 'This is a test!'];
Mail::to('test@test.com')->send(new EmailService($data));
return $this->clientsRepository->getClient($clientId, $comp_id);
}
当我将参数传递$data
给一个新实例时,EmailService
我收到一条错误消息
传递给构造函数的参数太少
但我不明白为什么如果我通过$data
了clientService
,请提前感谢您的帮助。
我正在使用 Lumen Framework5.3
和 PHP 7.2
,此代码示例取自Sendgrid docs。