valitskiydmitriy: хм... вместо пункта 2) можно использовать настройку PDO:
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); php.net/manual/ru/pdo.error-handling.php
в рамках тестирования можно включать данную опцию
valitskiydmitriy: может... если $db - объект PDO, что требуется еще уточнить с вашей стороны. То:
1) параметры в функции ->prepare, лучше использовать как в Примере 1 по ссылке: php.net/manual/ru/pdo.prepare.php
2) обратите внимание что функция ->execute() возвращает bool, и в случае ошибки не плохо было бы добавить обработчик по типу trigger_error('код ошибки:'.$db->errorCode(), E_USER_ERROR)
dk-web: смотря что вы планируете получать от серверной части... если data - это уже html, т.е. фактически все основные процессы у вас происходят на сервере (php), клиентская часть(jQuery) используется только как транспорт. Но если вы хотите чтобы серверная часть отдавала данные в виде json или xml или другой вариант, но главное что они чистые, не форматированные данные, сообщение об ошибках. Тогда клиентская часть должна уметь форматировать и обрабатывать ошибки. Вы должны выбрать какой-то вариант и придерживаться уже этого варианта в дальнейшем... такой коммент помог? или что вы ждете? P.S. не исключаю, что существуют и другие варианты, предлагайте подумаем вместе.
в примере нет запросов к бд... каждый раз, если не найден перевод у вас идет обращение к апи... как вариант можете подсмотреть реализацию в cms. Могу сказать что встречал такую реализацию через gettext. Вкратце, перевод реализован через ключевые фразы, есть функция, которая ищет перевод по ключевой фразе эту функцию вы используете в шаблонах вывода: __('мне требуется перевод'), и соответственно есть файл, в который каждой ключевой фразе вы предварительно сохраняете перевод. Файл можете заменить базой данных, инициировать все переводы можно однажды в ассоциативный массив, как скорее всего и делается, где ключевая фраза становится ключом к переводу. Функция ищет в массиве перевод, если не находит возвращает ключевую фразу. Плюсы: вам не нужно хранить несколько шаблонов вывода для каждого языка. Работа с переводами, актуализация, синхронизация и прочие зации отделены от бизнес процесса. Ну и если вы будете использовать gettext, то кажется эта хрень оптимизирована для работы с высокой нагрузкой... хотя видел и реализации, которые специально удаляли gettext из cms
Анатолий K: похоже dk-web дорос до рефакторинга. если проект такой универсальный может выложит на github? подключимся посмотрим... вообще было бы не плохо начать документацию и желательно со структуры файлов, добавление комментариев к основным блокам, выделение похожих сценариев использования - для определение пакетов и классов... ну если уж этого хочется... а так действительно цель не поянтна, работает - не трогай
faragly: мне не для смеха... я хотел поучаствовать. Как писал ранее, меня рассмешило, что это становится неким стандартом или культом, хотя практическое применение на мой взгляд сомнительно: поддержка, отладка. С другой стороны, как я и говорил это вопрос проектирования продукта, оговариваемые интерфейсы использования.
Kostik_1993: а смешно это потому что не имеет отношения к php, т.к. не является стандартом php, я уж подумал что горе-программист любитель обфускаторов выеживается с приоритетом операторов, а оказалось что это "популярный фреймворк", мне показалось смешно
Вы уточняйте что это bootstrap, www.w3schools.com/bootstrap/bootstrap_tooltip.asp
Tip: You can also use the data-placement attribute with a value of "auto", which will let the browser decide the position of the tooltip. For example, if the value is "auto left", the tooltip will display on the left side when possible, otherwise on the right.