Phabstractic: Identity Trait Feature

asherwunk/phabstractic now has a feature for classes for generating unique identities: Identity Trait

Identity Management

This is a very straightforward feature:

The feature defines a static property for the using class.  This static counter remains unique on each poll for a new identity (in this case it’s an integer).  The $identityCounter must be ‘increasable’, that is, every time its accessed or ‘advanced’ it must be unique from all the identity values before it.  Counting up is a very easy way to accomplish this.

The class also defines an object property $identityPrefix that allows you to place a string prefix in front of the $identityCounter.  As long as the string prefix is unique to a runtime (you can use the class name) the prefix for a particular datum will be globally unique.  These value types are optional.  You can override the ::getNewIdentity() in order to account for different value types (such as two objects, or otherwise).

This particular feature comes in handy when dealing with nodes in a graph or tree to differentiate each node.  It is also handy to return an identity when a function ‘inserts’ or ‘gives’ a piece of data to another object, such as a set.

View on GitHub

This is part of the Phabstractic Library.

If you appreciate my programming please help support me through my Patreon.

photo credit: Don’t Waste You via photopin (license)


I'm just a wunk, trying to enjoy life. I am a cofounder of http// and I like computers, code, creativity, and friends.

You may also like...

Leave a Reply

%d bloggers like this: