[wp-trac] [WordPress Trac] #36335: Next generation: core autoloader proposal

WordPress Trac noreply at wordpress.org
Sat Aug 27 09:15:02 UTC 2016


#36335: Next generation: core autoloader proposal
-----------------------------+------------------
 Reporter:  dnaber-de        |       Owner:
     Type:  feature request  |      Status:  new
 Priority:  normal           |   Milestone:  4.7
Component:  General          |     Version:
 Severity:  normal           |  Resolution:
 Keywords:  has-patch        |     Focuses:
-----------------------------+------------------

Comment (by wonderboymusic):

 In [changeset:"38399"]:
 {{{
 #!CommitTicketReference repository="" revision="38399"
 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.
 }}}

--
Ticket URL: <https://core.trac.wordpress.org/ticket/36335#comment:87>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform


More information about the wp-trac mailing list