.. index:: single: Components; ClassLoader
The ClassLoader component provides tools to autoload your classes and cache their locations for performance.
Whenever you reference a class that has not been required or included yet, PHP uses the autoloading mechanism to delegate the loading of a file defining the class. Symfony provides two autoloaders, which are able to load your classes:
- :doc:`/components/class_loader/class_loader`: loads classes that follow the PSR-0 class naming standard;
- :doc:`/components/class_loader/map_class_loader`: loads classes using a static map from class name to file path.
Additionally, the Symfony ClassLoader component ships with a set of wrapper classes which can be used to add additional functionality on top of existing autoloaders:
- :doc:`/components/class_loader/cache_class_loader`
- :doc:`/components/class_loader/debug_class_loader`
You can install the component in 2 different ways:
- :doc:`Install it via Composer </components/using_components>` (
symfony/class-loader
on Packagist); - Use the official Git repository (https://github.com/symfony/ClassLoader).