Looking for more information on how to do PHP the right way? Check out PHP: The Right Way

Loïc Faugeron:
Short Identifier
Jun 22, 2018 @ 13:12:21

Loïc Faugeron has a post on his site covering the concept of short identifiers and covering some of the common types along with some of the downsides of the use of each.

Sometimes resources can be identified by one of their attributes (a name, title, slug) and sometimes they can't (no name, or confidential name). In the later case, an ID needs to be artificially crafted.

Two of the popular strategies is to use either an auto incremental one or a universally unique one, however when it comes to share them publicly, both strategies present some drawbacks

He lists several different types including:

  • Auto Incremental IDs
  • Short IDs
  • Hashes
  • Alphabetical representation

In the end, the method he recommends is hashing the ID value and using the first few characters (much the way you can refer to commit hashes in the Git version control tool).

tagged: short identifier list tutorial hash autoincrement shorten

Link: https://gnugat.github.io/2018/06/15/short-identifier.html

Johannes Schluter's Blog:
Unicode identifiers
Jul 24, 2009 @ 08:13:53

Johannes Schluter briefly touches on unicode in PHP6 in a new post to his blog and how being able to use it in identifiers can come in quite handy at times.

Consider you have an application tied to an environment with a special terminology, then translating this terms to English might be extremely confusing (especially as programmers often don't really know the correct terminology of that domain) and it's good to call the thing by it's name [...] The purpose of this were some bad news: That's nothing new. The relevant scanner rule hasn't changed since 4.0 - the only change is that PHP 6 doesn't treat it as random set of bytes anymore but knows about Unicode codepoints and interprets is as such.

After digging around a bit in some of the commit history of PHP, Johannes also found that the scanner rule (what parses the identifiers) hasn't changed since around 2000 and, apparently, won't be changing for PHP6 either.

tagged: unicode identifier php6