[wp-trac] [WordPress Trac] #22316: Plugin Dependencies (Yet Another Plugin Dependencies Ticket)

WordPress Trac noreply at wordpress.org
Sat Dec 29 14:06:12 UTC 2012


#22316: Plugin Dependencies (Yet Another Plugin Dependencies Ticket)
--------------------------+------------------------------
 Reporter:  Viper007Bond  |       Owner:
     Type:  enhancement   |      Status:  new
 Priority:  normal        |   Milestone:  Awaiting Review
Component:  Plugins       |     Version:  3.4.2
 Severity:  normal        |  Resolution:
 Keywords:  dev-feedback  |
--------------------------+------------------------------

Comment (by jltallon):

 SUMMARY PROPOSAL:

 1.- plugin-dependencies (w/ versioned dependencies and theme dependencies)
 into core
 2.- Class Loader (we can certainly even use the UniversalClassLoader from
 Symfony here) into core

 3.- "Library" plugins have one index.php file which just registers their
 (sub-)namespace with the ClassLoader. All later loading is demand-based.
 The declare "Provides:" and "Version:" à la Debian

 4.- Functionality plugins work as usual (perfect backwards compatibility),
 though they can (and should, IMHO) use "libraries" when possible. They
 declare dependencies if at all posible, so that we can fail gracefully if
 pre-conditions are not met (as opposed to just WSOD'ing)

 5.- Themes can optionally depend on certain functionalities to be present
 (via de same "Depends" mechanism). The theme chooser UI would need to be
 refreshed to include some feedback for this, though.


 Ideally, and with the auto-loader within core, quite some of WordPress'
 itself can be demand-loaded: most of the admin (e.g. WP_Table/WP_List),
 RSS functionality, image processing, etc.
 The performance boost can indeed be huge (we have benchmarked the
 performance gain of doing this with plugins, I expect the gain for WP
 itself to be even more noticeable)

-- 
Ticket URL: <http://core.trac.wordpress.org/ticket/22316#comment:58>
WordPress Trac <http://core.trac.wordpress.org/>
WordPress blogging software


More information about the wp-trac mailing list