Archives Posts
May 19th, 2009 by pilot
Совсем не давно завершился Symfony UA CAMP, организованный украинским сообществом symfony.org.ua
Изначально мы планировали до 50 человек, но приехало больше 80, это нас очень порадовало. Обрадовали нас и орендадатели зала выделили в честь такого большого количества людей и зал побольше, за что им отдельное спасибо!
Мои доклады на конференции:
Read the rest of this entry »
Archives Posts
September 5th, 2008 by pilot
Сегодня мы поговорим о новой системе роутинга – роутинг фрейморк.
Роутинги как объекты класса
До symfony 1.2, система роутинга (через класс sfPatternRouting ) хранила роуты в ассоциативном массиве. Старая система отлично работает, но при этом трудно настраиваемая под свои нужды. Для того чтоб дать разработчикам свободу в модификации и улучшении процесса роутинга, в новой версии все роуты хранятся как массив объекта sfRoute.
Роутинг 1.2 совместим с 1.1 и не требует никаких дополнительных изменений в routing.yml файле.
Если вы хотите прописать роуты напрямую в PHP, теперь нужно указывать объект sfRoute вторым аргументов для методов connect(), preprendRoute(), appendRoute(), и insertRouteBefore() :
$routing->connect('foo_bar', new sfRoute('/foo/:bar', array('module' => 'foo', 'action' => 'bar')));
Настройка роута
Конструктор класса sfRoute принимает последним аргументом массив опций, который позволяет легко настраивать роуты. В конфигурационном файле routing.yml , ключ options применяется для замены настроек по умолчанию:
article:
url: /article/:id-:slug
options: { segment_separators: [/, ., -] }
В опции segment_separators указываются символы разделители для роута. В предыдущем примере как разделитель испольются - (дефис), которые в нашем случае так же валиден как и два разделителя встроенных по умолчанию (/ и .). Таких образом допускаются ссылки вида /article/1-my_article_title с переменной id равной 1 и slug равной my_article_title.
Read the rest of this entry »