Category Archives: Doctrine

Взаимная блокировка транзакций БД. Как решать проблему?

В данной статье описывается решение проблемы взаимных блокировок транзакций БД, когда одна транзакция блокирует данные и не дает запуститься другой.

Новый подход к тестированию Zend Framework/Doctrine приложения: пусть тестируют пользователи!

Когда проект растет, то, как правило, растет и его кодовая база, количество модулей, да и число программистов, вовлечённых в проект. Постепенно от закачки файлов по ftp (если такое было 🙂 команда переходит к Subversion/Git репозитарию, тикет-системам и начинает использовать инструменты для увеличения производительности совместной работы.

Сложный код, плавающие баги и инсайт

Мы три дня ловили баг. Есть такая противная категория ошибок – плавающие баги.  Гейзенбаг (англ. Heisenbug) — термин, используемый в программировании для описания программной ошибки, которая исчезает или меняет свои свойства при попытке её обнаружения. Это слово, в отличие от слова «баг», в русском языке практически не используется. Не полностью идентичный, но достаточно близкий по значению русскоязычный термин — «плавающая ошибка». Примером могут являться ошибки, которые проявляются в окончательном варианте программы (релизе),

DQL to Raw SQL

Я довольно давно работаю с Doctrine ORM, и очень часто при отладке необходимо посмотреть, какой именно SQL запрос получается из DQL запроса. Для этого раньше я использовал $dql->getSqlQuery() вместе с $dql->getParams(). Первая команда отображает SQL-запрос плейсхолдерами (“?”) вместо переменных, а вторая собственно отображает массив переменных. Приходится смотреть туда-сюда, чтобы сопоставить их. Ладно если запрос маленький, а если большой – то это быстро утомляет.

Ruby VS PHP, Rails VS Zend Framework

Итак, в предыдущей заметке мы создали наше первое приложение. Какие выводы можно из этого сделать? Предлагаю обсуждение, что лучше для веб-разработки Ruby on Rails или Zend Framework. Понимаю, что из этого может вырасти холивар, но мне интересны конкретные аспекты этих фреймворков. И да, будем сравнивать правильно язык с языком (Ruby VS PHP), фреймфорк с фреймворком (Rails VS Zend Framework). Полагаю что результаты можно будет экстраполировать и на другие PHP -фреймворки (Symfony,

Сессии в БД и SET NAMES utf8 в Zend Framework

Zend Framework очень хорош, на нём удобно строить большие системы, но уж очень он неповоротлив. У нас в системе есть несколько утилит, который вызываются через AJAX-запрос после загрузки страницы и делают что-нибудь полезное. Например, есть утилита которая подгружает варианты автодополнения при поиске по сайту, еще есть утилита, которая обновляет статусы пользователей (онлайн-офлайн) на странице. Вот с последней сегодня приключилась большая проблема.