Tag Archives: snippet

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

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

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

Symfony2: аналог preExecute() для контроллера

Я думаю многих смущает отсутствие preExecute в стандартном контроллере Symfony2. Ниже я приведу возможное решение данного вопроса при помощи внедрения зависимости через Service Container (Оригинал подсмотрен у Szymon Szewczyk). UPDATE 20 января 2012: статья обновлена в соответствии с современными реалиями SF 2.0.9 (фактически изменения коснулись именования тага и события)

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

Symfony2: выборка случайной записи при помощи Doctrine2 Repository

Я уже рассматривал в одной из прошлых статей случайные выборки (см.). Сейчас мы самым простым способом интегрируем получение случайной записи в Symfony2 проект при помощи Doctrine2 Repository.

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

Валидация email в стиле Swift Mailer

Довелось на днях играться с email-рассылкой в symfony 1.4 при помощи Swift mailer. Тема массовых рассылок достойна отдельного поста, поэтому пока остановлюсь на валидации email в стиле Swift. Зачем вообще понадобилась такая валидация? Как раз об этом я и собирался рассказать:

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

Symfony: прячем фильтры в админ-генераторе

Фильтры в админ-генераторе штука хорошая, но всегда думаешь куда бы их пристроить на странице. Если полей в модели больше чем 3-5 это становится проблемой. Предлагаю вашему вниманию небольшой трюк по этому поводу. Нам потребуется JQuery, любимый редактор и немного терпения:

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

Symfony без слэша на хвосте

Часто-часто задаваемый вопрос в канале по symfony: как избавиться от слэша на конце URL почему DoctrineRouteCollection не принимает последний слэш и т.д. в том же духе Так вот вам просто сниппет в помощь: #to avoid trailing slash problem RewriteRule ^(.+)/$ http://%{HTTP_HOST}/$1 [R=301,L] Научной ценности сниппет не представляет, но вопрос действительно часто спрашиваемый ) Так что [...]

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

Сниппет: загружаем переменные app.yml из CLI task в symfony

В ходе обсуждения в русскоязычном чате пользователей symfony возник вопрос о загрузке конфигурационных констант из app.yml в контексте CLI таска. Как правило, с теми классами, которые работают из-под приложения (frontend, backend или что там у вас), проблем не возникает. Не зависимо от того на каком уровне расположен app.yml, к нему можно получить доступ стандартными средствами [...]

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

Unescape для User flash message в symfony

Эскейпинг это конечно хорошо, но иногда надо таки вывести что-то без него. Ранее уже описывался способ вывода неэкранированных данных, но как выяснилось, для flash сообщений он не работает. Рабочий вариант у меня получился таким: <?php echo sfOutputEscaper::unescape( $sf_user->getFlash(‘notice’) ) ?> Используется такой вариант для вывода HTML кода в сообщении (например, чтобы быстро перейти куда-либо прямо [...]

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

Symfony forms. Тюнинг формы загрузки файла: заменяем хэширование имени файла на транслитерацию

Задача: Стандартная форма с загрузкой файла. Нужно избавиться от стандартного хеширования имени файла при загрузке и сохранять оригинальное имя файла. Кроме того, во избежание граблей с кириллицей, надо транслитерировать имя файла и заменить пробелы на подчерки (данный сниппет актуален для ORM Doctrine).

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

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

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

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