[wp-trac] [WordPress Trac] #36335: Next generation: core autoloader proposal
WordPress Trac
noreply at wordpress.org
Wed Aug 31 18:49:59 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 johnjamesjacoby):
> In "pluggable.php" this is the intended behaviour, and the design is
bad.
The design in `pluggable.php` is /bad/ because it only allows 1
opportunity to intercept, with no additional way to verify or override the
decisions made before you.
The audience of developers actually needing to dig this deep is -
admittedly - infinitesimal; but to them, the design of `pluggable.php` is
a critical aspect of their WordPress powered application; they couldn't do
what they need to do without a hundred other bespoke actions & filters.
What's a bigger maintenance burden: hundreds of tiny decisions, or 1 big
one? I think it's maybe a-horse-a-piece.
FWIW, huge swaths of both BuddyPress & bbPress can internally be gutted &
swapped out, but (anecdotally) I've yet to see breakage or complaints (or
even really communicate the need for this functionality above the high-
availability environments I've been involved in that have directly
required it.)
{{{
// For example...
define( 'BP_PLUGIN_DIR', 'anywhere/you/want' ); // BuddyPress
add_filter( 'bbp_includes_dir', 'anywhere/you/want/' ); // bbPress
}}}
Will this cause advanced developers to think outside of the box?
Absolutely. Hopefully. The alternative is standing in the way of
creativity, and enforcing artificial constraints into a system that is
largely defined by it's flexibility already.
--
Ticket URL: <https://core.trac.wordpress.org/ticket/36335#comment:138>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list