Browse Source

More autoload documentation.

As discovered through discussions at composer/composer#763
Resubmitted after travis complained, lets try again.

Nick Lombard 13 years ago
parent
commit
365060f0cb
1 changed files with 23 additions and 1 deletions
  1. 23 1
      doc/04-schema.md

+ 23 - 1
doc/04-schema.md

@@ -349,7 +349,10 @@ since it offers greater flexibility (no need to regenerate the autoloader when y
 classes).
 classes).
 
 
 Under the `psr-0` key you define a mapping from namespaces to paths, relative to the
 Under the `psr-0` key you define a mapping from namespaces to paths, relative to the
-package root. Note that this also supports the PEAR-style convention.
+package root. Note that this also supports the PEAR-style non-namespaced convention.
+
+The PSR-0 references are all combined, during install/update, into a single key => value 
+array which may be found in the generated file `vendor/composer/autoload_namespaces.php`.
 
 
 Example:
 Example:
 
 
@@ -372,6 +375,17 @@ you can specify them as an array as such:
         }
         }
     }
     }
 
 
+The PSR-0 style is not limited to namespace declarations only but may be 
+specified right down to the class level. This can be useful for libraries with 
+only one class in the global namespace. If the php source file is also located 
+in the root of the package, for example, it may be declared like this:
+
+    }
+        "autoload": {
+            "psr-0": { "UniqueGlobalClass": "" }
+        }
+    }
+
 If you want to have a fallback directory where any namespace can be, you can
 If you want to have a fallback directory where any namespace can be, you can
 use an empty prefix like:
 use an empty prefix like:
 
 
@@ -381,6 +395,14 @@ use an empty prefix like:
         }
         }
     }
     }
 
 
+***Note: This will have an impact on performance and also keep in minh that this 
+method forfeits it's uniqueness and there is nothing preventing another "" entry,
+from another packoge perhaps, taking its place. Use with caution.***
+
+The `classmap` references are all combined, during install/update, into a single 
+key => value array which may be found in the generated file 
+`vendor/composer/autoload_classmap.php`.
+
 You can use the classmap generation support to define autoloading for all libraries
 You can use the classmap generation support to define autoloading for all libraries
 that do not follow PSR-0. To configure this you specify all directories or files
 that do not follow PSR-0. To configure this you specify all directories or files
 to search for classes.
 to search for classes.