ГуРу новости: Пара советов по тестированию контроллеров Symfony2

В статье рассмотрены 2 вопроса: использование Service Container в тестах контроллеров (преимущественно маршрутизатор/router), а также авторизация тестового пользователя без заполнения формы:

http://symfony-gu.ru/blog/ru/symfony2-testing-hints/

PhpStorm: поддержка Symfony Command Line

Начиная с PhpStorm 2.0 можно использовать Symfony command line tool при помощи Command Line Tool Support.

Ниже приводится небольшое руководство по использованию. Вам понадобится PhpStorm 2.0 и Symfony 1.1 или более поздней версии (включая Symfony 2.0 BETA – в оригинальное руководство не входило, но мной проверено). Если у вас нет Symfony, руководство по установке вы можете найти здесь.

Continue reading

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

Я думаю многих смущает отсутствие preExecute в стандартном контроллере Symfony2. Ниже я приведу возможное решение данного вопроса при помощи внедрения зависимости через Service Container (Оригинал подсмотрен у Szymon Szewczyk).

UPDATE 20 января 2012: статья обновлена в соответствии с современными реалиями SF 2.0.9 (фактически изменения коснулись именования тага и события)

Continue reading

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

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

Continue reading

Symfony2: доступ к одной службе из другой

По результатам опроса о чем написать, естественно большинство захотело известий с полей. На большую статью пока не замахиваюсь, но по мере появления интересных сниппетов постараюсь ими делиться.

Сегодняшний сниппет посвящается службам (сервисам), а именно – как получить доступ из пользовательской службы к другой службе в рамках приложения.

Положим у нас в нашем пакете есть служба Company\SuperBundle\Service\CoolService описываемая следующей конфигурацией:

Continue reading

ProFTPD – symlink = mount

Потребовалось мне сделать на девелопеском сервере логин для временного человечка, который JavaScript кумекает. Это конечно не проблема, но вот что меня в тупик поставило на некоторое время.

Помимо собственно FTP на сервер, человечку нужен был виртуальный хост для его отладочных нужд. Сервер как правило использовался только проверенными людьми, поэтому особо с безопасностью никто особо не заморачивался. Ан вот приспичило. На счастье, попался мне на просторах интерентов документик ProFTPD mini howto, в котором подробно разбирается почему демон не хочет работать с прямыми симлинками из хомяка в docroot виртуальника (в моем случае). Собственно остановился я на этом решении:

Filesystem Tricks […]

To have an exact duplicate of the /var/ftp/incoming directory available in /home/bob/incoming and /home/dave/incoming, use one of these commands:

Linux (as of the 2.4.0 kernel):

  mount --bind /var/ftp/incoming /home/bob/incoming
  mount --bind /var/ftp/incoming /home/dave/incoming

Что я в общем-то и применил.

P.S. Надеюсь дыр в безопасности не добавил )

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

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

Continue reading