PHPackages                             areia-lab/slug-uid - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. areia-lab/slug-uid

ActiveLibrary

areia-lab/slug-uid
==================

A Laravel package to generate unique slugs, UIDs, and sequence numbers.

v1.1.2(7mo ago)09MITPHPPHP &gt;=8.0

Since Aug 29Pushed 7mo agoCompare

[ Source](https://github.com/areia-lab/slug-uid)[ Packagist](https://packagist.org/packages/areia-lab/slug-uid)[ Docs](https://github.com/areia-lab/slug-uid)[ RSS](/packages/areia-lab-slug-uid/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (5)Dependencies (1)Versions (7)Used By (0)

SlugUid Laravel Package
=======================

[](#sluguid-laravel-package)

SlugUid is a Laravel package to automatically generate **slugs**, **unique identifiers (UIDs)**, and **sequence numbers** for your models. It supports configuration, facades, traits, and artisan commands.

📖 **Documentation:** [Complete Guide to Slug-UID](https://areia-lab.areiatech.com/docs/slug-uid.html)

---

Requirements
------------

[](#requirements)

- PHP &gt;= 8.0
- Laravel &gt;= 9.0
- Composer

---

Installation
------------

[](#installation)

```
composer require areia-lab/slug-uid
```

Publish the configuration:
--------------------------

[](#publish-the-configuration)

```
php artisan vendor:publish --provider="AreiaLab\SlugUid\SlugUidServiceProvider" --tag=sluguid-config
```

---

Configuration
-------------

[](#configuration)

### Slug Settings

[](#slug-settings)

```
'slug' => [
    'separator' => '-',
    'max_length' => 150,
    'source_columns' => ['title','name'],
    'regen_on_update' => true,
]
```

### UID Settings

[](#uid-settings)

```
'uid' => [
    'prefix' => 'UID',
    'length' => 16,
    'driver' => 'uuid4',
]
```

### Sequence Settings

[](#sequence-settings)

```
'sequence' => [
    'prefix' => 'ORD',
    'padding' => 5,
    'column' => 'post_sequence',
    'scoped'  => true,
    'separator' => '-',
]
```

---

Usage
-----

[](#usage)

Basic usage with the Facade:
----------------------------

[](#basic-usage-with-the-facade)

```
// Generate slug
SlugUid::slug('Hello World');

// Unique slug for model
SlugUid::uniqueSlug(Post::class, 'Hello World');

// Generate UID
SlugUid::uid();
SlugUid::uniqueUid(Post::class, 'USR');

// Sequence
SlugUid::sequence(Post::class, 'ORD', 4);
```

---

Facade Methods
--------------

[](#facade-methods)

```
SlugUid::slug('Hello World');
SlugUid::uniqueSlug($post);
SlugUid::uid('USR');
SlugUid::uniqueUid(Post::class, 'USR');
SlugUid::sequence(Post::class, 'INV');
```

---

Traits
------

[](#traits)

Instead of a single trait, you can use dedicated traits for slug, uid, and sequence:

```
