路由中的参数的正则表达式

0
视频
0
完成
0%
进度
0
分钟
0
完成
0%
进度

再试一下输入一个字符串 ... movie/fargo ... 你会发现,页面上同样会显示出这个字符串 ...

如果你只想让这个 movie_id 参数是数字类型的 ... 或者字符类型 ... 或者匹配某种特定的模式 ... 我们可以使用正则表达式去设计这个模式 ...

回到 routes.php ... 在这个带参数的 route 后面 ... 使用一个 where 方法 ... 它的第一个参数是路由里的参数的名称 ... 这里就是 movie_id ..

第二个参数是一个正则表示式 .. 如果想让 movie_id 只能是数字的话,这个表达式可以这样写 ... 一组方框号 ... [0-9]+ ... 它的意思就是,movie_id 可以是 0-9 之间的任意数字 ... 并且可以是多少数字 ...

保存 .. 回到浏览器

输入 movie/22 ... 回车 ... 没有问题 ... movie/1280 ... 也可以 ... 只要是数字都是可以的 ...

再试一下字符串 ... movie/fargo ... 这回,会显示错误了 ... 因为在我们设计的这个路由里面, movie斜线后面这部分 ... 只能使用数字 ...

再回去修改一下 ... 这里改成小写的字母 a 到 z ... 保存 ...

回到浏览器 .. movie 斜线 235 ... 提示错误 ... 因为我们只允许这部分内容是小写的 a 到 z 这些字母 ...

输入 movie/fargo .... 这回是可以的 ... 你可以使用正则表达式设计出任何你想要的模式 ...

Route::get('movie/{movie_id}', function($movie_id)
{
return '电影:' . $movie_id;
})
->where('movie_id', '[a-z]+');

路由中的参数的正则表达式《 Laravel 4 基础 》

统计

14696
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点