Laravel检索可邮寄视图名称



我正在尝试检索数据,如视图标记名称(不呈现视图例:app/Mail目录中每个可邮寄类的emails.user.welcome

无功转储UserWelcome可邮寄类:

Route::get('rendermail', function() {
$email = ( new AppMailUserWelcome() );
return dd($email);
});

无功转储输出

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: []

routes/web.php

$return = [];
$files = scandir("./Mail");
foreach ($files as $key => $value) {
$fullFileName = explode(".", $value);
if ($fullFileName[1] === "php") {
$fileName = $fullFileName[0];
$className = "AppMail". $fileName ."()";
array_push($return, (new $className)->returnArray());
}
}
return $return;

在所有MailableClasses 中添加returnArray方法

<?php
namespace AppMail;
use IlluminateBusQueueable;
use IlluminateMailMailable;
use IlluminateQueueSerializesModels;
use IlluminateContractsQueueShouldQueue;
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];
}
}

最新更新