2

我为 Laravel 安装了 Mailgun。然后我尝试运行该示例

$data = [];
Mailgun::send('emails.welcome', $data, function($message)
{
    $message->to('foo@example.com', 'John Smith')->subject('Welcome!');
});

但我收到以下错误:

"Argument 1 passed to Bogardo\\Mailgun\\Mailgun::__construct() must be an instance of Illuminate\\View\\Environment, instance of Illuminate\\View\\Factory given, called in /Users/koushatalebian/CLG/CL2G/app/vendor/bogardo/mailgun/src/Bogardo/Mailgun/MailgunServiceProvider.php on line 33 and defined"

到底是怎么回事?

4

1 回答 1

1

如果您使用的是 Laravel 4.2,请Illuminate\View\Factory使用Illuminate\View\Environment.

Bogardo 邮枪包指向错误的文件。

/Users/koushatalebian/CLG/CL2G/app/vendor/bogardo/mailgun/src/Bogardo/Mailgun/MailgunServiceProvider.php
视图/分页环境重命名

如果您直接引用 Illuminate\View\Environment 类或
Illuminate\Pagination\Environment 类,更新您的代码以引用 Illuminate\View\Factory 和
Illuminate\Pagination\Factory 代替。这两个类已重命名以更好地反映它们的
功能。

编辑:

您可以通过编辑以下文件来使用正确的类:

vendor/bogardo/mailgun/src/Bogardo/Mailgun/Mailgun.php

在第 5 行:

删除use Illuminate\View\Environment;和使用use Illuminate\View\Factory;

在第 53 行:

消除

公共函数__construct(环境$views)
{
    $this->views = $views;
}

利用

公共函数__construct(工厂$views)
{
    $this->views = $views;
}

希望这会解决。

于 2014-07-04T00:56:19.827 回答