【发布时间】:2021-05-01 21:22:09
【问题描述】:
我的 SSH 服务提供商加载视图并将其别名为 ssh。
public function boot()
{
...
$this->loadViewsFrom(__DIR__ . '/../Resources/views', 'ssh');
...
}
在我的Mail 目录中,我有一个用于调试目的的测试邮件,因为我的服务提供商也有一个正在运行的调度程序,我想在它执行后发送电子邮件。它看起来像这样:
class DockerTest extends Mailable
{
use Queueable, SerializesModels;
private User $user;
private Vps $vps;
public function __construct(User $user, Vps $vps)
{
$this->user = $user;
$this->vps = $vps;
}
public function build()
{
return $this->view('ssh:mail.test', [
'user' => $this->user,
'vps' => $this->vps
]);
}
}
但是,当我尝试在php artisan tinker 中测试此电子邮件时,如下所示:
Mail::to('foo@bar.com')->send(new DockerTest(($vps = Vps::find(1)), $vps->user))
我遇到了一个异常
InvalidArgumentException 带有消息“未找到查看 [ssh:mail.test]。”
我在我的服务提供商的boot 函数中加载我的路线:
require_once __DIR__ . '/../Http/routes.php';
当我在该文件夹中执行此操作时:
Route::get('/test', function() { return view('ssh:mail.test', [($vps = Vps::find(1)), $vps->user]); });
它工作得很好吗?有任何想法吗?我正在将它作为一个包进行开发,我的目录布局如下所示:
app
boostrap
...
packages
MyPackage
Ssh
src
Providers
SshServiceProvider.php
Http
Routes.php
Resources
views
mail
test.blade.php
Mail
DockerTest.php
database
migrations
...
...
vendor
...
【问题讨论】: