PHP Класс LudicrousDB, ludicrousdb

Наследование: extends wpdb
Показать файл Открыть проект

Открытые свойства

Свойство Тип Описание
$check_tcp_responsiveness Whether to check with fsockopen prior to mysql_connect
$db_connections The log of db connections made and the time each one took
$dbh resource The current MySQL link resource
$dbh2host Lookup array (dbhname => host:port)
$dbhs array Associative array (dbhname => dbh) for established MySQL connections
$default_lag_threshold Maximum lag in seconds. Set null to disable. Requires callbacks
$last_found_rows_result resource After any SQL_CALC_FOUND_ROWS query, the query "SELECT FOUND_ROWS()" is sent and the MySQL result resource stored here. The next query for FOUND_ROWS() will retrieve this. We do this to prevent any intervening queries from making FOUND_ROWS() inaccessible. You may prevent this by adding "NO_SELECT_FOUND_ROWS" in a comment
$last_table string The last table that was queried
$last_used_server The last server used and the database name selected
$ludicrous_callbacks Optional directory of callbacks to determine datasets from queries
$ludicrous_servers The multi-dimensional array of datasets and servers
$ludicrous_tables Optional directory of tables and their datasets
$max_connections The maximum number of db links to keep open. The least-recently used link will be closed when the number of links exceeds this
$open_connections The list of unclosed connections sorted by LRU
$persistent Whether to use mysql_pconnect instead of mysql_connect
$save_backtrace Whether to save debug_backtrace in save_query_callback. You may wish to disable this, e.g. when tracing out-of-memory problems.
$save_queries boolean Whether to store queries in an array. Useful for debugging and profiling
$save_query_callback Custom callback to save debug info in $this->queries
$srtm Otherwise it is an array of written tables
$used_servers Lookup array (dbhname => (server, db name) ) for re-selecting the db when a link is re-used

Защищенные свойства (Protected)

Свойство Тип Описание
$reconnect_retries integer The number of times to retry reconnecting before dying

Открытые методы

Метод Описание
__construct ( $args = null ) Gets ready to make database connections
_real_escape ( $string ) * Force addslashes() for the escapes
add_callback ( $callback, $group = 'dataset' ) Add a callback to a group of callbacks
add_database ( array $db = [] ) Add the connection parameters for a database
add_table ( $dataset, $table ) Specify the dataset where a table is found
check_connection ( boolean $allow_bail = true, $dbh_or_table = false ) : boolean | void Check that the connection to the database is still up. If not, try to reconnect
check_database_version ( false | string | resource $dbh_or_table = false ) : WP_Error Whether or not MySQL database is at least the required minimum version.
check_lag ( ) : integer Check lag
check_tcp_responsiveness ( $host, $port, $float_timeout ) : boolean Check the responsiveness of a TCP/IP daemon
close ( false | string | resource $dbh_or_table = false ) : boolean Closes the current database connection
db_connect ( $query = '' ) : resource Figure out which db server should handle the query, and connect to it
db_version ( false | string | resource $dbh_or_table = false ) : false | string The database version number
disconnect ( string $dbhname ) Disconnect and remove connection from open connections list
flush ( ) Kill cached query results
get_caller ( ) : string Get the name of the function that called wpdb()
get_lag ( ) : integer Run lag callbacks and return current lag
get_lag_cache ( ) : integer Run lag cache callbacks and return current lag
has_cap ( string $db_cap, false | string | resource $dbh_or_table = false ) : boolean Generic function to determine if a database supports a particular feature The additional argument allows the caller to check a specific database
init_charset ( ) Sets $this->charset and $this->collate
is_write_query ( $q ) : boolean Determine the likelihood that this query could alter anything
query ( string $query ) : integer Basic query. See docs for more details
run_callbacks ( $group, $args = null ) Callbacks are executed in the order in which they are registered until one of them returns something other than null
select ( string $db, false | string | resource $dbh_or_table = false ) Selects a database using the current database connection
send_reads_to_masters ( ) Set a flag to prevent reading from slaves which might be lagging after a write
set_charset ( resource $dbh, string $charset = null, string $collate = null ) Sets the connection's character set
set_sql_mode ( array $modes = [], false | string | resource $dbh_or_table = false ) Change the current SQL mode, and ensure its WordPress compatibility
supports_collation ( false | string | resource $dbh_or_table = false ) : boolean This function is called when WordPress is generating the table schema to determine whether or not the current database supports or needs the collation statements

Защищенные методы

Метод Описание
_do_query ( string $query, boolean $dbh_or_table = false ) Internal function to perform the mysql_query() call
get_table_charset ( string $table ) : mixed Retrieves a tables character set.
load_col_info ( ) Load the column metadata from the last query.
single_db_connect ( string $dbhname, string $host, string $user, string $password ) : boolean | mysqli | resource Connect selected database
strip_invalid_text_using_db ( string $string, string $charset ) : mixed Given a string, a character set and a table, ask the DB to check the string encoding.
tcp_cache_get ( string $key ) : mixed Get cached up/down value of previous TCP response
tcp_cache_set ( string $key, string $value ) : boolean Set cached up/down value of current TCP response
tcp_get_cache_expiration ( ) : integer Get the number of seconds TCP response is good for
tcp_get_cache_key ( string $host, string $port ) : string Get the cache key used for TCP responses

Приватные методы

Метод Описание
dbh_type_check ( $dbh ) : boolean
get_db_object ( false | string | resource $dbh_or_table = false ) Get the db connection object

Описание методов

__construct() публичный Метод

Gets ready to make database connections
public __construct ( $args = null )

_do_query() защищенный Метод

Internal function to perform the mysql_query() call
См. также: wpdb::query()
protected _do_query ( string $query, boolean $dbh_or_table = false )
$query string The query to run.
$dbh_or_table boolean

_real_escape() публичный Метод

LudicrousDB makes connections when a query is made which is why we can't use mysql_real_escape_string() for escapes This is also the reason why we don't allow certain charsets. See set_charset().
public _real_escape ( $string )

add_callback() публичный Метод

The default group is 'dataset', used to examine queries & determine dataset
public add_callback ( $callback, $group = 'dataset' )

add_database() публичный Метод

Add the connection parameters for a database
public add_database ( array $db = [] )
$db array

add_table() публичный Метод

Specify the dataset where a table is found
public add_table ( $dataset, $table )

check_connection() публичный Метод

If this function is unable to reconnect, it will forcibly die, or if after the the template_redirect hook has been fired, return false instead If $allow_bail is false, the lack of database connection will need to be handled manually
public check_connection ( boolean $allow_bail = true, $dbh_or_table = false ) : boolean | void
$allow_bail boolean Optional. Allows the function to bail. Default true.
Результат boolean | void True if the connection is up.

check_database_version() публичный Метод

The additional argument allows the caller to check a specific database
public check_database_version ( false | string | resource $dbh_or_table = false ) : WP_Error
$dbh_or_table false | string | resource the database (the current database, the database housing the specified table, or the database of the MySQL resource)
Результат WP_Error

check_lag() публичный Метод

Check lag
С версии: 2.1.0
public check_lag ( ) : integer
Результат integer

check_tcp_responsiveness() публичный Метод

Check the responsiveness of a TCP/IP daemon
public check_tcp_responsiveness ( $host, $port, $float_timeout ) : boolean
Результат boolean true when $host:$post responds within $float_timeout seconds, else false

close() публичный Метод

Closes the current database connection
public close ( false | string | resource $dbh_or_table = false ) : boolean
$dbh_or_table false | string | resource the database (the current database, the database housing the specified table, or the database of the MySQL resource)
Результат boolean True if the connection was successfully closed, false if it wasn't, or the connection doesn't exist.

db_connect() публичный Метод

Figure out which db server should handle the query, and connect to it
public db_connect ( $query = '' ) : resource
Результат resource MySQL database connection

db_version() публичный Метод

The database version number
public db_version ( false | string | resource $dbh_or_table = false ) : false | string
$dbh_or_table false | string | resource the database (the current database, the database housing the specified table, or the database of the MySQL resource)
Результат false | string false on failure, version number on success

disconnect() публичный Метод

Disconnect and remove connection from open connections list
public disconnect ( string $dbhname )
$dbhname string

flush() публичный Метод

Kill cached query results
public flush ( )

get_caller() публичный Метод

Get the name of the function that called wpdb()
public get_caller ( ) : string
Результат string the name of the calling function

get_lag() публичный Метод

Run lag callbacks and return current lag
С версии: 2.1.0
public get_lag ( ) : integer
Результат integer

get_lag_cache() публичный Метод

Run lag cache callbacks and return current lag
С версии: 2.1.0
public get_lag_cache ( ) : integer
Результат integer

get_table_charset() защищенный Метод

NOTE: This must be called after LudicrousDB::db_connect, so that wpdb::dbh is set correctly
protected get_table_charset ( string $table ) : mixed
$table string Table name
Результат mixed The table character set, or WP_Error if we couldn't find it

has_cap() публичный Метод

Generic function to determine if a database supports a particular feature The additional argument allows the caller to check a specific database
public has_cap ( string $db_cap, false | string | resource $dbh_or_table = false ) : boolean
$db_cap string the feature
$dbh_or_table false | string | resource the database (the current database, the database housing the specified table, or the database of the MySQL resource)
Результат boolean

init_charset() публичный Метод

Sets $this->charset and $this->collate
public init_charset ( )

is_write_query() публичный Метод

Determine the likelihood that this query could alter anything
public is_write_query ( $q ) : boolean
Результат boolean

load_col_info() защищенный Метод

Load the column metadata from the last query.
protected load_col_info ( )

query() публичный Метод

Basic query. See docs for more details
public query ( string $query ) : integer
$query string
Результат integer number of rows

run_callbacks() публичный Метод

Callbacks are executed in the order in which they are registered until one of them returns something other than null
public run_callbacks ( $group, $args = null )

select() публичный Метод

The database name will be changed based on the current database connection. On failure, the execution will bail and display an DB error
public select ( string $db, false | string | resource $dbh_or_table = false )
$db string MySQL database name
$dbh_or_table false | string | resource the database (the current database, the database housing the specified table, or the database of the MySQL resource)

send_reads_to_masters() публичный Метод

Set a flag to prevent reading from slaves which might be lagging after a write

set_charset() публичный Метод

Sets the connection's character set
public set_charset ( resource $dbh, string $charset = null, string $collate = null )
$dbh resource The resource given by mysql_connect
$charset string The character set (optional)
$collate string The collation (optional)

set_sql_mode() публичный Метод

If no modes are passed, it will ensure the current MySQL server modes are compatible
public set_sql_mode ( array $modes = [], false | string | resource $dbh_or_table = false )
$modes array Optional. A list of SQL modes to set.
$dbh_or_table false | string | resource the database (the current database, the database housing the specified table, or the database of the MySQL resource)

single_db_connect() защищенный Метод

Connect selected database
protected single_db_connect ( string $dbhname, string $host, string $user, string $password ) : boolean | mysqli | resource
$dbhname string
$host string Internet address: host:port of server on internet.
$user string Database user.
$password string Database password.
Результат boolean | mysqli | resource

strip_invalid_text_using_db() защищенный Метод

Classes that extend wpdb can override this function without needing to copy/paste all of wpdb::strip_invalid_text(). NOTE: This must be called after LudicrousDB::db_connect, so that wpdb::dbh is set correctly
protected strip_invalid_text_using_db ( string $string, string $charset ) : mixed
$string string String to convert
$charset string Character set to test against (uses MySQL character set names)
Результат mixed The converted string, or a WP_Error if the conversion fails

supports_collation() публичный Метод

The additional argument allows the caller to check a specific database
public supports_collation ( false | string | resource $dbh_or_table = false ) : boolean
$dbh_or_table false | string | resource the database (the current database, the database housing the specified table, or the database of the MySQL resource)
Результат boolean

tcp_cache_get() защищенный Метод

Get cached up/down value of previous TCP response
С версии: 3.0.0
protected tcp_cache_get ( string $key ) : mixed
$key string Results of tcp_get_cache_key()
Результат mixed Results of wp_cache_get()

tcp_cache_set() защищенный Метод

Set cached up/down value of current TCP response
С версии: 3.0.0
protected tcp_cache_set ( string $key, string $value ) : boolean
$key string Results of tcp_get_cache_key()
$value string "up" or "down" based on TCP response
Результат boolean Results of wp_cache_set()

tcp_get_cache_expiration() защищенный Метод

Get the number of seconds TCP response is good for
С версии: 3.0.0
protected tcp_get_cache_expiration ( ) : integer
Результат integer

tcp_get_cache_key() защищенный Метод

Get the cache key used for TCP responses
С версии: 3.0.0
protected tcp_get_cache_key ( string $host, string $port ) : string
$host string
$port string
Результат string

Описание свойств

$check_tcp_responsiveness публичное свойство

Whether to check with fsockopen prior to mysql_connect
public $check_tcp_responsiveness

$db_connections публичное свойство

The log of db connections made and the time each one took
public $db_connections

$dbh публичное свойство

The current MySQL link resource
public resource $dbh
Результат resource

$dbh2host публичное свойство

Lookup array (dbhname => host:port)
public $dbh2host

$dbhs публичное свойство

Associative array (dbhname => dbh) for established MySQL connections
public array $dbhs
Результат array

$default_lag_threshold публичное свойство

Maximum lag in seconds. Set null to disable. Requires callbacks
public $default_lag_threshold

$last_found_rows_result публичное свойство

After any SQL_CALC_FOUND_ROWS query, the query "SELECT FOUND_ROWS()" is sent and the MySQL result resource stored here. The next query for FOUND_ROWS() will retrieve this. We do this to prevent any intervening queries from making FOUND_ROWS() inaccessible. You may prevent this by adding "NO_SELECT_FOUND_ROWS" in a comment
public resource $last_found_rows_result
Результат resource

$last_table публичное свойство

The last table that was queried
public string $last_table
Результат string

$last_used_server публичное свойство

The last server used and the database name selected
public $last_used_server

$ludicrous_callbacks публичное свойство

Optional directory of callbacks to determine datasets from queries
public $ludicrous_callbacks

$ludicrous_servers публичное свойство

The multi-dimensional array of datasets and servers
public $ludicrous_servers

$ludicrous_tables публичное свойство

Optional directory of tables and their datasets
public $ludicrous_tables

$max_connections публичное свойство

The maximum number of db links to keep open. The least-recently used link will be closed when the number of links exceeds this
public $max_connections

$open_connections публичное свойство

The list of unclosed connections sorted by LRU
public $open_connections

$persistent публичное свойство

Whether to use mysql_pconnect instead of mysql_connect
public $persistent

$reconnect_retries защищенное свойство

The number of times to retry reconnecting before dying
См. также: wpdb::check_connection()
protected int $reconnect_retries
Результат integer

$save_backtrace публичное свойство

Whether to save debug_backtrace in save_query_callback. You may wish to disable this, e.g. when tracing out-of-memory problems.
public $save_backtrace

$save_queries публичное свойство

Whether to store queries in an array. Useful for debugging and profiling
public bool $save_queries
Результат boolean

$save_query_callback публичное свойство

Custom callback to save debug info in $this->queries
public $save_query_callback

$srtm публичное свойство

Otherwise it is an array of written tables
public $srtm

$used_servers публичное свойство

Lookup array (dbhname => (server, db name) ) for re-selecting the db when a link is re-used
public $used_servers