laravel 正则表达式

前端之家收集整理的这篇文章主要介绍了laravel 正则表达式前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
  1. 当路由文件中 ->where() 参数匹配模式不容易维护时,可以试试定义全局正则表达式 Pattern。

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

猜你在找的正则表达式相关文章