在学习一个框架的时候,搞清楚路由是重中之重,不然在浏览器怎么访问开发的页面都不知道
laravel里路由的关联:
这里介绍些学习到的路由!
路由重定向
//重定向 Route::redirect('/here', '/there', 301);
访问:http://wx.dmtnewton/here
结果:http://wx.dmtnewton/there (页面自动跳转)
路由视图
#file path: Laravel/routes/web.php //页面展示:Laravel/resources/views/welcome.blade.php 模板的内容 //将路由参数 name 赋值到 模板变量 name Route::get('/user/{name}', function ($name = 'newton') { return view('welcome', ['name' => $name]); });
<!-- file path: Laravel/resources/views/welcome.blade.php --> <!doctype html> <html lang="{{ app()->getLocale() }}"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Laravel</title> <!-- Fonts --> <link href="https://fonts.googleapis.com/css?family=Raleway:100,600" rel="stylesheet" type="text/css"> </head> <body> <h3>{{ $name }}</h3> <!-- 这里就是PHP中示例的变量 --> <div class="flex-center position-ref full-height"> @if (Route::has('login')) <div class="top-right links"> @auth <a href="{{ url('/home') }}">Home</a> @else <a href="{{ route('login') }}">Login</a> <a href="{{ route('register') }}">Register</a> @endauth </div> @endif <div class="content"> <div class="title m-b-md"> Laravel </div> </div> </div> </body> </html>
访问:http://wx.dmtnewton/user/welcome
结果:
路由参数-正则约束
Route::get('/user/{id}/_/{type}', function($id, $type){ return "ID: {$id}, TYPE: {$type}"; })->where(['id' => '\d+', 'type' => '[\w]+']);
访问:http://wx.dmtnewton.com/user/123/_/English
结果:ID: 123, TYPE: English
访问:http://wx.dmtnewton.com/user/ddd/_/English
结果:(Laravel默认提示)
Sorry, the page you are looking for could not be found.
命名路由
//命名路由 Route::get('user/profile', function(){ return 'URL: ' . route('profile'); })->name('profile');
访问:http://wx.dmtnewton.com/user/profile
结果:URL: http://wx.dmtnewton.com/user/profile
//命名传参路由 Route::get('user/{id}/prof', function ($id = 0){ $url = route('prof', ['id' => $id]); return $url; })->name('prof');
访问:http://wx.dmtnewton.com/user/123/prof
结果:http://wx.dmtnewton.com/user/123/prof
路由前缀
Route::prefix('admin')->group(function(){ Route::get('menu', function(){ return 'The Url is belong of Admin. '; }); });
访问:http://wx.dmtnewton.com/admin/menu
结果:The Url is belong of Admin.
子域名路由
Route::domain('{account}.dmtnewton.com')->group(function(){ Route::get('user_/{id}', function($account, $id){ return "There is {$account} page of user {$id}"; }); });
访问:http://wx.dmtnewton.com/user_/2
结果:There is wx page of user 2
重定向到命名路由
//重定向到命名的路由 Route::get('redirect', function(){ //生成重定向 return redirect()->route('profile'); });
访问:http://wx.dmtnewton.com/redirect
结果:http://wx.dmtnewton.com/user/profile
默认参数
//页面访问时,如果没有参数,添加默认 Route::get('/{age?}', function ($age = 18) { return "Age: {$age}"; });
访问:http://wx.dmtnewton.com/
结果:Age: 18
以上就是“laravel路由原理分析简介”的详细内容,想要了解更多laravel教程欢迎关注编程学习网
扫码二维码 获取免费视频学习资料
- 本文固定链接: http://www.phpxs.com/post/8406/
- 转载请注明:转载必须在正文中标注并保留原文链接
- 扫码: 扫上方二维码获取免费视频资料