RotorCMS PDO MySQL (Обращение к Vantuz'у)
1.
Максим (13.08.2010 / 15:58)
<?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 функций!!!!!!
Думаю это было бы оч хорошей албтернативой!!! Как вы на это смотрите? Пожалуйста отпишитесь...
2.
Максим (13.08.2010 / 16:01)
Ну это сугубо лично моё мнение. Функций этого класса для обращения к базе мне вполне хватает мне вполне с лихвой хватает...
3.
Вантуз-мен (13.08.2010 / 16:02)
1.
SPunk, да ты прав, вполне возможно, у меня была идея такая
4.
Максим (13.08.2010 / 16:09)
3.
Vantuz, Кстате не тока с mysql можно так сделать но и с другими базами.
Лучше задуматься об этом сейчас пока "не нарисовали" кучу модов и апдейтов к двигу.
Кстате двиг замечательный!!!
Ещёб шаблонизатор "влупить" и вообще офигенно получется!
Ой, чёта меня понесло....)
5.
Михаил (13.08.2010 / 19:40)
class pdo_mysql extends sql_utils {са
...
sql_utils это что за класс?
6.
ramzes (13.08.2010 / 19:56)
проще сделать автоопределение PDO;;MySQLi
7.
Артур (13.08.2010 / 20:02)
Омг. Как по мне - бред. Из-за каких-то единиц говнохостов такую фигню пороть.
8.
iSor0k (13.08.2010 / 20:11)
Кстати в форуме phpBB перед установкой можно выбирать тип SQLite MySQL MySQLi и пр.
Если не затруднительно то не плохо было бы реализовать.
9.
Максим (13.08.2010 / 20:50)
5.
Flyd, упс) sql_utils забыл стереть. Я этот класс sql_utils расширял.....
10.
Максим (13.08.2010 / 20:55)
iSor_есть чо7 (13 Августа 2010 / 20:11)
Кстати в форуме phpBB перед установкой можно выбирать тип SQLite MySQL MySQLi и пр.
6.
ramzes, Так ведь эти классы надо для начала реализовать, чтоб про выбор базы или автовыбор. В каждых классах бд немного разные методы...
11.
ramzes (13.08.2010 / 21:01)
это и так понятно
12.
Максим (13.08.2010 / 21:05)
11.
ramzes, Дык я о чём здесь толдычил??? а? умник...
13.
Nu3oN (13.08.2010 / 21:06)
имхо, фигня все это!
погонишься за двумя зайцами от двоих п***ы получишь!
14.
Артур (13.08.2010 / 21:08)
//^ЗАЯЦ знает
15.
ramzes (13.08.2010 / 21:08)
смотря кто пишет)) ни чего сложного инициализировать небольшой класс с переходными методами для адаптации методов под другой класс
#14 ыыы +1
16.
Nu3oN (13.08.2010 / 21:10)
Fuelen (13 Августа 2010 / 21:08)
//^ЗАЯЦ знает
Ыыыы... дружище, когда в аське появишься?
ramzes (13 Августа 2010 / 21:08)
смотря кто пишет)) ни чего сложного инициализировать небольшой класс с переходными методами для адаптации методов под другой класс
Это просто незачем
17.
Nu3oN (13.08.2010 / 21:13)
На крайний случай зачем авто-определение?
При установке выдать варианты и показать какие поддерживаются хостингом! ну можно еще для тех кто в этих делах не очень шарит написать что лучше и почему!
18.
Максим (13.08.2010 / 21:15)
15.
ramzes, ну неужто...
19.
ramzes (13.08.2010 / 21:15)
17 потому что это проще и дуракам не дает косячить с выбором.
в общем суть изложил, а дальше пофиг))
20.
Максим (13.08.2010 / 21:17)
факи по базам они пусть сами ищут и читаю))
21.
Nu3oN (13.08.2010 / 21:18)
Ладно короче... не буду лезть в разговор взрослых дядек, а то потом виноватым выйду
22.
Максим (13.08.2010 / 21:19)
19.
ramzes, автоопределение - типо первый класс попавшийся в массиве списка загруженных классов?!) Лучше предоставить право выбора
23.
Nu3oN (13.08.2010 / 21:21)
SPunk (13 Августа 2010 / 21:19)
19. ramzes, автоопределение - типо первы попавшийся в массиве списка загруженных классов?!)
почему же? сделать такую фень типа, если есть 1 то выбираем его, если нет первого проверяем второе, второе есть выбираем его, если же нет первого и второго выбираем третье...
---
Все можно сделать, приложив к этому голову =)
24.
Максим (13.08.2010 / 21:32)
23.
Nu3oN, согласен. В этом нет абсолютно ничего сложного...
---
Ибо 0011 0101 0111 - это электронный бог цифровой индустрии)))
25.
ramzes (13.08.2010 / 23:04)
22, движок написан с применением pdo так нафига запускать его с mysqli если pdo в наличии?
это если его нет или глючит то можно альтернативный класс запускать
26.
Артур (14.08.2010 / 09:05)
PDO будет в пхп 6 в стандартной постановке. Мускули же нет. Вот qpik отключил мускули (и у меня сайт не работает теперь
), но PDO есть
Моё личное мнение - использование mysqli - шаг назад. PDO более функционален, есть возможность обработки исключений..
16, когда ноута заберу в чёла одного, т.е. сегодня)
27.
Олег (14.08.2010 / 11:59)
Fuelen, исключение это самодостаточная реализация в php, которую можно приенять везде, в том числе и в MySQLi
28.
ктулху (14.08.2010 / 15:07)
iSor_есть чо7 (13 Августа 2010 / 22:11)
Кстати в форуме phpBB перед установкой можно выбирать тип SQLite MySQL MySQLi и пр.
Если не затруднительно то не плохо было бы реализовать.
PDO для того и сделано по идее. реализуй, Вантуз сразу сказал что это возможно.
29.
ктулху (14.08.2010 / 15:08)
Fuelen (14 Августа 2010 / 11:05)
PDO будет в пхп 6 в стандартной постановке. Мускули же нет. Вот qpik отключил мускули (и у меня сайт не работает теперь ), но PDO есть
Моё личное мнение - использование mysqli - шаг назад. PDO более функционален, есть возможность обработки исключений..
16, когда ноута заберу в чёла одного, т.е. сегодня)
Они и phpinfo запретили как потенциально опасную функцию
30.
ктулху (14.08.2010 / 15:40)
Извиняюсь за предыдущий пост, перепутал с другим хостингом (на xwab это обсуждалось)
31.
Артур (14.08.2010 / 22:49)
27.
Aligan, на сколько я знаю mysqli не бросает исключения. Там вместо класса обработки исключений класс MySQLi_Warning ;/
URL:
https://visavi.net/topics/12579