![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
Gold Dragon |
|
||||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 2 Всего: 71 |
ksnk, а вот впихнуть кэширование в инициализацию - мысль очень даже интересная. Можно что угодно докручивать кстати. Вот только ...
да, идея интересная, но с другой стороны, а не излишняя?
![]()
![]() -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
||||
|
|||||
ksnk |
|
||||||||||||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 14 Всего: 386 |
30.10.2012, 09:12 - первый пост, начало мысли, а в 30.10.2012, 13:36 уже проект на гитхабе. Не пара, конечно, но все равно довольно быстро. Ну и допиливал понемногу в течении дня. Сейчас, кстати, он сравнивается с pdo и не особенно значительно проигрывает в скорости. По большому счету - можно пренебречь... А в удобстве, imho, будет превосходить. Там в test/spl_templaterTest.php есть немножко примеров традиционных запросов. Это части phpUnit, но понять что и как исользуется - можно.
-------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
||||||||||||
|
|||||||||||||
Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 2 Всего: 71 |
ты фанат шаблонов
![]() ksnk, а не получится так что к твоему творчеству придётся справочник писать? Ты практически новый язык придумал -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 14 Всего: 386 |
Синтаксис от Твига. Точнее от Django-template. Так что если есть опыт использования таких темплейтов - нет ничего сложного, просто пару новых слов запомнить ;) Несколько непривычно для twig'а используется знак вопросика, но это остаточек от традиционного sql-плейсхолдинга, вроде должно быть относительно привычно. Вот насчет условных операторов сложнее, если их использовать, то оттранслировать это с помощью только строковых операций уже не удастся, получится тяжелее и дольше по времени трансляции. Хотя IF'ы, в принципе, не помешали бы. Да и циклам нашлось бы применение для монтажа простыней из insert values... Впрочем, обойдусь, пока. ;) Пока я попробую наладить и потестировать систему перехвата ошибок трансляции, она там пока просто никакая. А вообще-то получилось забавно, и вроде, вполне работоспособно... ![]() -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
|||
|
||||
Gold Dragon |
|
||||||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 2 Всего: 71 |
кстати, по ходу... не могу отловить исключение при создании объекта
знаний не хватает. Вылетает варнинг по типу
А нужно чтобы всё грамотно было типа так
Это сообщение отредактировал(а) Gold Dragon - 31.10.2012, 07:32 -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
||||||
|
|||||||
ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 14 Всего: 386 |
А что перехватывать-то надо? Неправильные параметры в _config? или проблемы с созданием объекта mysqli? Вроде в php.net про это какие-то примеры есть. не подойдет?
-------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
|||
|
||||
Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 2 Всего: 71 |
Ну да, если ошибка в пароле, пользователе, названии базы....
Т.е. не чтобы ошибка вылетала, а именно исключение -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 14 Всего: 386 |
вот, довольно кошерный пример по моей ссылке. Там еще есть разной степени применимости. -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
|||
|
||||
baldina |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 2 Всего: 101 |
|
||||
|
|||||
Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 2 Всего: 71 |
baldina, а разве несколько раз можно объявлять подобную конструкцию? Просто у меня это класс уже в этой констукции.... т.е. в index.php
Добавлено через 4 минуты и 34 секунды ksnk, что-то как-то не то... В том то и дело что всё остальное отлично ловит исключения, и даже после new, но вот если ошибка в new, то выдаёт и ошибку и исключение на connect_error друг за другом Это сообщение отредактировал(а) Gold Dragon - 31.10.2012, 20:34 -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
baldina |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 2 Всего: 101 |
какую именно? Добавлено через 3 минуты и 40 секунд если try...catch, то сколько угодно. поймается исключение там, где первый блок catch соответствует по типу. но вообще стратегию ловли исключений продумывать надо, это же часть архитектуры. исключения хороши там, где требуется обработать ошибку не на том уровне, где она возникла, плюс управлять обработкой: не нужно тащить вверх коды ошибок, не нужно лишних if Добавлено через 7 минут и 33 секунды вообще, как я понял, проблема была не в обработке исключений, а что они не генерятся. решение - mysqli_report (MYSQLI_REPORT_STRICT); |
|||
|
||||
Gold Dragon |
|
||||||||||||||||||||||||||||||||||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 2 Всего: 71 |
Так, всё закачал на GitHub
https://github.com/GoDr/GDLDatabase Попытался всё здраво описать... (wiki пока не создавал) в файле index.php приведены все примеры Вот описание всех методов Дамп тестовой таблицы
select() - Вывод всех значений
selectRow() - Вывод первой строки
selectCol() - Вывод первого столбца запроса
selectCell() - Вывод первой ячейки первого столбца запроса
update() - Обновление записи
insert() - Вставка записи
replace() - Перезапись записи
delete() - Удаление записи
getCacheSql() - Вывод всех значений (метод selectRow) при использовании кэширования
Транзакция
simpleQuery() - Простое выполнение запроса
getQueryInfo() - Получение дополнительной информации о последнем запросе
getError() - Описание ошибки последнего запроса
getErrno() - Описание номера ошибки последнего запроса
showProfiles() - Показать профилирование запросов
getObject() - Возвращает обьект класса mysqli для нереализованных операций
Добавлено через 6 минут и 19 секунд Жду обсуждений по этому классу... Это сообщение отредактировал(а) Gold Dragon - 5.11.2012, 16:23 -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||
Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 2 Всего: 71 |
Чуть изменил метод getQueryInfo(). Теперь может выводит как ассоциативный массив с дополнительной информацией, так и значение конкретного ключа если передать имя ключа
Например:
-------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
Fortop |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 3 Всего: 42 |
Gold Dragon, еще не наигрался?
http://framework.zend.com/manual/2.0/en/index.html#zend-db http://framework.zend.com/manual/1.12/en/zend.db.html -------------------- Мир это Я. Живее всех живых. |
|||
|
||||
Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 2 Всего: 71 |
нет конечно. И я как-то говорил что мне не нужен супер-монстр, а нужен маленький монстрёнок
![]() -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Базы Данных | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |