Laravel-sluggable,讓你的專案 Url 更加友好,根據模型自動生成 slug

Jourdon發表於2018-08-31

前言

最近在一些專案中經常要用到url優化,也就是要生成slug,正好部落格也要上這個功能,網上找了些都不是太好用,或者不支援中文,或者比較麻煩,自己之前寫過一個生成slug的,但是還需要寫一些與model關聯的方法,比如修改器,觀察器等,索性就整合到一起,方便自己也方便大家吧。

github地址:https://github.com/jourdon/laravel-sluggable 來一波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-sluggable-make-your-project-url-more-friendly-automatically-generate-slug-according-to-the-model
轉載請註明出處!

如果覺得我的文章對您有用,請隨意打賞。您的支援將鼓勵我繼續創作!
file

Good Good Study , Day Day Up!!

相關文章