我是laravel的新手,我目前正在构建一个多语言应用程序。我正在使用laravels运送方法实现密码重置。在ResetsPasswords trait中查看此方法后:
protected function getEmailSubject()
{
return isset($this->subject) ? $this->subject : 'Your Password Reset Link';
}
我注意到我可以在PasswordController中为我的主题指定一个变量,如下所示:
protected $ subject ='密码重置';
如何从语言文件中获取此值并将其分配给变量?
答案 0 :(得分:1)
在构造函数中使用trans()辅助函数
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\ResetsPasswords;
class PasswordController extends Controller
{
use ResetsPasswords;
/**
* Create a new password controller instance.
*
* @return void
*/
public function __construct()
{
$this->subject = trans('passwords.subject');
$this->middleware($this->guestMiddleware());
}
}
答案 1 :(得分:0)
在做了一些挖掘后,我找到了答案,如下所示。
protected function getEmailSubject(){
return Lang::has('passwords.password_reset')
? Lang::get('passwords.password_reset')
: 'Your Password Reset Link.';
}
使用方法覆盖,我覆盖了ResetsPasswords特征中的getEmailSubject方法,并提供了必要的实现,如电子邮件正文中所示。 passwords.password_reset是我语言文件中文本的键。