%Q, %q, %W, %w, %x, %r, %s

Simple Ruby on Rails

%Q | %q | %W | %w | %x | %r | %s

 
%Q
This is an alternative for double-quoted strings, when you have more quote characters in a string.Instead of putting backslashes in front of them, you can easily write:

>> %Q(Joe said: "Frank said: "#{what_frank_said}"")
=> "Joe said: "Frank said: "Hello!"""

The parenthesis “()” can be replaced with any other non-alphanumeric characters and non-printing characters (pairs), so the following commands are equivalent:

>> %Q!Joe said: "Frank said: "#{what_frank_said}""!
>> %Q[Joe said: "Frank said: "#{what_frank_said}""]
>> %Q+Joe said: "Frank said: "#{what_frank_said}""+

You can use also:

>> %/Joe said: "Frank said: "#{what_frank_said}""/
=> "Joe said: "Frank said: "Hello!"""


%q
Used for single-quoted strings.The syntax is similar to %Q, but single-quoted strings are not subject to expression substitution or escape sequences.

>> %q(Joe said: 'Frank said: '#{what_frank_said} ' ') => "Joe said: 'Frank said: '\#{what_frank_said}…

View original post 137 more words

Symfony, Symfony2, PHP – прощайте

С пол года назад закончилось то время, когда я писал на PHP, использовал фреймворк Symfony, я страстно защищал свою привязанность к данным технологиям, видел в них собственное будущее и тп. Но, я перешел на написание кода на Ruby и фреймворк Ruby on Rails, теперь я понимаю, что PHP это полный отстой, в нем все очень долго приходится делать и все получается громоздким и медленным, возможно кто-то со мной не согласится, но это не мои проблемы, рельсы мне нравятся хотя иногда и встречается некая магия, которая больше походит на перловые вставки, но в целом все очень хорошо. Возможно кто-то станет говорить, что рельсы тяжелые и много требуют ресурсов, но я этого не замечаю, все работает быстро, не так как в симфони. Можно еще долго производить высер мыслей, но это мое прощание с PHP =)

Упрощаем настройку Symfony

Вечер был долгий, делать было почти нечего и захотел сделать очередной проект, но изрядно достало все заново и заново вбивать те же команды, качать все те же плагины, надоело копировать стандартные для меня модули и т.п. Актуально для Symfony-1.4.*

Read more of this post

Symfony – Добавляем кастомные поля в фильтр (custom fields in filter)

Не большая заметка о добавлении кастомных полей в фильтр. Вообще работа с фильтрами это тоже или почти тоже что и работа с формами, по крайней мере мне так показалось… Read more of this post

symfony создание фильтров в Action – Filters in action

Появилась задача сделать фильтры на сайте, не в backend’e, а именно в frontend – action. Прочитал те малые статейки, что мне попадались, но ни одна не отвечала необходимым параметрам, делать через generator как-то не хотелось, да и это вызывало некоторые трудности – когда проходило некоторое время нужных классов не было в кеше и приходилось перегружать страницу… За основу взял генерируемые Symfony шаблоны немного поправил и постарался упростить. И вот что получилось:

Read more of this post

Отображение ошибок валидации

Тема пошла о валидации, и я продолжаю эту тему, поскольку столкнулся с одной некрасивой проблемой при отображении форм. Задача: выводить ошибки валидации по одной, а не все сразу. Read more of this post

Расширение классов маршрутизации в Symfony

В ходе работы над очередным, весьма масштабным проектом на Symfony 1.4, у меня возникла задача сделать различные версии одних и тех же страниц для разных городов. Так, как это сделано на сайте Альфа-Банка: на каждой странице есть переключалка по городам, а первый сегмент URL — это алиас нужного города. Например, главная страница для малого бизнеса в Екб имеет URL http://alfabank.ru/ekaterinburg/sme/ и в одном из блоков в ней выводится ссылка на некий Свердловский областной фонд поддержки малого предпринимательства, а на той же странице для Петербурга (http://alfabank.ru/peterburg/sme/) — на Фонд содействия кредитованию малого бизнеса. У Москвы алиаса вообще нет: http://alfabank.ru/sme/. Там ссылка на Фонд содействия кредитованию малого бизнеса Москвы с одним из самых уе**щных логотипов в истории человечества. Вообще, так поглядишь, аж прямо душа радуется, как же у нас о малом бизнесе-то кругом заботятся! Чистая благодать! Read more of this post

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

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

Unescape для User flash message в symfony

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

Эскейпинг это конечно хорошо, но иногда надо таки вывести что-то без него.

<?php echo sfOutputEscaper::unescape( $sf_user->getFlash('notice') ) ?>

Используется такой вариант для вывода HTML кода в сообщении (например, чтобы быстро перейти куда-либо прямо из flash-сообщения).

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

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

Element Definitions

Below is a list with all the allowed element names and a brief definition for each one. Read more of this post