前提・実現したいこと
jetstreamでログイン機能を実装し、ログイン、ログアウト、ユーザー登録を正常に動作させたい。(Laravel8)
発生している問題・エラーメッセージ
下記サイトを参考にJetstreamを導入しログイン機能を作成後、登録項目を入力し送信すると下記のエラーが発生する。
https://qiita.com/manbolila/items/498aae00f3574c72f031
Illuminate\Contracts\Container\BindingResolutionException Target [Laravel\Fortify\Contracts\CreatesNewUsers] is not instantiable. http://127.0.0.1:8000/register
該当のソースコード
config/add.php
<?php return [ //省略 'providers' => [ //省略 /* * Package Service Providers... */ /* * Application Service Providers... */ App\Providers\AppServiceProvider::class, App\Providers\AuthServiceProvider::class, // App\Providers\BroadcastServiceProvider::class, App\Providers\EventServiceProvider::class, App\Providers\RouteServiceProvider::class, App\Providers\FortifyServiceProvider::class, App\Providers\JetstreamServiceProvider::class,// If using Jetstream ]; //省略 ];
FortifyServiceProvider.php
php
1<?php 2namespace App\Providers; 3use App\Actions\Fortify\CreateNewUser; 4use App\Actions\Fortify\ResetUserPassword; 5use App\Actions\Fortify\UpdateUserPassword; 6use App\Actions\Fortify\UpdateUserProfileInformation; 7use Illuminate\Cache\RateLimiting\Limit; 8use Illuminate\Http\Request; 9use Illuminate\Support\Facades\RateLimiter; 10use Illuminate\Support\ServiceProvider; 11use Laravel\Fortify\Fortify; 12class FortifyServiceProvider extends ServiceProvider 13{ 14 /** 15 * Register any application services. 16 * 17 * @return void 18 */ 19 public function register() 20 { 21 // 22 } 23 /** 24 * Bootstrap any application services. 25 * 26 * @return void 27 */ 28 public function boot() 29 { 30 Fortify::createUsersUsing(CreateNewUser::class); 31 Fortify::updateUserProfileInformationUsing(UpdateUserProfileInformation::class); 32 Fortify::updateUserPasswordsUsing(UpdateUserPassword::class); 33 Fortify::resetUserPasswordsUsing(ResetUserPassword::class); 34 RateLimiter::for('login', function (Request $request) { 35 return Limit::perMinute(5)->by($request->email.$request->ip()); 36 }); 37 RateLimiter::for('two-factor', function (Request $request) { 38 return Limit::perMinute(5)->by($request->session()->get('login.id')); 39 }); 40 } 41 public function registerView() { 42 return view('auth.register'); 43 } 44}
試したこと
参考サイト
https://github.com/laravel/fortify/issues/7
・config/app.phpでサービスプロバイダを登録していることの確認。
App\Providers\FortifyServiceProvider::class, App\Providers\JetstreamServiceProvider::class,
・FortifyServiceProvider.php内、registerView関数で独自のビューを登録。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/24 02:34
2021/03/25 10:49