一、常用路由动作
语法
Route::get($uri, $callback);Route::post($uri, $callback);Route::put($uri, $callback);Route::patch($uri, $callback);Route::delete($uri, $callback);Route::options($uri, $callback);
常用路由办法

Route::post('/', function () { return view('welcome'); }); Route::get('/', function () { return view('welcome'); });Route::delete('/', function () { return view('welcome'); });......或者直接要求掌握器Route::post('/', 'WelcomeController@index');Route::get('/', 'WelcomeController@index');Route::delete('/', 'WelcomeController@index');
任何要求办法匹配
Route::any(['get', 'post'], '/', function () { return view('welcome'); });Route::any(['get', 'post'], '/', 'WelcomeController@index');
白名单数组匹配match组合
Route::match(['get', 'post'], '/', function () { return view('welcome'); });Route::match(['get', 'post'],'/', 'WelcomeController@index');
重定向路由
Route::redirect('/here', '/404', 404);
二、参数路由
Route::get('user/{id?}', function ($id = 1) { return "用户ID: " . $id;});
正则办法的参数路由
Route::get('page/{id}', function ($id) { return '页面ID: ' . $id;})->where('id', '[0-9]+');Route::get('page/{name}', function ($name) { return '页面名称: ' . $name;})->where('name', '[A-Za-z]+');Route::get('page/{id}/{slug}', function ($id, $slug) { return $id . ':' . $slug;})->where(['id' => '[0-9]+', 'slug' => '[A-Za-z]+']);
三、路由别名(以user.profile进行访问)
Route::get('user/{id?}', function ($id = 1) { return "用户ID: " . $id;})->name('user.profile');// 访问办法:<a href="{{ route('user.profile', ['id' => 100]) }}">
四、路由分组
Route::group([], function () { Route::get('hello', function () { return 'Hello'; }); Route::get('world', function () { return 'World'; }); });
五、路由分组、中间件(2中办法-一样平常利用第二种)
Route::middleware('auth:api')->group(function () { Route::get('dashboard', function () { return view('dashboard'); }); Route::get('account', function () { return view('account'); });});
或者
Route::group(['middleware' => 'auth:api'], function () { Route::get('dashboard', function () { return view('dashboard'); }); Route::get('account', function () { return view('account'); }); });
六、路由路径前缀
Route::prefix('api')->group(function () { Route::get('/', function () { // 处理 /api 路由 })->name('api.index'); Route::get('users', function () { // 处理 /api/users 路由 })->name('api.users');});
七、路由子域名
Route::domain('{account}.blog.test')->group(function (){ Route::get('/', function ($account) { //TODO }); Route::get('user/{id}', function ($account, $id) { //TODO });});
八、路由命名空间
Route::namespace('Admin')->group(function() { // App\Http\Controllers\Admin\AdminController Route::get('/admin', 'AdminController@index');});
路由命名空间、前缀、分组、参数、别名组合
// 路由命名+路径前缀Route::name('user.')->prefix('user')->group(function () { Route::get('{id?}', function ($id = 1) { // 处理 /user/{id} 路由,路由命名为 user.show return route('user.show'); })->name('show'); Route::get('posts', function () { // 处理 /user/posts 路由,路由命名为 user.posts })->name('posts');});
九、访问当前路由
$route = Route::current();$name = Route::currentRouteName();$action = Route::currentRouteAction();
十、打消路由缓存
php artisan route:cache
十一、删除路由缓存
php artisan route:clear
通过以上的学习总结,我们已经学会了Laravel的路由定义、访问办法,而且路由非常的方便,对付新手来说,学习起来非常的方便,也非常随意马虎学会。
更多内容请关注"大众号(Laravel技能社区),带你走进干货的天下。