سلام
class EmailVerificationPromptController extends Controller
{
/**
* Display the email verification prompt.
*
* @param \\Illuminate\\Http\\Request $request
* @return mixed
*/
public function __invoke(Request $request)
{
return $request->user()->hasVerifiedEmail()
? redirect()->intended(RouteServiceProvider::HOME)
: view('auth.verify-email');
}
}
کار کلاس بالا اینکه اگه user ما verify نبود ی view برامون بفرسته و چون از مجیک متد invoke استفاده کرده پس باید بتونیم به صورت fanction اجراش کنیم
من اومدم در midlleware مون صداش زدم
public function handle(Request $request, Closure $next)
{
if ($request->user() && !$request->user()->hasVerifiedEmail()) {
$EmailVerificationPromptController = new EmailVerificationPromptController;
return call_user_func($EmailVerificationPromptController);
}
return $next($request);
}
ولی چیزی ک هس میگه argument ما یکی کم داره
Too few arguments to function App\\Http\\Controllers\\Auth\\EmailVerificationPromptController::__invoke(), 0 passed and exactly 1 expected
میشه راهنمایی کنید