什么是路由?
路由其实就是URL规则,是浏览器里用
来发http请求的指令,很多api的功能实际
上就是通过URL来发送请求的。
基本 GET 路由
Route::get('/', function()
{
return 'Hello World';
});
其他基础路由
Route::post('foo/bar', function()
{
return 'Hello World';
});
Route::put('foo/bar', function()
{
//
});
Route::delete('foo/bar', function()
{
//
});
为多种请求注册路由
Route::match(['get', 'post'], '/', function()
{
return 'Hello World';
});
注册路由响应所有 HTTP 请求
Route::any('foo', function()
{
return 'Hello World';
});
通常情况下,您将会需要为您的路由产生 URL,您可以使用 url 辅助函数来操作:
$url = url('foo');
基础路由参数
Route::get('/hello/{id}',function($id)
{
return "你好,$id";
});
可选择的路由参数
Route::get('/hello/{id?}',function($id=null)
{
return "你好,$id";
});
带默认值的路由参数
Route::get('/hello/{id?}',function($id='魏刀刀')
{
return "你好,$id";
});
" ? " 问好在正则表达式中的意思是0次或1次
路由过滤器
过滤器与路由的生命请求周期有很大关系,几乎所有应用都会或多或少用到过滤器。它的主要作用就是在请求和响应发生的前后设置各种条件和任务。
Route::get('/hello/{id?}',function($id='魏刀刀')
{
return "你好,$id";
})->before('login');
Route::filter('login',function()
{
if(Session::get('loginUserId',0)==0){
return "请登录到www.baidu.com";
}
});
路由命名
命名路由让你更方便于产生 URL 与重定向特定路由。您可以用 as 的数组键值指定名称给路由,即第二个参数传数组。
Route::get('/hello/{username?}',array('as'=>'user_home',function($name='魏刀刀')
{
return "你好,$name";
}));
生成一条用户链接:
Route::get('/user/detail/{id}',function($userid)
{
return "用户ID:$userid.<br/>用户名:小明<br/>.用户主页:".route('user_home',array('username'=>'小明'));
});
访问:
这即是命名路由的主要用法,用route函数传名称,传url ->/hello/{username?}需要的参数,然后生成url。
在浏览器输入:http://localhost/helloworld/public/hello/%E5%B0%8F%E6%98%8E 即可看到: