floor9design / laravel-uuid-model-support
Provides traits for easy support for UUIDs in Laravel models
Requires
- php: >=8.2
- ext-json: *
- laravel/framework: ^11.0
- ramsey/uuid: ^4.7
Requires (Dev)
- mockery/mockery: ^1
- phpstan/phpstan: ^1.0.0
- phpunit/phpunit: ^11.0||^10.0
This package is auto-updated.
Last update: 2024-12-24 14:57:05 UTC
README
A quick to implement Trait for laravel models using Ramsey\Uuid
Introduction
Laravel models have default behaviours associated with them that do not work "out of the box" with the excellent Ramsey\Uuid class.
For example, newUniqueId()
will not work as expected unless overwritten in a model. These Traits offer sensible
defaults.
Features
The package offers traits for UUIDs in the form of Uuid[x]
, offering the following methods:
newUniqueId()
uniqueIds()
Currently supports UUIDv1 and v4 - other versions are in development.
Install
Via Composer/packagist
composer require floor9design/laravel-uuid-model-support
Via git
git clone https://github.com/floor9design-ltd/laravel-uuid-model-support.git
Or:
git clone git@github.com:floor9design-ltd/laravel-uuid-model-support.git
Usage
Add a use
statement into the model, and ensure you select the correct class.
For example, a user model might resemble:
namespace App\Models; use Floor9design\LaravelUuidModelSupport\Uuid4; // ... class User extends Authenticatable { use Uuid4; // ...
Setup
There are no specific config setup steps required. The class should autoload in PSR-4 compliant systems.
Testing
Tests can be run as follows:
./vendor/phpunit/phpunit/phpunit
The following tests and also creates code coverage (usually maintained at 100%)
./vendor/phpunit/phpunit/phpunit --coverage-html docs/tests/
Static analysis/code review can be performed by using phpstan:
./vendor/bin/phpstan
Credits
Changelog
A changelog is generated here:
License
This software is available under the MIT licence.