RotorCMS PDO MySQL (Обращение к Vantuz'у)

Print RSS
337

Author
Землянин
0
<?php
class pdo_mysql extends sql_utils {
    static $queryes = 0;
    static $time_parse;
    static $query_list;
    static $link;

    public function __construct()
    {
        try {
            self::$link = new PDO_('mysql:host=' . DB_HOST . ';port=' . DB_PORT . ';dbname=' . DB_NAME, DB_USER, DB_PASS);
            self::$link->exec('SET CHARACTER SET utf8');
            self::$link->exec('SET NAMES utf8');
        } 
        catch (PDOException $e) {
            die('Ошибка!!!<br />: ' . $e->getMessage());
        } 
    } 
	
	public static function num_rows($link)
	{
        try {
			$result = $link->rowCount();
        } 
        catch (PDOException $e) {
            die('Ошибка!!!<br />: ' . $e->getMessage());
        } 
		return $result;
	} 

	public static function fetch_assoc($link)
	{
        try {
			$result = $link->fetch();
        } 
        catch (PDOException $e) {
            die('Ошибка!!!<br />: ' . $e->getMessage());
        } 
		return $result;
	}

	public static function query($query)
	{
        self::$queryes++;
        $time_before = array_sum(explode(chr(32), microtime()));

        try {
			$result = self::$link->query($query);
        } 
        catch (PDOException $e) {
            die('Ошибка!!!<br />: ' . $e->getMessage());
        } 

        $tme_last = array_sum(explode(chr(32), microtime()));

        self::$time_parse += $tme_last - $time_before;
        self::$query_list[] = array('time' => round($tme_last - $time_before, 4),
            'query' => $query,
            'num' => self::$queryes);

		return $result;
	}

    public static function queryes()
    {
        return self::$queryes;
    } 

	public static function result($link, $column)
	{
		return $link->fetchColumn($column);
	}
} 

define('DB_DRVR', 'pdo_mysql'); // драйвер

static $database;

if (!$database) {
	eval('class DB extends ' . DB_DRVR . ' {}');
	$database = new DB();
}
?>

Я знал что есть спец тема "Вопрос - Ответ по RotorCMS", но всё-же решил создать отдельную тему. Читал про RotorCMS, говорят что у половины говнохостов не загружено расшитение pdo_mysql, так почему бы не переработать класс DB и сам проект под класс который описан выше? если нет поддержки pdo_mysql, то можно с лёгкостью заменить его классом с набором mysql функций!!!!!!
Думаю это было бы оч хорошей албтернативой!!! Как вы на это смотрите? Пожалуйста отпишитесь...
Changed: Максим (13.08.2010 / 15:59)
Author
Землянин
0
Ну это сугубо лично моё мнение. Функций этого класса для обращения к базе мне вполне хватает мне вполне с лихвой хватает...

Господин ПЖ
0
1. SPunk, да ты прав, вполне возможно, у меня была идея такая
Author
Землянин
0
3. Vantuz, Кстате не тока с mysql можно так сделать но и с другими базами.

Лучше задуматься об этом сейчас пока "не нарисовали" кучу модов и апдейтов к двигу.

Кстате двиг замечательный!!!
Ещёб шаблонизатор "влупить" и вообще офигенно получется!


Ой, чёта меня понесло....)
М

Малиновые штаны
0
class pdo_mysql extends sql_utils {са
...
sql_utils это что за класс?

2000 лет д.н.э.
0
проще сделать автоопределение PDO;;MySQLi

Землянин
0
Омг. Как по мне - бред. Из-за каких-то единиц говнохостов такую фигню пороть.
I

Чатланин
0
Кстати в форуме phpBB перед установкой можно выбирать тип SQLite MySQL MySQLi и пр.
Если не затруднительно то не плохо было бы реализовать.
Author
Землянин
0
5. Flyd, упс) sql_utils забыл стереть. Я этот класс sql_utils расширял.....
Changed: Максим (13.08.2010 / 20:51)
Author
Землянин
0
iSor_есть чо7 (13 Августа 2010 / 20:11)
Кстати в форуме phpBB перед установкой можно выбирать тип SQLite MySQL MySQLi и пр.

6. ramzes, Так ведь эти классы надо для начала реализовать, чтоб про выбор базы или автовыбор. В каждых классах бд немного разные методы...
Stickers / Tags / Rules / Top topics / Top Posts / Search