Php 如何有效地覆盖Laravel';生成的身份验证路由?
我有两个申请,工作申请的路由文件如下: routes.phpPhp 如何有效地覆盖Laravel';生成的身份验证路由?,php,angularjs,laravel,laravel-5.2,Php,Angularjs,Laravel,Laravel 5.2,我有两个申请,工作申请的路由文件如下: routes.php <?php Route::auth(); Route::group(["prefix" => "api"], function() { Route::resource("places", "PlacesController"); Route::resource("users", "UsersController"); Route::group(["prefix" => "auth"], f
<?php
Route::auth();
Route::group(["prefix" => "api"], function() {
Route::resource("places", "PlacesController");
Route::resource("users", "UsersController");
Route::group(["prefix" => "auth"], function() {
Route::get("/", "AuthController@GetAuth");
Route::get("logout", 'Auth\AuthController@logout');
});
});
Route::get('/', 'RedirectController@toAngular');
如果要覆盖/登录和/注册,只需在声明路由::auth()后添加这两个路由,如下所示:
Route::get('login', ['as' => 'auth.login', 'uses' => 'Auth\AuthController@showLoginForm']);
Route::get('register', ['as' => 'auth.register', 'uses' => 'Auth\AuthController@showRegistrationForm']);
由于应用程序找不到“login.blade.php”,它实际上是从controller方法返回的,而不是在routes中,因此您需要重写AuthController中的showloginfo方法,并返回要加载的视图
public function showLoginForm() {
return view('path.to.your.view');
}
难道你不能删除Route::auth();?或者在使用匹配的第一条路由之前定义自己的路由。正确的,只是不要使用route::auth()并自己定义它们,就像route::auth()所做的那样,只是注册一些简单的路由。我以前就是这样做的。我只是觉得那不是最好的办法。但是好的,谢谢!删除路由::auth();定义你自己的路线。我喜欢这种答案。。。问:我该怎么做?答:不要做这个,做那个。感谢@Sovon指出如何实际覆盖最初由route::auth()
定义的路由:在auth路由之后再次定义它。感谢您的回答,它实际上是对问题的回答,而不是像那些“不要这样做,做那个”。我试图覆盖注册路由,禁用它,但之前定义过它,认为Laravel不会定义已经存在的路由。因为它实际上是这样的,所以必须在route::auth()
之后重写路由。我投票感谢你。