laravel 路由

基本路由 支持HTTP Method 或者正则匹配等,还有就是自定义

支持的Method有:get,post,put,patch,options,delete

Route::get('xxx',xxx);

Route::get('xxx/*',xxx);

Route::post('xxx',function(){ xxxx });

Route::get('/', 'DashBoardController@index');


匹配路由: match, any

ep:

Route::get('user', 'UserController@index');这里是你访问xxx/user 的时候会调用 UserController中的index 方法

在laravel 5 .0 以后 必须把包名放进去 

Route::get('user', 'User\UserController@index');

1.首先最基础的路由

   

Route::get('/',function(){
    return 'hello world';
});
代码解释:
get方式跳转到 /(本地通常为localhost/) 然后调用function,输出‘hello world’


Route::post('/',function(){
    return 'hello world';
});


2.路由绑定控制器

绑定控制器的作用:实现mvc模式的开发

Route::get('user', ‘userController@index()’);
<span style="font-size:14px;">代码解释:</span>
同理跳转<code>user</code>然后调用<code>Controller</code>文件夹下的<code>userController</code>类中的<code>index</code>方法

<p>3.路由使用参数</p><p><pre name="code" class="php">Route::get('user/{name}','userController@index()');
代码解释:
同理此处跳转<code>user/{name}</code>,而<code>{name}</code>的值来自于<code>get</code>得到的参数,比如查看谋个用户时通过<code>user/{name}</code>来获取用户比<code>user/xxxx</code>这种方式来的更为方便

4.路由使用默认参数

当然我们有时候需要设置默认值,可以通过以下方式来设置

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

5.路由使用正则表达式限定参数

限定参数的作用:具体待续

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

Route::get('user/{id}', function($id){
    //
})->where('id', '[0-9]+');
代码解释:
同理此处的 {name}也是一个参数,二后面的 where('','')则是限定条件


6.录用使用数组来限定多个参数

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

<p>7.定义全局模式</p><p>如果希望在全局范围用指定正则表达式限定路由参数,可以使用 pattern 方法:</p><p><pre name="code" class="php">Route::pattern('id', '[0-9]+');
Route::get('user/{id}', function($id){
// Only called if {id} is numeric.
});

8.访问路由参数

Route::filter('foo', function(){
    if (Route::input('id') == 1){
        echo "hello";
    }
});
代码解释:此处<code>‘foo’</code>过滤器将会访问<code>调用此过滤器</code>的参数<code>id</code>
如果<code>id==1</code>则输出"hello";

<span style="font-size:14px;"></span><pre name="code" class="php"><pre name="code" class="php"><pre class="hljs php"><code></code><p name="code" class="php"><h5>定义过滤器</h5></p><p><pre name="code" class="php">Route::filter('old', function(){
    if (Input::get('age') < 200){
    return Redirect::to('home');
}});
代码解释:过滤器名字为old,执行function(),如果得到的age<200那么重定位到home


为路由绑定使用过滤器
过滤器的作用:限制对应用程序中某些功能访问,比如对于需要验证才能访问的功能就非常有用
Route::get('admin/home',
        ['as'=>'admin.home','before'=>'adminFilter',function(){
    echo "hello world"
}])

代码解释:此处跳转admin\home,其中'as'=>'admin.home'是别名。然后在跳转之前会先运行名为adminFilter的过滤器,如果过滤器没有阻止该路由则运行function,否则就不会运行function(),过滤器定义在filters.php文件中,位于routes.php下面。

 
 
 
 

 

 













 




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值