[wp-trac] [WordPress Trac] #21401: Load packaged object cache when advanced-cache.php and object-cache.php don't implement wp_cache_init( )
WordPress Trac
wp-trac at lists.automattic.com
Sat Jul 28 06:00:12 UTC 2012
#21401: Load packaged object cache when advanced-cache.php and object-cache.php
don't implement wp_cache_init( )
----------------------------+-----------------------------
Reporter: wonderboymusic | Owner:
Type: defect (bug) | Status: new
Priority: normal | Milestone: Awaiting Review
Component: General | Version: 3.0
Severity: normal | Keywords: has-patch
----------------------------+-----------------------------
'''This ticket has 2 purposes:'''
1) introduces {{{wp_using_ext_object_cache()}}} - mimic
{{{wp_suspend_cache_invalidation()}}} and disallow direct access to
{{{$_wp_using_ext_object_cache}}}, cleans up importing of globals in
functions and provides function to modify that global[[BR]][[BR]]
2) allows {{{WP_CACHE}}} to load the wp-packaged object cache when
{{{advanced-cache.php}}} and {{{object-cache.php}}} don't implement
{{{wp_cache_init()}}}
When '''define( 'WP_CACHE', true )''':
As it stands, if you declare {{{WP_CACHE}}} = true, WP will try to load
{{{advanced-cache.php}}} without checking if the file exists (it does the
check for {{{object-cache.php}}}). {{{advanced-cache.php}}} shouldn't be
required. Batcache is awesome, but at its core is just a handler for an
output buffer. You should be able to mess with {{{object-cache.php}}} and
not worry about {{{advanced-cache.php}}}. And by worry about I mean, have
{{{WP_DEBUG}}} on and not get a warning / error.
{{{wp_start_object_cache()}}}, at its core, is on the hunt for
{{{wp_cache_init()}}} and then sets the toggle for the external object
cache. We only care about the external object cache if it has that
function. Rather than throwing a fatal error if their is a missing method,
load the default object cache.
If someone installs Batcache and Memcached properly, then nothing changes
- files load, all is good. If they install 2 blanks files, the default
Object Cache will load. If they install an external object cache without
{{{wp_cache_init()}}}, the default cache loads.
IMO - there is no reason to turn off non-persistent caching or throw a
fatal error if the author of a cache plugin sucks or the user made a
mistake in moving the files.
--
Ticket URL: <http://core.trac.wordpress.org/ticket/21401>
WordPress Trac <http://core.trac.wordpress.org/>
WordPress blogging software
More information about the wp-trac
mailing list