websharks/quick-cache — pull request #212 by jaswsinc (2014-06-13 09:48:18+00:00)
Title: Feature/151 ~ Much Progress

## Feature/151 ~ Much Progress

- This finalizes my work on websharks/quick-cache#151

New abstract class file `includes/share.php`; serves as the base for `quick_cache\advanced_cache` and `quick_cache\plugin`. This abstract class provides the base for the other two to extend; and it also includes all of the class members that both of these classes can share. Thereby reducing RAM usage, and making QC a little DRYer; i.e. easier to maintain.

I am also enhancing performance in the `quick_cache\actions` and `quick_cache\menu_pages` classes by having the class constructors for those classes create a reference to `plugin()`; so that we can use `$this->plugin` instead of `plugin()` all over place in those class files. Saving a reference to the plugin class and calling it this way, reduces the number of times we need to make a function call for nothing more than a reference to an object instance.

- Additional work toward achieving websharks/quick-cache#130

However, there is a separate PR related to #130 that needs to be merged also.
I am mentioning it here also, only because THIS pull request includes a few *additional* optimizations to get more speed out of QC; in the form of static object caching.
- Also resolves websharks/quick-cache#206

QC now uses `WP_CONTENT_DIR` as the base instead of `ABSPATH`. In addition, the `abspath_to()` method was renamed to `wp_content_dir_to()`; and a new class member was introduced to help simplify things internally: `quick_cache\share\cache_dir()`.

Along with this change, a new version-specific upgrade routine transforms old option values that contain `wp-content` in them (or `basename(WP_CONTENT_DIR)`); and notifies a site owner about this change in the latest release.
- Also resolves websharks/quick-cache#95

Same as #206, see above details regarding #206 please.
- Also resolves websharks/quick-cache#193

Version-specific upgrade routines have been moved into `includes/version-specific-upgrade.php` and reorganized while I was working to that end anyway. So this PR should resolve #93 also.