aedart / model-uuid
Getter and Setter package for Universally unique identifier (UUID). This package is part of the 'Aedart\Model' namespace; visit https://bitbucket.org/aedart/model to learn more about the project. Official sub-package website (https://bitbucket.org/aedart/model-uuid).
Requires
- php: >=5.5.9
- aedart/model-id: 1.*
- aedart/validate: >=0.9.1 <2.0
- ramsey/uuid: 2.8.*
Requires (Dev)
- aedart/license: 1.*
- aedart/license-file-manager: 1.*
- codeception/codeception: 2.0.*
Suggests
- aedart/overload: Provides means to dynamically deal with inaccessible properties, by implementing PHP’s magic methods; __get(), __set(), __isset(), and __unset().
README
Getter and Setter package for Universally unique identifier (UUID)
This package is part of the Aedart\Model
namespace; visit https://bitbucket.org/aedart/model to learn more about the project.
Official sub-package website (https://bitbucket.org/aedart/model-uuid)
Contents
[TOC]
When to use this
When your component(s) need to be aware of a Universally unique identifier (UUID).
How to install
#!console
composer require aedart/model-uuid 1.*
This package uses composer. If you do not know what that is or how it works, I recommend that you read a little about, before attempting to use this package.
Quick start
Provided that you have an interface, e.g. for a book, you can extend the Uuid-Aware interface;
#!php
<?php
use Aedart\Model\Uuid\Interfaces\UuidAware;
interface IBook extends UuidAware {
// ... Remaining interface implementation not shown ...
}
In your concrete implementation, you simple use the uuid-trait;
#!php
<?php
use Aedart\Model\Uuid\Traits\UuidTrait;
class MyBook implements IBook {
use UuidTrait;
// ... Remaining implementation not shown ...
}
My Id is the same as a UUID
If your "id" property is the same as a UUID, you should take a look at the Aedart\Model\Uuid\Traits\IdTrait
, which provides implementation based upon the IdAware
interface.
For further information, please review the documentation for the included Aedart\Model\Id
package, found at https://bitbucket.org/aedart/model-id
Acknowledgement
This package would not had been possible to make (at least not for me), without Ben Ramsey's Rhumsaa\Uuid
package; https://packagist.org/packages/rhumsaa/uuid
License
BSD-3-Clause, Read the LICENSE file included in this package