3分钟短文:Laravel slug,让你的url地址更“好记”

本文介绍了如何在 Laravel 中利用 slug 构建更友好的 URL 路由。通过引入 eloquent-sluggable 库,可以将模型的 name 字段转换为 slug 字段,并在数据库中添加相应字段。接着,文章展示了如何修改模型查询,使其基于 slug 字段而不是 ID 查询,从而提供基于字符串的路由。这种方式提高了 URL 的可读性,有利于 SEO 和用户体验。
摘要由CSDN通过智能技术生成

引言

网络资源访问,路由是多么重要不消多言了。而友好的url地址更是能让人一目了然,增加用户的好感。同时对于爬虫也是好的示例,搜索引擎可以友好地展开工作了。

img

本文就来讲讲,如何在laravel中构造友好的url路由。

啥是slug?

在早期的互联网时代,为了在页面之间传递数据,复杂的交互一般都会使用cookie等本地缓存,但是浏览器版本的约束,使得服务器端交互仍然需要即时访问。所以各种各样的url地址,带参数跳转的,表单提交的,混为一谈,制作出符合统一规范的路由很不容易。

比如下面的路由,访问一个地址,并且携带querystring参数:

http://example.com/events.php?id=42

相应地,不同的用户,这个id也不相同。不同的页面,也不相同。像这样带参传递的路由地址,是最为原始的。我们在之前的章节已经使用laravel Route功能,重新构造了url,所以访问起来像是连贯的:

http://example.com/events/42

直接使用位置参数绑定的方式传递。因为数字42对用户而言没有实际意义,而对数据库来说是索引字段。如果使用如下方式,效果要友好的多:

http://example.com/events/laravel-hacking-and-coffee

这种基于字符串位置参数绑定的URL方式,被称为 slug。有一个第三方类库专门用于url的友好化。使用 composer 安装:

composer require cviebrock/eloquent-sluggable:^4.3

模型引入 Slug 功能

引入 eloquent-sluggable 类库,只需要在laravel模型文件内引入对应trait,并重载实现sluggable方法:

use Cviebrock\EloquentSluggable\Sluggable;
class Event extends Model {
   
    use Sluggable;
    public function sluggable()
  
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值