FYI, this all started for me when I saw something like this in a piece of code someone else was looking at:
abstract class Foo
{
const TRUE = true;
const FALSE = false;
// rest of class...
}
...in which case I suppose self::TRUE would be explicitly separate from TRUE, though I have no idea why the originator thought s/he needed them as class constants -- but it did pique my curiosity. 🙂