101 lines
2.3 KiB
PHP
101 lines
2.3 KiB
PHP
|
<?php
|
||
|
|
||
|
namespace Nextend\Framework\Database;
|
||
|
|
||
|
use Nextend\Framework\Database\Joomla\JoomlaConnector;
|
||
|
use Nextend\Framework\Database\Joomla\JoomlaConnectorTable;
|
||
|
use Nextend\Framework\Database\WordPress\WordPressConnector;
|
||
|
use Nextend\Framework\Database\WordPress\WordPressConnectorTable;
|
||
|
use Nextend\Framework\Pattern\SingletonTrait;
|
||
|
|
||
|
class Database {
|
||
|
|
||
|
use SingletonTrait;
|
||
|
|
||
|
/**
|
||
|
* @var AbstractPlatformConnector
|
||
|
*/
|
||
|
private static $platformConnector;
|
||
|
|
||
|
protected function init() {
|
||
|
self::$platformConnector = new WordPressConnector();
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @param $tableName
|
||
|
*
|
||
|
* @return AbstractPlatformConnectorTable
|
||
|
*/
|
||
|
public static function getTable($tableName) {
|
||
|
return new WordPressConnectorTable($tableName);
|
||
|
}
|
||
|
|
||
|
public static function getPrefix() {
|
||
|
return self::$platformConnector->getPrefix();
|
||
|
}
|
||
|
|
||
|
public static function parsePrefix($query) {
|
||
|
return self::$platformConnector->parsePrefix($query);
|
||
|
}
|
||
|
|
||
|
public static function insertId() {
|
||
|
|
||
|
return self::$platformConnector->insertId();
|
||
|
}
|
||
|
|
||
|
public static function query($query, $attributes = false) {
|
||
|
|
||
|
return self::$platformConnector->query($query, $attributes);
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Return with one row by query string
|
||
|
*
|
||
|
* @param string $query
|
||
|
* @param array|bool $attributes for parameter binding
|
||
|
*
|
||
|
* @return mixed
|
||
|
*/
|
||
|
public static function queryRow($query, $attributes = false) {
|
||
|
|
||
|
return self::$platformConnector->queryRow($query, $attributes);
|
||
|
}
|
||
|
|
||
|
public static function queryAll($query, $attributes = false, $type = "assoc", $key = null) {
|
||
|
|
||
|
return self::$platformConnector->queryAll($query, $attributes, $type, $key);
|
||
|
}
|
||
|
|
||
|
|
||
|
/**
|
||
|
* @param string $text
|
||
|
* @param bool $escape
|
||
|
*
|
||
|
* @return string
|
||
|
*/
|
||
|
public static function quote($text, $escape = true) {
|
||
|
|
||
|
return self::$platformConnector->quote($text, $escape);
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @param string $name
|
||
|
* @param null $as
|
||
|
*
|
||
|
* @return mixed
|
||
|
*/
|
||
|
public static function quoteName($name, $as = null) {
|
||
|
|
||
|
return self::$platformConnector->quoteName($name, $as);
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @return string
|
||
|
*/
|
||
|
public static function getCharsetCollate() {
|
||
|
|
||
|
return self::$platformConnector->getCharsetCollate();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
Database::getInstance();
|