龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

跟我学Laravel之路由

时间:2014-10-17 11:53来源:网络整理 作者:网络 点击:
分享到:
本文主要介绍了Lavarvel框架的路由的相关概念以及示例,非常的实用,有需要的朋友可以参考下

基本路由

应用中的大多数路都会定义在 app/routes.php 文件中。最简单的Laravel路由由URI和闭包回调函数组成。

基本 GET 路由

复制代码 代码如下:

Route::get('/', function()
{
    return 'Hello World';
});

基本 POST 路由

复制代码 代码如下:

Route::post('foo/bar', function()
{
    return 'Hello World';
});

注册一个可以响应任何HTTP动作的路由

复制代码 代码如下:

Route::any('foo', function()
{
    return 'Hello World';
});

仅支持HTTPS的路由

复制代码 代码如下:

Route::get('foo', array('https', function()
{
    return 'Must be over HTTPS';
}));

实际开发中经常需要根据路由生成 URL,URL::to方法就可以满足此需求:

$url = URL::to('foo');

路由参数

复制代码 代码如下:

Route::get('user/{id}', function($id)
{
    return 'User '.$id;
});

可选路由参数

复制代码 代码如下:

Route::get('user/{name?}', function($name = null)
{
    return $name;
});

带有默认值的可选路由参数

复制代码 代码如下:

Route::get('user/{name?}', function($name = 'John')
{
    return $name;
});

用正则表达式限定的路由参数

复制代码 代码如下:

Route::get('user/{name}', function($name)
{
    //
})
->where('name', '[A-Za-z]+');

Route::get('user/{id}', function($id)
{
    //
})
->where('id', '[0-9]+');

传递参数限定的数组

当然,必要的时候你还可以传递一个包含参数限定的数组作为参数:

复制代码 代码如下:

Route::get('user/{id}/{name}', function($id, $name)
{
    //
})
->where(array('id' => '[0-9]+', 'name' => '[a-z]+'))

定义全局模式

如果希望在全局范围用指定正则表达式限定路由参数,可以使用 pattern 方法:

复制代码 代码如下:

Route::pattern('id', '[0-9]+');

Route::get('user/{id}', function($id)
{
    // Only called if {id} is numeric.
});

访问路由参数

如果想在路由范围外访问路由参数,可以使用 Route::input 方法:

复制代码 代码如下:

Route::filter('foo', function()
{
    if (Route::input('id') == 1)
    {
        //
    }
});

路由过滤器

精彩图集

赞助商链接