Bootstrap: Autoload classes using a Composer-generated PHP 5.2-compatible Autoloader.
wp-admin
and wp-includes
are scanned for classes to autoload
- Several 3rd-party and Ryan McCue-shaped libraries are excluded when the classmap is generated, see
composer.json
: autoload.exclude-from-classmap
wp-vendor/autoload_52.php
is included at the top of wp-settings.php
- no changes need to be made to unit tests to include the autoloader
- An avalanche of
require()
and require_once()
calls that loaded class files have been removed from the codebase.
The following files have been added to svn:ignore
- they are not 5.2-compatible and fail during pre-commit:
- src/wp-vendor/autoload.php
- src/wp-vendor/composer/autoload_real.php
- src/wp-vendor/composer/autoload_static.php
- src/wp-vendor/composer/ClassLoader.php
We favor these files instead:
- src/wp-vendor/autoload_52.php
- src/wp-vendor/composer/autoload_real_52.php
- src/wp-vendor/composer/ClassLoader52.php
When new PHP classes are added to the codebase, simply run composer install
or composer update
from the project root to update the autoloader.
The future is now.
See #36335.