alzpk / laraslug

一个易于为 Laravel 模型创建短网址的轻量级包

维护者

详细信息

github.com/alzpk/laraslug

源代码

问题

安装: 2

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 1

分支: 0

开放问题: 0

类型:

1.0.0 2022-04-26 18:29 UTC

This package is auto-updated.

Last update: 2024-09-27 00:15:38 UTC


README

一个轻量级包,使创建 Laravel 模型的短网址变得容易

安装

要安装此包,请在您的 Laravel 项目的内部运行以下 composer 命令。

composer require alzpk/laraslug

使用方法

要使用此包,只需在模型内部使用 Alzpk\Laraslug 即可。

示例

namespace App\Models;

use Alzpk\Laraslug\Laraslug;
use Illuminate\Database\Eloquent\Model;

class Post extends Model
{
    use Laraslug;
}

上述示例假定您的模型至少包含以下列中的每一列

短网址列(应包含短网址值的列名称)

  • slug

短网址值列(包含应进行短网址处理的值的列名称)

  • title
  • name

高级用法

如果您想自定义一个或多个列,并且可能希望短网址前有前缀,您可以在模型中使用以下变量

  • 自定义短网址列:private string $slugColumn
  • 自定义短网址值列:private string $slugValueColumn
  • 给短网址添加前缀:private string $slugPrefix

示例

这里有一个迁移和模型的示例,名为 Post,它具有 subjecturi 列。

public function up()
    {
        Schema::create('posts', function (Blueprint $table) {
            $table->id();
            $table->string('subject');
            $table->string('uri');
            $table->timestamps();
        });
    }

要使短网址现在生效,我们只需将 private string $slugColumnprivate string $slugValueColumn 添加到模型中。

namespace App\Models;

use Alzpk\Laraslug\Laraslug;
use Illuminate\Database\Eloquent\Model;

class Post extends Model
{
    use Laraslug;
    
    private string $slugColumn = 'uri';
    private string $slugValueColumn = 'subject';
}

前缀

如果我们想在短网址中添加前缀,只需将 private string $slugPrefix 添加到我们的模型中。

namespace App\Models;

use Alzpk\Laraslug\Laraslug;
use Illuminate\Database\Eloquent\Model;

class Post extends Model
{
    use Laraslug;
    
    private string $slugPrefix = 'prefix';
}

这将使短网址变成如“prefix-VALUE”这样的格式。