mailService. 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'] ]);
}
}
clientService. 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 Framework 5.3
и PHP 7.2
, и этот пример кода был взят из Sendgrid docs .