1. Go to this page and download the library: Download kaveraa/slug-history library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
kaveraa / slug-history example snippets
#[KeepOldSlugs]
class Article extends Model
{
use HasSlugHistory;
}
use Kaveraa\SlugHistory\Attribute\KeepOldSlugs;
use Kaveraa\SlugHistory\Laravel\Concerns\HasSlugHistory;
#[KeepOldSlugs]
class Article extends Model
{
use HasSlugHistory;
}
#[KeepOldSlugs(property: 'permalink')]
use Kaveraa\SlugHistory\Attribute\KeepOldSlugs;
#[ORM\Entity]
#[KeepOldSlugs]
class Article
{
#[ORM\Column(length: 191, unique: true)]
private string $slug;
}
#[KeepOldSlugs(scope: 'locale')]
class Article extends Model
{
use HasSlugHistory;
}
// config/slug-history.php
'scope' => fn ($request) => $request->segment(1) ?? '', // the language is the first path segment
use Kaveraa\SlugHistory\SlugHistory;
public function __construct(private SlugHistory $history)
{
}
// Redirect an address that never existed in your database
$this->history->remember(Article::class, $article->id, 'old-address', $article->slug);
// Give an address back to living content
$this->history->release('agenda');
// Where does this address lead today?
$this->history->newPathFor('/blog/my-artcile'); // /blog/my-article