WireNumberTools::uniqueNumber() method

Generate and return an installation unique number/ID (integer)

  • Numbers returned by this method are incrementing, starting from 1.
  • Unique number counter stored in the database so is unique aross all time/requests.
  • Returned number is guaranteed to be unique among other calls to this method.
  • When using the namespace option, it will generate a new DB table for that namespace.
  • Use the reset option to delete a namespace when no longer needed.
  • You cannot reset the default namespace, so any caller is always assured a unique number.
  • This method creates table names that begin with unique_num.

Available since version 3.0.213.

Usage

// basic usage
$int = $wireNumberTools->uniqueNumber();

// usage with all arguments
$int = $wireNumberTools->uniqueNumber($options = []);

Arguments

NameType(s)Description
options (optional)array, string

Array of options or string for the namespace option.

  • namespace (string): Optional namespace for unique numbers, in table name format [_a-zA-Z0-9] (default='')
  • getLast (bool): Get last unique number rather than generating new one? (default=false)
  • reset (bool): Reset numbers in namespace by deleting its table? Namespace required (default=false)

Return value

int

Returns unique number, or returns 0 if reset option is used, or returns 0 if getLast option is used and no numbers exist.

Exceptions

Method can throw exceptions on error:

  • WireException


WireNumberTools methods and properties

API reference based on ProcessWire core version 3.0.244

Latest news

  • ProcessWire Weekly #559
    The 559th issue of ProcessWire Weekly brings in all the latest news from the ProcessWire community. Modules, sites, and more. Read on!
    Weekly.pw / 25 January 2025
  • ProcessWire 3.0.244 new main/master version
    ProcessWire 3.0.244 is our newest main/master/stable version. It's been more than a year in the making and is packed with tons of new features, issue fixes, optimizations and more. This post covers all the details.
    Blog / 18 January 2025
  • Subscribe to weekly ProcessWire news

“To Drupal, or to ProcessWire? The million dollar choice. We decided to make an early switch to PW. And in retrospect, ProcessWire was probably the best decision we made. Thanks are due to ProcessWire and the amazing system and set of modules that are in place.” —Unni Krishnan, Founder of PigtailPundits