Initial Commit
This commit is contained in:
100
inc/database/engine/class-query.php
Normal file
100
inc/database/engine/class-query.php
Normal file
@ -0,0 +1,100 @@
|
||||
<?php
|
||||
/**
|
||||
* Base Custom Database Table Query Class.
|
||||
*/
|
||||
|
||||
namespace WP_Ultimo\Database\Engine;
|
||||
|
||||
// Exit if accessed directly
|
||||
defined('ABSPATH') || exit;
|
||||
|
||||
/**
|
||||
* The base class that all other database base classes extend.
|
||||
*
|
||||
* This class attempts to provide some universal immutability to all other
|
||||
* classes that extend it, starting with a magic getter, but likely expanding
|
||||
* into a magic call handler and others.
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
class Query extends \WP_Ultimo\Dependencies\BerlinDB\Database\Query {
|
||||
|
||||
/**
|
||||
* The prefix for the custom table.
|
||||
*
|
||||
* @since 2.0.0
|
||||
* @var string
|
||||
*/
|
||||
protected $prefix = 'wu';
|
||||
|
||||
/**
|
||||
* If we should use a global cache group.
|
||||
*
|
||||
* @since 2.1.2
|
||||
* @var bool
|
||||
*/
|
||||
protected $global_cache = false;
|
||||
|
||||
/**
|
||||
* Keep track of the global cache groups we've added.
|
||||
* This is to prevent adding the same group multiple times.
|
||||
*
|
||||
* @since 2.1.2
|
||||
* @var array
|
||||
*/
|
||||
protected static $added_globals = array();
|
||||
|
||||
/**
|
||||
* Plural version for a group of items.
|
||||
*
|
||||
* @since 2.0.0
|
||||
* @access public
|
||||
* @var string
|
||||
*/
|
||||
protected $item_name_plural;
|
||||
|
||||
/**
|
||||
* Group to cache queries and queried items in.
|
||||
*
|
||||
* @since 2.0.0
|
||||
* @access public
|
||||
* @var string
|
||||
*/
|
||||
protected $cache_group = 'sites';
|
||||
|
||||
/**
|
||||
* The class constructor
|
||||
*
|
||||
* @since 2.1.2
|
||||
* @param string|array $query Optional. An array or string of Query parameters.
|
||||
* @return void
|
||||
*/
|
||||
public function __construct($query = array()) {
|
||||
|
||||
$cache_group = $this->apply_prefix($this->cache_group, '-');
|
||||
|
||||
if ($this->global_cache && !in_array($cache_group, self::$added_globals, true)) {
|
||||
|
||||
wp_cache_add_global_groups(array($cache_group));
|
||||
|
||||
self::$added_globals[] = $cache_group;
|
||||
|
||||
} // end if;
|
||||
|
||||
parent::__construct($query);
|
||||
|
||||
} // end __construct;
|
||||
|
||||
/**
|
||||
* Get the plural name.
|
||||
*
|
||||
* @since 2.0.0
|
||||
* @return string
|
||||
*/
|
||||
public function get_plural_name() {
|
||||
|
||||
return $this->item_name_plural;
|
||||
|
||||
} // end get_plural_name;
|
||||
|
||||
} // end class Query;
|
Reference in New Issue
Block a user