我有一个路由器注册器,但我发现错误
目标 [Laravel\Fortify\Contracts\RegisterViewResponse] 不可实例化。
您需要在
config/app.php
文件中注册强化服务提供商
添加这个
App\Providers\FortifyServiceProvider::class,
至应用程序服务提供商下的
config/app.php
。
更新: 将身份验证视图的位置指向 Fortify 也很重要。
注册视图的一个示例是:
// auth.register => means your register.blade is located in `view/auth/`
// folder. (All things being equal)
Fortify::registerView(function () {
return view('auth.register');
});
您必须在 FortifyServiceProvider.php 的 boot 方法中添加所有这些。 然后导入所有需要的类
Fortify::loginView(function(){
return view('auth.login');
});
Fortify::authenticateUsing(function(Request $request){
$user = User::where('email',$request->email)->first();
if($user && Hash::check($request->password,$user->password)){
return $user;
}
});
Fortify::registerView(function(){
return view('auth.register');
});
之后您需要创建 register 和 login 视图
验证以下提供程序是否已在
config.app
部分的 providers
文件中注册
App\Providers\FortifyServiceProvider::class,
App\Providers\JetstreamServiceProvider::class, // If using Jetstream
取消注释
App\Providers\FortifyServiceProvider.php
文件中的以下行
Fortify::createUsersUsing(CreateNewUser::class);
在 app/providers/FortifyServiceProvider.php 上创建 registerView 函数
Fortify::registerView(function () {
return view('auth.register');
});
除了Joseph Ajibodu的答案之外,在
FortifyServiceProvider
的启动方法中添加以下内容:
Fortify::loginView(function () {
return view('auth.login');
});
Fortify::registerView(function () {
return view('auth.register');
});
Fortify::requestPasswordResetLinkView(function () {
return view('auth.forgot-password');
});
Fortify::resetPasswordView(function () {
return view('auth.reset-password');
});
Fortify::registerView(function () { 返回视图('auth.register');
将此代码放入您的 45 个服务提供商文件夹中的 book 方法下
说明: 照亮\合同\容器\BindingResolutionException 目标 [Laravel\Fortify\Contracts\LoginViewResponse] 不可实例化。
重现步骤: Manjaro Linux 20.2.1
1.新建一个Laravel项目
2.cd到项目中,然后composer require laravel/fortify
3.php artisan 供应商:发布 --provider="Laravel\Fortify\FortifyServiceProvider"
4.添加 App\Providers\FortifyServiceProvider::class 到配置 pp.php
5.php 工匠迁移
6.在resources iews中创建一个auth文件夹,然后在文件夹中添加一个login.blade.php
7.在routes\web.php中,在欢迎页面的路由中添加中间件('auth')
8.php 工匠服务
您需要添加
Fortify::loginView(fn () => view('auth.login')); 到FortifyServiceProvider的启动方法。
请参阅有关身份验证的文档