我正在使用 Laravel Fortify 来注册我的用户。 我有多种用户。
下面是访问注册控制器的代码:
Route::post(
RoutePath::for('register', '/register'),
[RegisteredUserController::class, 'store']
)->middleware(['auth.already:'.config('fortify.guard')]);
现在,如果我们检查控制器,这就是我们所拥有的:
public function store(Request $request, CreatesNewUsers $creator): RegisterResponse
{
if (config('fortify.lowercase_usernames')) {
$request->merge([
Fortify::username() => Str::lower($request->{Fortify::username()}),
]);
}
event(new Registered($user = $creator->create($request->all())));
$this->guard->login($user);
return app(RegisterResponse::class);
}
我想了解如何更改
$creator
参数的值才能通过我自己的课程。
我无法在 Laravel / Laravel Fortify 文档中找到任何帮助。
namespace App\Services;
use Laravel\Fortify\Contracts\CreatesNewUsers;
class YourCustomCreateUser implements CreatesNewUsers
{
public function create(array $input)
{
// Your custom logic for creating a new user
}
}
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use App\Services\YourCustomCreateUser;
class AppServiceProvider extends ServiceProvider
{
public function register()
{
$this->app->bind(CreatesNewUsers::class, YourCustomCreateUser::class);
}
}