Unqualified, qualified and fully qualified

It could help reduce confusion if PHP's term definitions were used and referred. (Quoting and linking to the text would be good, IMO.)

**Unqualified, qualified and fully qualified.**

Each has a specific meaning and should be used in that sense. However, it's important to understand when those meanings are relevant and to what process.

From the [good book](http://php.net/manual/en/language.namespaces.rules.php):

    Unqualified name

        This is an identifier without a namespace separator, such as Foo

    Qualified name

        This is an identifier with a namespace separator, such as Foo\Bar

    Fully qualified name

        This is an identifier with a namespace separator that begins with a namespace separator, such as \Foo\Bar. The namespace \Foo is also a fully qualified name. 

- If we are talking about a `FQCN`, it MUST have a leading namespace separator, as per PHP's definition. Otherwise, it is a `QCN`.

**Namespace separator**

Should be called such, rather than calling it a slash.

**The Leading Namespace Separator: Scope and Relevance to an Autoloader**

There are three points in the process that the leading (or lack of leading) namespace separator are relevant:

*Step 1* When fed to an `spl_autoloader` to be stored in a class map for later matching.

How the Autoloader deals with the leading or lack of leading namespace separator matters only in a logical sense -- depending on how it compares the stored value to the value PHP provides in #step 3, below.

*Step 2* When PHP resolves the Class name (Name Resolution Rules)

This is not relevant to PSR-4. It's internal to PHP using [these rules](http://php.net/manual/en/language.namespaces.rules.php). 

*Step 3*  When the `spl_autoloader` is invoked and passed a class name request by PHP.

This QCN is passed into the spl_autoloader by PHP. The FQCN is not.

**The points**

- Use terms defined by PHP as PHP defines them. 

    FQCN has a leading namespace separator. That's inherent in the term. 

    Use `QCN` if the leading namespace separator is not desired.

- PHP calls the slash a 'namespace separator' - best to stick to the term used by PHP.

- There is no reason, IMO, to make any rule about the leading namespace separator. 

*Why no leading namespace separator rule? Consider:*

- If the autoloader stores the leading namespace separator -- and appends a leading namespace separator on the QCN provided by PHP -- it can match to a class file and include it.  =)

- If the autoloader does not store the leading namespace separator -- and compares to the QCN requested by PHP  -- it can match to a class file and include it. =)

- If the autoloader stores the leading separator and matches to the classname provided by PHP, IT WILL NOT FIND A MATCH because it is not following PHP's rules. This would be a coding error. 

PSR should not have a rule for PHP syntax requirements. Not only is it redundant but it is confusing. 

I created this [Gist illustrating these points](https://gist.github.com/AmyStephen/6943532). Put all three files into the same folder and fire up the browser.