24
Июн

sfPropelSqlDiffPlugin – плагин который упрощает разработку

При разработке проекта, особенно в начальной стадии, мы часто изменяем схему базы данных. В некоторых фреймворках существуют механизмы миграции, но в symfony с пропелом такого нет.
Данный плагин sfPropelSqlDiffPlugin- анализирует расхождение схемы описанной в файле schema.yml и реальной базой, затем создает файл для ее преобразования.
Если вы используете symfony и Propel, советую плагин использовать, очень упрощает работу.

6
Июн

Полезный чеклист, для symfony проектов, которые вы готовы выложить.

symfony check
Если вы готовы выкладывать на всеобщее обозрение, свой проект.
Вот тут подготовлен полезный список, реализацию пунктов которого, в этом проекте стоит проверить.

http://www.symfony-check.org/en/

15
Май

Номинация «Выбор коммьюнити». Голосуем за Symfony!

Предлагаю поддержать хороший проект и проголосовать за Symfony, в номинации «SourceForge.net Community Choice Awards».

Выбираем:

  • Best Tool or Utility for Developer;
  • Best Project for the Enterprise;
  • Или Best Project

Ссылка на голосование

Я проголосовал ;)

17
Фев

Symfony: Ссылки между приложениями

В официальном блоге Symfony, есть статья как для версии 1.2, оганизовать ссылки между приложениями.
Например из бэкенда ставить ссылки на фронтенд.
Читаем на английском:
Cross Application Links

6
Фев

Symfony Forms I18n изменение поведения

Появилась задача унифицировать поведение всех форм, конкретней, чтобы в многоязычной форме автоматически устанавливалась текущая культура пользователя. Для красоты еще добавил иконку флага как идентификатор культуры.

Все формы у нас наследуются от BaseFormPropel, следовательно открываем файл в нашем проекте $project/lib/form/BaseFormPropel.class.php и в методе класса setup(), пишем нужный нам код.

abstract class BaseFormPropel extends sfFormPropel
{
  public function setup()
  {
    if ($this->isI18n())
    {
      $culture = sfContext::getInstance()->getUser()->getCulture();
      $this->embedI18n(array($culture));

      $icons = sfConfig::get('app_site_language_icons'); // get icon array
      $this->widgetSchema->setLabel($culture, '<img src="'.$icons[$culture].'" width="24" height="24" alt="" />');
    }
  }
}

В файле app.yml у меня хранятся соответствия названий культур и иконок флажков.

all:
  site:
    language_icons:
        ru: /images/flags/24/ru.png
        en: /images/flags/24/en.png
        de: /images/flags/24/de.png

В итоге получаем вот такой вид формы:

form-i18n

19
Янв

Интернет магазин sfShop

logo1Хочу показать, неплохо сделанный, интернет-магазин sfShop.
Главное, почему я обратил на него внимание,  для его разработки используется Symfony framework

Среди разработчиков есть русскоязычные программисты.

Вобщем есть планы, в будущем присоединиться к разработке данного магазина.

Ссылки по теме:

http://code.google.com/p/sfshop/

http://sfshop.org/

31
Окт

ссылка: Symfony + sfGuardAuth + NTLM + LDAP

Скоро пригодится, надо почитать.
Ссылка на статью…

28
Окт

Рисование графиков (часть 2). FusionChart.

Всеже пришлось переделать свой проект в котором вовсю используются графики.
Так как JpGraph по многим вещам не устроил, остановился на проекте под названием FusionCharts – эта реализация использует для рисования Flash. Хоть это и не свободный продукт, но имеется бесплатная версия, возможностей которой мне с лихвой хватило.

Пример графика:

Документация к бесплатной версии здесь…
Также имеется плагин для Symfony dbFusionChartPlugin.
В общем кому интересно, советую посмотреть…

5
Авг

PowerDesigner и Symfony

Первоначально при проектировании базы данных, мне очень удобно рисовать ее в специальной программе Sybase PowerDesigner. Но потом переносить это все добро в scheme.yml, просто наказание какето :) . Поэтому наколбасил скрипт на VB, который генерирует содержимое scheme.yml из модели PowerDesigner.
На VB до это я ни строчки в своей жизни не написал, делал все по аналогии в других скриптах. Так что сильно не пинайте, а лучше помогите привести его к нормальному виду :)
Скрипт берем от сюда tables2scheme-yml.

Инсталяция:
Кладем скрипт в директорию «VB Scripts» дистрибутива PowerDesigner, в моем случае «C:\Program Files\Sybase\PowerDesigner 12\VB Scripts» .
Дальше идем меню PowerDesigner Tools -> Execute Commands -> Customize Сommands,
добавляем команду по аналогии со скриншотом:

Дальше жмем ctrl+shift+0, в появишемся редакторе копируем код и вставляем в scheme.yml проекта.
Скрипт работает с глюками, так что вам скорее всего прийдется подправить содержимое scheme.yml, чтобы генерация в symfony происходила успешно.