Tag Archives: doctrine

Doctrine2: эмулируем timestampable behavior через lifecycle callback

Ниже рассмотрим простой, но имхо нужный пример по реализации аналога timestampable в Doctrine2.

Posted in Профессиональное | Also tagged , , , | 5 Comments

MySQL оптимизация: ORDER BY RAND()

Лирическое вступление: Довольно часто у нас возникает потребность выборки случайных данных из mysql базы данных. Как правило времени нет и используется самая простая конструкция вида SELECT [что-то] FROM [где-то] WHERE [то и сё] ORDER BY RAND(). Эта конструкция работает на ура. Но вот прототип выезжает на продуктовые сервера и такой милый сердцу запрос вдруг начинает [...]

Posted in Профессиональное | Also tagged , | 20 Comments

Doctrine forms – редактирование i18n контента

Данная заметка не открывает ничего нового, тем не менее, подобные вопросы постоянно возникают, в том числе и у меня.

Posted in Профессиональное | Also tagged , , | 11 Comments

Встраиваем форму с sfDoctrineJCroppablePlugin – решение проблем

Вы уже сталкивались в своей практике с замечательным плагином для symfony 1.2-1.4 – sfDoctrineJCroppablePlugin? Если нет, то в двух словах поясню что это такое. Итак, sfDoctrineJCroppablePlugin (он устанавливается в паре с еще одним очень полезным плагином – sfImageTransformPlugin) позволяет быстро и просто добавить в вашу форму аплоад картинки и прицепить к нему jquery-плагин jcroppable. Последний [...]

Posted in Профессиональное | Also tagged , , , | Leave a comment

Добавляем в форму sfGuardUser связь many-to-many

В данной заметке я расскажу об использованном мной способе добавления к sfGuardUser связи many-to-many.

Posted in Профессиональное | Also tagged , , , , , | 2 Comments

Symfony snippet: partial для постраничной навигации (pagination)

Предлагаю вашему вниманию небольшой сниппет для повседневного применения в symfony 1.3 – 1.4. Сниппет предназначен для отображения постраничной навигации по записям.

Posted in Профессиональное | Also tagged , , , , | 13 Comments

Сниппет: инициализация character_set и collation для Doctrine в Symfony

Для того чтобы Doctrine создавал таблицы в базе данных с правильным набором символов и collation (например utf8 и utf8_general_ci, а не latin1, используемый mysql по умолчанию (например)) необходимо выполнить простую инициализацию: // config/ProjectConfiguration.class.php: public function configureDoctrine(Doctrine_Manager $manager) { $manager->setCharset( ‘utf8′ ); $manager->setCollate( ‘utf8_unicode_ci’ ); } Спасибо Андрэю Дзягелю из русскоговорящего symfony-коммьюнити )

Posted in Профессиональное | Also tagged , , , , | Leave a comment

Магические числа и таблицы-справочники в Doctrine/Propel

Кросспост моего хабратопика. Коль скоро у вас в проекте используется база данных, то вам рано или поздно потребуются справочные таблицы. Такие таблицы я бы условно разбил на три категории: Небольшие справочники, до 10, реже 20 записей. Например – таблица статусов чего-нибудь (active|inactive|deleted как минимум). Средние справочники – от 20 до нескольких сотен записей. Например, таблица [...]

Posted in Профессиональное | Also tagged , , , | Leave a comment

Вывод неэкранированных (unescaped) данных в symfony 1.3/1.4

Коль скоро в symfony 1.3/1.4 по умолчанию включено экранирование (escaping) всех выводимых данных, вам рано или поздно понадобится вывести что-либо в неэкранированном виде. Судя по постоянным вопросам в коммьюнити, не все могут найти документацию по этому вопросу, поэтому публикую эту небольшую заметку.

Posted in Профессиональное | Also tagged , , | 6 Comments

Doctrine + memcached: использование и тестирование

Doctrine ORM имеет встроенный кэш-менеджер, который умеет кэшировать в Memcached APC DataBase (видимо имеется в виду некая плоская БД с быстрым доступом, типа SQLite) Узнав сей факт решил воспользоваться встроенным механизмом и протестировать механизм кэширования.

Posted in Профессиональное | Also tagged , , , , | Leave a comment