[ClassLoader] removes deprecated classes from documentation.

This commit is contained in:
Hugo Hamon 2015-01-02 18:59:49 +01:00
parent 36e05e9bf4
commit 57bd898198
4 changed files with 52 additions and 24 deletions

View File

@ -17,11 +17,19 @@ namespace Symfony\Component\ClassLoader;
* It expects an object implementing a findFile method to find the file. This * It expects an object implementing a findFile method to find the file. This
* allows using it as a wrapper around the other loaders of the component (the * allows using it as a wrapper around the other loaders of the component (the
* ClassLoader and the UniversalClassLoader for instance) but also around any * ClassLoader and the UniversalClassLoader for instance) but also around any
* other autoloader following this convention (the Composer one for instance) * other autoloaders following this convention (the Composer one for instance).
*
* // with a Symfony autoloader
* use Symfony\Component\ClassLoader\ClassLoader;
* *
* $loader = new ClassLoader(); * $loader = new ClassLoader();
* $loader->addPrefix('Symfony\Component', __DIR__.'/component');
* $loader->addPrefix('Symfony', __DIR__.'/framework');
* *
* // register classes with namespaces * // or with a Composer autoloader
* use Composer\Autoload\ClassLoader;
*
* $loader = new ClassLoader();
* $loader->add('Symfony\Component', __DIR__.'/component'); * $loader->add('Symfony\Component', __DIR__.'/component');
* $loader->add('Symfony', __DIR__.'/framework'); * $loader->add('Symfony', __DIR__.'/framework');
* *

View File

@ -4,34 +4,34 @@ ClassLoader Component
ClassLoader loads your project classes automatically if they follow some ClassLoader loads your project classes automatically if they follow some
standard PHP conventions. standard PHP conventions.
The Universal ClassLoader is able to autoload classes that implement the PSR-0 The ClassLoader object is able to autoload classes that implement the PSR-0
standard or the PEAR naming convention. standard or the PEAR naming convention.
First, register the autoloader: First, register the autoloader:
```php ```php
require_once __DIR__.'/src/Symfony/Component/ClassLoader/UniversalClassLoader.php'; require_once __DIR__.'/src/Symfony/Component/ClassLoader/ClassLoader.php';
use Symfony\Component\ClassLoader\UniversalClassLoader; use Symfony\Component\ClassLoader\ClassLoader;
$loader = new UniversalClassLoader(); $loader = new ClassLoader();
$loader->register(); $loader->register();
``` ```
Then, register some namespaces with the `registerNamespace()` method: Then, register some namespaces with the `addPrefix()` method:
```php ```php
$loader->registerNamespace('Symfony', __DIR__.'/src'); $loader->addPrefix('Symfony', __DIR__.'/src');
$loader->registerNamespace('Monolog', __DIR__.'/vendor/monolog/src'); $loader->addPrefix('Monolog', __DIR__.'/vendor/monolog/src');
``` ```
The `registerNamespace()` method takes a namespace prefix and a path where to The `addPrefix()` method takes a namespace prefix and a path where to
look for the classes as arguments. look for the classes as arguments.
You can also register a sub-namespaces: You can also register a sub-namespaces:
```php ```php
$loader->registerNamespace('Doctrine\\Common', __DIR__.'/vendor/doctrine-common/lib'); $loader->addPrefix('Doctrine\\Common', __DIR__.'/vendor/doctrine-common/lib');
``` ```
The order of registration is significant and the first registered namespace The order of registration is significant and the first registered namespace
@ -40,14 +40,14 @@ takes precedence over later registered one.
You can also register more than one path for a given namespace: You can also register more than one path for a given namespace:
```php ```php
$loader->registerNamespace('Symfony', array(__DIR__.'/src', __DIR__.'/symfony/src')); $loader->addPrefix('Symfony', array(__DIR__.'/src', __DIR__.'/symfony/src'));
``` ```
Alternatively, you can use the `registerNamespaces()` method to register more Alternatively, you can use the `addPrefixes()` method to register more
than one namespace at once: than one namespace at once:
```php ```php
$loader->registerNamespaces(array( $loader->addPrefixes(array(
'Symfony' => array(__DIR__.'/src', __DIR__.'/symfony/src'), 'Symfony' => array(__DIR__.'/src', __DIR__.'/symfony/src'),
'Doctrine\\Common' => __DIR__.'/vendor/doctrine-common/lib', 'Doctrine\\Common' => __DIR__.'/vendor/doctrine-common/lib',
'Doctrine' => __DIR__.'/vendor/doctrine/lib', 'Doctrine' => __DIR__.'/vendor/doctrine/lib',
@ -55,16 +55,20 @@ $loader->registerNamespaces(array(
)); ));
``` ```
For better performance, you can use the APC based version of the universal For better performance, you can use the APC class loader:
class loader:
```php ```php
require_once __DIR__.'/src/Symfony/Component/ClassLoader/UniversalClassLoader.php'; require_once __DIR__.'/src/Symfony/Component/ClassLoader/ClassLoader.php';
require_once __DIR__.'/src/Symfony/Component/ClassLoader/ApcUniversalClassLoader.php'; require_once __DIR__.'/src/Symfony/Component/ClassLoader/ApcClassLoader.php';
use Symfony\Component\ClassLoader\ApcUniversalClassLoader; use Symfony\Component\ClassLoader\ClassLoader;
use Symfony\Component\ClassLoader\ApcClassLoader;
$loader = new ApcUniversalClassLoader('apc.prefix.'); $loader = new ClassLoader();
$loader->addPrefix('Symfony', __DIR__.'/src');
$loader = new ApcClassLoader('apc.prefix.', $loader);
$loader->register();
``` ```
Furthermore, the component provides tools to aggregate classes into a single Furthermore, the component provides tools to aggregate classes into a single

View File

@ -17,11 +17,19 @@ namespace Symfony\Component\ClassLoader;
* It expects an object implementing a findFile method to find the file. This * It expects an object implementing a findFile method to find the file. This
* allow using it as a wrapper around the other loaders of the component (the * allow using it as a wrapper around the other loaders of the component (the
* ClassLoader and the UniversalClassLoader for instance) but also around any * ClassLoader and the UniversalClassLoader for instance) but also around any
* other autoloader following this convention (the Composer one for instance) * other autoloaders following this convention (the Composer one for instance).
*
* // with a Symfony autoloader
* use Symfony\Component\ClassLoader\ClassLoader;
* *
* $loader = new ClassLoader(); * $loader = new ClassLoader();
* $loader->addPrefix('Symfony\Component', __DIR__.'/component');
* $loader->addPrefix('Symfony', __DIR__.'/framework');
* *
* // register classes with namespaces * // or with a Composer autoloader
* use Composer\Autoload\ClassLoader;
*
* $loader = new ClassLoader();
* $loader->add('Symfony\Component', __DIR__.'/component'); * $loader->add('Symfony\Component', __DIR__.'/component');
* $loader->add('Symfony', __DIR__.'/framework'); * $loader->add('Symfony', __DIR__.'/framework');
* *

View File

@ -17,11 +17,19 @@ namespace Symfony\Component\ClassLoader;
* It expects an object implementing a findFile method to find the file. This * It expects an object implementing a findFile method to find the file. This
* allows using it as a wrapper around the other loaders of the component (the * allows using it as a wrapper around the other loaders of the component (the
* ClassLoader and the UniversalClassLoader for instance) but also around any * ClassLoader and the UniversalClassLoader for instance) but also around any
* other autoloader following this convention (the Composer one for instance) * other autoloaders following this convention (the Composer one for instance).
*
* // with a Symfony autoloader
* use Symfony\Component\ClassLoader\ClassLoader;
* *
* $loader = new ClassLoader(); * $loader = new ClassLoader();
* $loader->addPrefix('Symfony\Component', __DIR__.'/component');
* $loader->addPrefix('Symfony', __DIR__.'/framework');
* *
* // register classes with namespaces * // or with a Composer autoloader
* use Composer\Autoload\ClassLoader;
*
* $loader = new ClassLoader();
* $loader->add('Symfony\Component', __DIR__.'/component'); * $loader->add('Symfony\Component', __DIR__.'/component');
* $loader->add('Symfony', __DIR__.'/framework'); * $loader->add('Symfony', __DIR__.'/framework');
* *