加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

laravel 正则表达式

发布时间:2020-12-14 01:11:38 所属栏目:百科 来源:网络整理
导读:当路由文件中 -where() 参数匹配模式不容易维护时,可以试试定义全局正则表达式 Pattern。 // 我们通常这样写Route::get('users/{id}','UserController@getProfile')-where('id','[d+]+');Route::get('products/{id}','ProductController@getProfile')-wher
  1. 当路由文件中 ->where() 参数匹配模式不容易维护时,可以试试定义全局正则表达式 Pattern。

    // 我们通常这样写
    Route::get('users/{id}','UserController@getProfile')->where('id','[d+]+');
    Route::get('products/{id}','ProductController@getProfile')->where('id','[d+]+');
    Route::get('articles/{slug}','ArticleController@getFull')->where('slug','[a-z0-9-]+');
    Route::get('faq/{slug}','FaqController@getQuestion')->where('slug','[a-z0-9-]+');
    // 
    
    // 其实,我们可以先定义一些匹配模式,就可以多次调用,维护起来很方便:
    // 参数条件
    Route::pattern('id','d+');
    Route::pattern('hash','[a-z0-9]+');
    Route::pattern('hex','[a-f0-9]+');
    Route::pattern('uuid','[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}');
    Route::pattern('base','[a-zA-Z0-9]+');
    Route::pattern('slug','[a-z0-9-]+');
    Route::pattern('username','[a-z0-9_-]{3,16}');
    // 还可以定义更多,比如邮箱、密码等。
    
    Route::get('users/{id}','UserController@getProfile');
    Route::get('products/{id}','ProductController@getProfile');
    Route::get('articles/{slug}','ArticleController@getFull');
    Route::get('faq/{slug}','FaqController@getQuestion');
     
       
    转:http://laravel.lapland.name/post/104120060070/routing-patterns

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读