Laravel-sluggable,让你的项目 Url 更加友好,根据模型自动生成 slug

前言

最近在一些项目中经常要用到url优化,也就是要生成slug,正好博客也要上这个功能,网上找了些都不是太好用,或者不支持中文,或者比较麻烦,自己之前写过一个生成slug的,但是还需要写一些与model关联的方法,比如修改器,观察器等,索性就整合到一起,方便自己也方便大家吧。

github地址:https://github.com/jourdon/laravel-sluggab... 来一波star吧,

说明

我的博客有很多文章,很多分类,他们的链接是这样的

//文章
http://example.com/post/1
http://example.com/post/2
//分类
http://example.com/category/1
http://example.com/category/2

这看起来非常不友好,我希望将后面的id换成文章的村里或者分类的名称,这样看起来比较友好,从链接就能看出来文章的内容,对搜索引擎也比较友好,像这样:

http://example.com/post/php-is-the-best-language-in-the-world
http://example.com/post/yes-i-think-so
//分类
http://example.com/category/php
http://example.com/category/laravel

你只需要安装本扩展包,你不需要另外做什么,它会自动帮你搞定,可以根据你的Eloquent模型生成相应的slug,让你的url更加的友好。

要求

  • PHP版本: 7.1+
  • laravel版本:5.5+

安装

1、 使用 Composer 安装:

composer require jourdon/sluggable

2、 配置

本扩展包本身不需要配置文件,也无需配置,但本扩展包依赖于 laravel-slug ,所以需要导出laravel-slug 的配置文件,具体请前往 laravel-slug 查看并配置。

3、 添加Slug字段

你的数据表中需要有slug字段,执行下面的命令生成迁移文件,以Post模型为例:

php artisan jourdon:make_slug Post

4、 运行迁移

php artisan migrate

如果你的数据表中已经有slug字段,请忽略 3,4

5、将Eloquent模型的slug加入缓存,注意这里,Laravel默认的Model目录在app下,假如你的Eloquent模型都放在app/models目录下,你需要在Eloquent模型前加上Models/

php artisan jourdon:make_cache Models/Post

使用

还是以Post模型为例,我们需要使用SlugTrait


use Jourdon\Sluggable\Traits\SlugTrait;

class Post extends Model
{
    use SlugTrait;
    .
    .
    .
}

如果你还需要将Category的URL也变得这么漂亮,只需要重复3,4,5即可。

OK. 已经完成了,去看看你的链接吧,

作者: Jourdon
本文地址: https://www.qiehe.net/posts/laravel-slugga...
转载请注明出处!

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
file

本作品采用《CC 协议》,转载必须注明作者和本文链接
Good Good Study , Day Day Up!!
Jourdon
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 2

社会我东哥,人狠话不多

5年前 评论
Jourdon

@Journeyer :joy:

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!