Маленький совет по роутингу в symfony framework

Целью данного поста является описание простого правила для модуля mod_rewrite, чтобы в вашем symfony приложении не приходилось писать в apps/someapp/config/routing.yml по 2 правила на каждый роут: со слешем и без него.

Суть проста, ниже приведу свой .htaccess:

  RewriteEngine On

  # uncomment the following line, if you are having trouble
  # getting no_script_name to work
  #RewriteBase /

  # we skip all files with .something
  #RewriteCond %{REQUEST_URI} \..+$
  #RewriteCond %{REQUEST_URI} !\.html$
  #RewriteRule .* - [L]

  # we check if the .html version is here (caching)
  #RewriteRule ^$ index.html [QSA]
  #RewriteRule ^([^.]+)$ $1.html [QSA]
  RewriteCond %{REQUEST_FILENAME} !-f

  #Remove trailing slash
  RewriteRule ^(.*)/$ index.php/$1 [QSA,L]

  RewriteCond %{REQUEST_FILENAME} !-f
  # no, so we redirect to our front web controller
  RewriteRule ^(.*)$ index.php [QSA,L]

Если у нас URI со слешем на конце, мы его “отрезаем”. Между тем сам url останется со слешем, если мы хотим в адресной строке браузера видеть урл без слеша в конце необходимо добавить параметр [R=301] для выделенного правила, чтобы произошел редирект.

Установка sphinx на Mac OS X Leopard

sphinx logo
Макось в который раз заставляет меня говорить о ней как о неудобной системе для разработчика (в отличие от Linux). Что же мы имеем при “дефолтной установке сфинкса”
Продолжение…

В NetBeans IDE 7.0 будет поддержка symfony


Большинство web-разработчиков, программирующих на symfony framework, используют Eclipse-подобные IDE (Eclipse, PDT, Aptana Studio - кстати на аптане я сейчас и сижу), либо плагины наподобие symfoclipse. И вот на днях я узнал радостную новость из официального блога фреймворка - Sun Microsystems собирается сделать symfony частью следующего релиза популярной NetBeans IDE (которая к слову больше популярна среди C++, Java программистов, нежели php). Сам я пару раз работал в этой среде и должен сказать, что она намного шустрее чем Aptana Studio, правда в текущей версии (v6.5) наблюдались долгие задумья при удалении папки, даже если она пустая. Думаю этот “незначительный” баг исправят к следующей версии и тогда я точно пересяду на NetBeans как основную среду для разработки на symfony.

А в чем пишите вы?

Symfony settings.yml reference

Неплохая дока по настройкам settings.yml в symfony framework от Fabien Potencier.
reference-book-teaser

Safari4 Beta не дает скачать iPhone SDK

Вчера начал закачку, сегодня утром включаю, нажимаю продолжить, а мне выдается:
safari4 bug

Пробовал менять права, не помогло.

Проблема с “bus error” на Mac OS X Leopard

В предыдущем посте я писал о том, что у меня слетает php-cli при запуске генерации моделей (propel:build-model) в symfony framework на Mac OS X Leopard (у меня 10.5.6). Потратил много времени на поиск решения проблемы и сейчас готов поделится одним из них. Сам локальный dev сервер у меня работает на MAMP, мне всего лишь нужен был прекомпилированный бинарник php-cli для выполнения tasks в symfony.

# mkdir /usr/local/src
# cd /usr/local/src
# wget http://www2.entropy.ch/download/php5-5.2.5-6-beta.tar.gz
# tar -xzf php5-5.2.5-6-beta.tar.gz
# cp -R php5 /usr/local
# sudo ln -s /usr/local/php5/bin/php /usr/bin/php5-entropy

И немного изменим скрипт symfony в корневой папке проекта, чтобы код исполнялся именно через php5-entropy:

$ cd /path/to/your/symfony/project
$ nano symfony

Первую строчку меняем на
#!/usr/bin/php5-entropy

Пробуем генерить:
./symfony propel:build-model

У меня все стало работать, надеюсь у вас тоже.

Другие посты

Купил белого друга

Небольшой апдейт php Alexa class

Кило, мега и гигабайты

Symfony и routing