[ Index ]

PHP Cross Reference of YOURLS

title

Body

[close]

/includes/Database/ -> YDB.php (summary)

Aura SQL wrapper for YOURLS that creates the almighty YDB object.

File Size: 618 lines (18 kb)
Included or required:0 times
Referenced: 0 times
Includes or requires: 0 files

Defines 1 class

YDB:: (44 methods):
  __construct()
  init()
  set_emulate_state()
  get_emulate_state()
  connect_to_DB()
  dead_or_error()
  start_profiler()
  set_html_context()
  get_html_context()
  set_option()
  has_option()
  get_option()
  delete_option()
  set_infos()
  has_infos()
  get_infos()
  delete_infos()
  update_infos_if_exists()
  get_plugins()
  set_plugins()
  add_plugin()
  remove_plugin()
  get_plugin_pages()
  set_plugin_pages()
  add_plugin_page()
  remove_plugin_page()
  get_num_queries()
  get_queries()
  set_installed()
  is_installed()
  mysql_version()
  fetchAffected()
  fetchAll()
  fetchAssoc()
  fetchCol()
  fetchGroup()
  fetchObject()
  fetchObjects()
  fetchOne()
  fetchPairs()
  fetchValue()
  perform()
  fetch_wrapper()
  without_filters()


Class: YDB  - X-Ref

__construct($dsn, $user, $pass, $options)   X-Ref

param: string $dsn     The data source name
param: string $user    The username
param: string $pass    The password
param: array  $options Driver-specific options
since: 1.7.3

init()   X-Ref
Init everything needed

Everything we need to set up is done here in init(), not in the constructor, so even
when the connection fails (e.g. config error or DB dead), the constructor has worked,
and we have a $ydb object properly instantiated (and for instance yourls_die() can
correctly die, even if using $ydb methods)

return: void
since: 1.7.3

set_emulate_state()   X-Ref
Check if we emulate prepare statements, and set bool flag accordingly

Check if current driver can PDO::getAttribute(PDO::ATTR_EMULATE_PREPARES)
Some combinations of PHP/MySQL don't support this function. See
https://travis-ci.org/YOURLS/YOURLS/jobs/271423782#L481

return: void
since: 1.7.3

get_emulate_state()   X-Ref
Get emulate status

return: bool
since: 1.7.3

connect_to_DB()   X-Ref
Initiate real connection to DB server

This is to check that the server is running and/or the config is OK

return: void
since: 1.7.3

dead_or_error(\Exception $exception)   X-Ref
Die with an error message

return: void
param: \Exception $exception
since: 1.7.3

start_profiler()   X-Ref
Start a Message Logger

return: void
since: 1.7.3

set_html_context($context)   X-Ref

return: void
param: string $context

get_html_context()   X-Ref

return: string

set_option($name, $value)   X-Ref

return: void
param: string $name
param: mixed  $value

has_option($name)   X-Ref

return: bool
param: string $name

get_option($name)   X-Ref

return: string
param: string $name

delete_option($name)   X-Ref

return: void
param: string $name

set_infos($keyword, $infos)   X-Ref

return: void
param: string $keyword
param: mixed  $infos

has_infos($keyword)   X-Ref

return: bool
param: string $keyword

get_infos($keyword)   X-Ref

return: array
param: string $keyword

delete_infos($keyword)   X-Ref

return: void
param: string $keyword

update_infos_if_exists($keyword, $infos)   X-Ref

return: void
param: string $keyword
param: mixed  $infos

get_plugins()   X-Ref

return: array

set_plugins(array $plugins)   X-Ref

return: void
param: array $plugins

add_plugin($plugin)   X-Ref

return: void
param: string $plugin  plugin filename

remove_plugin($plugin)   X-Ref

return: void
param: string $plugin  plugin filename

get_plugin_pages()   X-Ref

return: array

set_plugin_pages(array $pages)   X-Ref

return: void
param: array $pages

add_plugin_page( $slug, $title, $function )   X-Ref

return: void
param: string   $slug
param: string   $title
param: callable $function

remove_plugin_page( $slug )   X-Ref

return: void
param: string $slug

get_num_queries()   X-Ref
Return count of SQL queries performed

return: int
since: 1.7.3

get_queries()   X-Ref
Return SQL queries performed

return: array
since: 1.7.3

set_installed($bool)   X-Ref
Set YOURLS installed state

return: void
param: bool $bool
since: 1.7.3

is_installed()   X-Ref
Get YOURLS installed state

return: bool
since: 1.7.3

mysql_version()   X-Ref
Return MySQL version

return: string
since: 1.7.3

fetchAffected(string $statement, array $values = [])   X-Ref
Fetch the number of affected rows

return: int Number of affected rows
param: string $statement SQL statement to execute
param: array  $values    Optional. Values to bind to the statement. Default empty array.
since: 1.10.4

fetchAll(string $statement, array $values = [])   X-Ref
Fetch all rows

return: array All rows returned by the query
param: string $statement SQL statement to execute
param: array  $values    Optional. Values to bind to the statement. Default empty array.
since: 1.10.4

fetchAssoc(string $statement, array $values = [])   X-Ref
Fetch all rows as associative arrays

return: array All rows as associative arrays
param: string $statement SQL statement to execute
param: array  $values    Optional. Values to bind to the statement. Default empty array.
since: 1.10.4

fetchCol(string $statement, array $values = [])   X-Ref
Fetch a single column from all rows

return: array First column values from all rows
param: string $statement SQL statement to execute
param: array  $values    Optional. Values to bind to the statement. Default empty array.
since: 1.10.4

fetchGroup(string $statement, array $values = [], int $style = PDO::FETCH_COLUMN)   X-Ref
Fetch rows grouped by the first column

return: array Rows grouped by the first column value
param: string $statement SQL statement to execute
param: array  $values    Optional. Values to bind to the statement. Default empty array.
param: int    $style     Optional. PDO fetch style constant. Default PDO::FETCH_COLUMN.
since: 1.10.4

fetchObject(string $statement, array $values = [], string $class = 'stdClass', array $args = [])   X-Ref
Fetch a single row as an object

return: object|false Object representing the row, or false if no rows found
param: string $statement SQL statement to execute
param: array  $values    Optional. Values to bind to the statement. Default empty array.
param: string $class     Optional. Class name for the returned object. Default 'stdClass'.
param: array  $args      Optional. Constructor arguments for the class. Default empty array.
since: 1.10.4

fetchObjects(string $statement, array $values = [], string $class = 'stdClass', array $args = [])   X-Ref
Fetch all rows as objects

return: array All rows as objects
param: string $statement SQL statement to execute
param: array  $values    Optional. Values to bind to the statement. Default empty array.
param: string $class     Optional. Class name for the returned objects. Default 'stdClass'.
param: array  $args      Optional. Constructor arguments for the class. Default empty array.
since: 1.10.4

fetchOne(string $statement, array $values = [])   X-Ref
Fetch a single row as an array

return: array|false Associative array representing the row, or false if no rows found
param: string $statement SQL statement to execute
param: array  $values    Optional. Values to bind to the statement. Default empty array.
since: 1.10.4

fetchPairs(string $statement, array $values = [])   X-Ref
Fetch key-value pairs

return: array Associative array of key-value pairs
param: string $statement SQL statement to execute
param: array  $values    Optional. Values to bind to the statement. Default empty array.
since: 1.10.4

fetchValue(string $statement, array $values = [])   X-Ref
Fetch a single value

return: mixed Single value from the query result
param: string $statement SQL statement to execute
param: array  $values    Optional. Values to bind to the statement. Default empty array.
since: 1.10.4

perform(string $statement, array $values = [])   X-Ref
Performs a query with bound values and returns the resulting PDOStatement
You most likely should not use this method directly. Use the fetch_* methods instead.

return: PDOStatement
param: string $statement The SQL statement to perform.
param: array  $values    Values to bind to the query
since: 1.10.4

fetch_wrapper(string $method, ...$args)   X-Ref
Wrapper for all fetch methods, allowing plugins to intercept and modify query results.

return: mixed The cached result if available, otherwise the fresh query result
param: string $method  The parent fetch method name to call (e.g., 'fetchAll', 'fetchValue')
param: mixed  ...$args Variable number of arguments to pass to the parent method
since: 1.10.4

without_filters(callable $callback)   X-Ref
Execute a callback with filters temporarily disabled

This method allows bypassing the plugin filter system for the duration of the callback execution. Useful to
prevent infinite loops when a filter needs to call the original method without re-triggering itself.

Example usage:
$ydb = yourls_get_db('write-get_from_cache');
$result = $ydb->withoutFilters(function($db) use ($method, $args) {
return $db->fetch_wrapper($method, ...$args);
});

return: mixed
param: callable $callback
since: 1.10.4



Generated: Wed Apr 8 05:10:41 2026 Cross-referenced by PHPXref 0.7.1