Два аргумента, переданных конструктору функции publi c PHP - PullRequest
0 голосов
/ 03 февраля 2020

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 .

...