Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

Already on GitHub? Sign in to your account

Technique -> Requirements #211

merged 7 commits into from Oct 22, 2013


None yet
1 participant

philsturgeon commented Oct 21, 2013

Turning the original intention into wording most folks can agree on.

There is minimal autoloader specific content and the steps are made more generic so that people do not confuse them for pseudo-code outlining sequential steps that MUST be taken to comply - which was never the suggestion, but confusing wording apparently lead to this common misconception.

There is some remaining implementation-level information, for example we absolutely have to point out that autoloaders cannot and will not throw exceptions or raise errors. We have worded it to be vague and apply to all parties, as all parties need to know this.

Phil Sturgeon added some commits Oct 21, 2013

Phil Sturgeon Order in which autoloader checks things - Moved to implementation 246b07c
Phil Sturgeon Technique -> Requirements
By rewording the steps later on in the Technique section this no longer looks like pseudo-code to autoloader developers, and instead just looks like a relevant chunk of information that any type of user is interested in - but still prescribes what the autoloader devs should be doing.
Phil Sturgeon Explain what the autoloader is actually up to here a3c0e64
Phil Sturgeon Fix example class name formatting ed36664
Phil Sturgeon Expanded a little on what that example was. d27f724
Phil Sturgeon Grouped all examples together in a new Examples section
Example Technique, Example Resource Organization and Example Implementation are all together, in one big happy WE ARE NOT PART OF THE SPEC ITSELF family.
Before the 3.3 Example Technique was part of 3. Specification. It's hard to say its not part of the specification when its in the same damn heading.
Phil Sturgeon Corresponding was vague 3017542

@philsturgeon philsturgeon commented on the diff Oct 22, 2013

@@ -129,39 +131,47 @@ correspond to a _resource base_.
b. To prevent conflicts, different _namespace prefixes_ SHOULD NOT
correspond to the same _resource base_.
-3. A _conforming autoloader_ will process an _autoloadable class name_, its

philsturgeon Oct 22, 2013


3.2.3 has essentially been rewritten, saying the same thing but no longer sounds like pseudo-code. The same result happens, so lets all be happy with the fact it is definitely not defining a single "algorithm". It never was, but this wording makes that more clear.

@philsturgeon philsturgeon commented on the diff Oct 22, 2013

- d. Because a _namespace prefix_ MAY correspond to more than one _resource

philsturgeon Oct 22, 2013


D was deleted, and E was moved to Implementations. It was repetitive.

@philsturgeon philsturgeon commented on the diff Oct 22, 2013

@@ -186,26 +196,7 @@ _scheme_-appropriate separators. That is,
included, required, or otherwise loaded so that it is available.
-## 4. Implementations

philsturgeon Oct 22, 2013


Not gone, just moved.

@philsturgeon philsturgeon pushed a commit that referenced this pull request Oct 22, 2013

Phil Sturgeon Merge pull request #211 from philsturgeon/psr4
Technique -> Requirements

@philsturgeon philsturgeon merged commit aecd80c into php-fig:master Oct 22, 2013

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment