Skip to content
This repository has been archived by the owner on Dec 11, 2022. It is now read-only.
Hunter Perrin edited this page Jun 12, 2019 · 9 revisions

UIDs, or unique IDs, provide an easier way for users to identify entities. UIDs are just sequential numbers and can be used for anything you like, not just entities. As opposed to a GUID, which is a unique ID for all entities, a UID is only unique for its own sequence. Therefore, they are more visually appealing to be used as an ID. (Think Sale #615 vs Sale #9007199254740991)

Nymph has the following methods for handling UIDs:

  • deleteUID - Delete a unique ID from the system.
  • getUID - Get the current value of a unique ID.
  • newUID - Increment or create a unique ID and return the new value.
  • renameUID - Rename a unique ID.
  • setUID - Set the value of a unique ID.
Using UIDs
use Nymph\Nymph as Nymph;

// Create a new entity.
$entity = Post::factory();

// Now give it a more friendly ID than GUID.
$entity->id = Nymph::newUID('Blog/Post');
$entity->save();
import { Nymph } from 'nymph-client';

let entity = new Post();

entity.id = await Nymph.newUID('Blog/Post');
await entity.$save();

// You probably don't want to allow UIDs from the client
// though. Then a malicious user can reset the UID. Instead,
// from the server side, you can create a UID when the
// entity is saved.

⚠️ Caution: If a UID is incremented, and the entity you're using it on can't be saved, there is no safe way to decrement the UID back to its previous value.

Clone this wiki locally