wppaste
WordPress

DB

Source
wp-includes/SimplePie/src/Cache/DB.php:17
Base class for database-based caches

Compatibility

Deprecated in WordPress since SimplePie 1.8.0, use implementation of "Psr\SimpleCache\CacheInterface" instead. since SimplePie 1.8.0, use implementation of "Psr\SimpleCache\CacheInterface" instead

WordPress
core
  • 6.7.7
  • 6.8.8
  • 6.9.7
  • 7.0.4
  • 7.1.0

Present in every tracked release (6.7.7 to 7.1.0).

Methods · 1

Source code

abstract class DB implements Base{    /**     * Helper for database conversion     *     * Converts a given {@see SimplePie} object into data to be stored     *     * @param \SimplePie\SimplePie $data     * @return array{string, array<string, Item>} First item is the serialized data for storage, second item is the unique ID for this item     */    protected static function prepare_simplepie_object_for_cache(\SimplePie\SimplePie $data)    {        $items = $data->get_items();        $items_by_id = [];         if (!empty($items)) {            foreach ($items as $item) {                $items_by_id[$item->get_id()] = $item;            }             if (count($items_by_id) !== count($items)) {                $items_by_id = [];                foreach ($items as $item) {                    $items_by_id[$item->get_id(true)] = $item;                }            }             if (isset($data->data['child'][\SimplePie\SimplePie::NAMESPACE_ATOM_10]['feed'][0])) {                $channel = &$data->data['child'][\SimplePie\SimplePie::NAMESPACE_ATOM_10]['feed'][0];            } elseif (isset($data->data['child'][\SimplePie\SimplePie::NAMESPACE_ATOM_03]['feed'][0])) {                $channel = &$data->data['child'][\SimplePie\SimplePie::NAMESPACE_ATOM_03]['feed'][0];            } elseif (isset($data->data['child'][\SimplePie\SimplePie::NAMESPACE_RDF]['RDF'][0])) {                $channel = &$data->data['child'][\SimplePie\SimplePie::NAMESPACE_RDF]['RDF'][0];            } elseif (isset($data->data['child'][\SimplePie\SimplePie::NAMESPACE_RSS_20]['rss'][0]['child'][\SimplePie\SimplePie::NAMESPACE_RSS_20]['channel'][0])) {                $channel = &$data->data['child'][\SimplePie\SimplePie::NAMESPACE_RSS_20]['rss'][0]['child'][\SimplePie\SimplePie::NAMESPACE_RSS_20]['channel'][0];            } else {                $channel = null;            }             if ($channel !== null) {                if (isset($channel['child'][\SimplePie\SimplePie::NAMESPACE_ATOM_10]['entry'])) {                    unset($channel['child'][\SimplePie\SimplePie::NAMESPACE_ATOM_10]['entry']);                }                if (isset($channel['child'][\SimplePie\SimplePie::NAMESPACE_ATOM_03]['entry'])) {                    unset($channel['child'][\SimplePie\SimplePie::NAMESPACE_ATOM_03]['entry']);                }                if (isset($channel['child'][\SimplePie\SimplePie::NAMESPACE_RSS_10]['item'])) {                    unset($channel['child'][\SimplePie\SimplePie::NAMESPACE_RSS_10]['item']);                }                if (isset($channel['child'][\SimplePie\SimplePie::NAMESPACE_RSS_090]['item'])) {                    unset($channel['child'][\SimplePie\SimplePie::NAMESPACE_RSS_090]['item']);                }                if (isset($channel['child'][\SimplePie\SimplePie::NAMESPACE_RSS_20]['item'])) {                    unset($channel['child'][\SimplePie\SimplePie::NAMESPACE_RSS_20]['item']);                }            }            if (isset($data->data['items'])) {                unset($data->data['items']);            }            if (isset($data->data['ordered_items'])) {                unset($data->data['ordered_items']);            }        }        return [serialize($data->data), $items_by_id];    }}

Changelog

Unchanged from 6.7.7 through 7.1.0.

  1. 6.7.7
  2. 6.8.8
  3. 6.9.7
  4. 7.0.4
  5. 7.1.0

Signature, return type and hooks compared across 5 parsed releases.

About this page

Parsed data
Generated from the wordpress-develop 6.9.7 tag, from src/wp-includes/SimplePie/src/Cache/DB.php, and regenerated for each WordPress release so it tracks the code rather than a snapshot of it.
Corrections
Something wrong on this page? Report it and it gets fixed in the next regeneration.