alzpk / laraslug
一个易于为 Laravel 模型创建短网址的轻量级包
1.0.0
2022-04-26 18:29 UTC
Requires
- php: ^7.3|^8.0
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
,它具有 subject
和 uri
列。
public function up() { Schema::create('posts', function (Blueprint $table) { $table->id(); $table->string('subject'); $table->string('uri'); $table->timestamps(); }); }
要使短网址现在生效,我们只需将 private string $slugColumn
和 private 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”这样的格式。