Browse Source

[improve-docs] Mention classmap autoloading in basic-usage

Igor Wiedler 13 years ago
parent
commit
a2eeeab79a
2 changed files with 19 additions and 12 deletions
  1. 17 10
      doc/01-basic-usage.md
  2. 2 2
      doc/04-schema.md

+ 17 - 10
doc/01-basic-usage.md

@@ -103,7 +103,7 @@ to those specific versions.
 This is important because the `install` command checks if a lock file is present,
 and if it is, it downloads the versions specified there (regardless of what `composer.json`
 says). This means that anyone who sets up the project will download the exact
-same version of the dependencies. 
+same version of the dependencies.
 
 If no `composer.json` lock file exists, it will read the dependencies and
 versions from `composer.json` and  create the lock file.
@@ -135,16 +135,15 @@ but it makes life quite a bit simpler.
 
 ## Autoloading
 
-For libraries that follow the [PSR-0](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md)
-naming standard, Composer generates a `vendor/.composer/autoload.php` file
-for autoloading. You can simply include this file and you will get autoloading
-for free.
+For libraries that specify autoload information, Composer generates a
+`vendor/.composer/autoload.php` file. You can simply include this file and you
+will get autoloading for free.
 
     require 'vendor/.composer/autoload.php';
 
-This makes it really easy to use third party code: For monolog, it
-means that we can just start using classes from it, and they will be
-autoloaded.
+This makes it really easy to use third party code. For example: If your
+project depends on monolog, you can just start using classes from it, and they
+will be autoloaded.
 
     $log = new Monolog\Logger('name');
     $log->pushHandler(new Monolog\Handler\StreamHandler('app.log', Monolog\Logger::WARNING));
@@ -160,8 +159,12 @@ to `composer.json`.
         }
     }
 
-This is a mapping from namespaces to directories. The `src` directory would be
-in your project root. An example filename would be `src/Acme/Foo.php`
+Composer will register a
+[PSR-0](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md)
+autoloader for the `Acme` namespace.
+
+You define a mapping from namespaces to directories. The `src` directory would
+be in your project root. An example filename would be `src/Acme/Foo.php`
 containing an `Acme\Foo` class.
 
 After adding the `autoload` field, you have to re-run `install` to re-generate
@@ -174,6 +177,10 @@ This can be useful for autoloading classes in a test suite, for example.
     $loader = require 'vendor/.composer/autoload.php';
     $loader->add('Acme\Test', __DIR__);
 
+In addition to PSR-0 autoloading, classmap is also supported. This allows
+classes to be autoloaded even if they do not conform to PSR-0. See the
+[autoload reference](04-schema.md#autoload) for more details.
+
 > **Note:** Composer provides its own autoloader. If you don't want to use
 that one, you can just include `vendor/.composer/autoload_namespaces.php`,
 which returns an associative array mapping namespaces to directories.

+ 2 - 2
doc/04-schema.md

@@ -188,7 +188,7 @@ Optional.
 Autoload mapping for a PHP autoloader.
 
 Currently [PSR-0](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md)
-autoloading and ClassMap generation are supported.
+autoloading and classmap generation are supported.
 
 Under the `psr-0` key you define a mapping from namespaces to paths, relative to the
 package root.
@@ -212,7 +212,7 @@ you can specify them as an array as such:
     }
 
 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
+that do not follow PSR-0. To configure this you specify all directories
 to search for classes.
 
 Example: