floor9design/laravel-uuid-model-support

Provides traits for easy support for UUIDs in Laravel models

0.0.1 2024-09-21 09:21 UTC

This package is auto-updated.

Last update: 2024-12-24 14:57:05 UTC


README

Latest Version Packagist Software License

Build Status Code Coverage

Github Downloads Packagist Downloads

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

Latest Version Packagist

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

Packagist Downloads

composer require floor9design/laravel-uuid-model-support

Via git

Github Downloads

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

Build Status Code Coverage

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.