Laravel получить имя почтового представления - PullRequest
0 голосов
/ 26 ноября 2018

Я пытаюсь получить данные, такие как представление и уценка имена ( не рендеринг вида ) пример: emails.user.welcome длякаждый почтовый класс в каталоге app/Mail.

Var dump UserWelcome почтовый класс:

Route::get('rendermail', function() {

     $email = ( new App\Mail\UserWelcome() );

     return dd($email);

});

Var dump output

UserWelcome {#441 ▼
  +locale: null
  +from: []
  +to: []
  +cc: []
  +bcc: []
  +replyTo: []
  +subject: null
  #markdown: null
  #html: null
  +view: null
  +textView: null
  +viewData: []
  +attachments: []
  +rawAttachments: []
  +callbacks: []
  +connection: null
  +queue: null
  +chainConnection: null
  +chainQueue: null
  +delay: null
  +chained: []

1 Ответ

0 голосов
/ 26 ноября 2018

routs / web.php

$return = [];
$files = scandir("./Mail");
foreach ($files as $key => $value) {
    $fullFileName = explode(".", $value);
    if ($fullFileName[1] === "php") {
        $fileName = $fullFileName[0];
        $className = "App\Mail\". $fileName ."()";

        array_push($return, (new $className)->returnArray());
    }
}
return $return;

Добавить метод returnArray во все MailableClasses

<?php

namespace App\Mail;

use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Queue\ShouldQueue;

class testMail extends Mailable
{
    use Queueable, SerializesModels;

    /**
     * Create a new message instance.
     *
     * @return void
     */
    public function __construct()
    {
        $this->form = "Test";
        $this->view = "home";
        $this->subject = "home";
    }

    /**
     * Build the message.
     *
     * @return $this
     */
    public function build()
    {
        return $this;
    }

    /**
     * Build the message.
     *
     * @return $this
     */
    public function returnArray()
    {
        return [$this->view];
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...