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(); |