vanderb/laravel-sluggable-redirect

创建可修改的历史记录,如果从 Spatie 的 laravel-sluggable 包中创建 slug,并将请求重定向到当前 slug。

0.2 2019-01-22 12:19 UTC

This package is auto-updated.

Last update: 2024-09-21 08:57:01 UTC


README

基于 spatie 的 laravel-sluggable

设置

安装

composer require vanderb/laravel-sluggable-redirect

迁移

运行 php artisan migrate 以迁移 sluggable-redirects 表。

实现特性

SluggableRedirectModel 实现到模型中,其中你实现了 spatie-sluggable。

use Illuminate\Database\Eloquent\Model;
use Spatie\Sluggable\HasSlug;
use Spatie\Sluggable\SlugOptions;

use Vanderb\SluggableRedirect\Traits\SluggableRedirectModel;

class YourModel extends Modal {

    use HasSlug, SluggableRedirectModel;

...

SluggableRedirectHandler 实现到你的控制器中,该控制器处理前端模型

use Vanderb\SluggableRedirect\Traits\SluggableRedirectHandler;

class YourController extends Controlle {

    use SluggableRedirectHandler;
    
}

在需要检查 slug 的地方调用 checkSlug 方法(可能在 show 方法中)

参数

  • $slug = 方法提供的 slug
  • $model = 负责你的 slug 的模型,通过依赖注入实现
  • 回调(在 show 方法中通常执行的操作,例如返回视图等)
public function show($slug, Model $model) {
  return $this->checkSlug($slug, $model, function($event) {
    return view('my-view');
  }
}

注意

请注意,此包处于不稳定状态。有许多方法和函数可以更好地解决。如果您对此有任何建议,请随时创建问题或请求。谢谢。