May 19 2009

UA Symfony Camp — мини-отчет по второй конференции

Category: Symfonyingvar @ 16:52

new-copyКак планировалось, 16 мая в Киеве была проведена вторая украинская конференция по фреймворку Symfony: UA Symfony Camp. Мероприятие проходило по адресу: Киев, ул. Предславинская, 12 (http://predslavinskaya.com.ua/).

Без сюрпризов не обошлось :). Людей оказалось больше, чем предполагалось, вместо 50 человек пришло около 80, а зал-то и не был рассчитан на такое количество. Благо, оказался свободным другой зал, и арендодатель был такой добрый, что позволил нам туда переехать, и мы все вместе, со своими стульями :), переехали в более просторное, светлое помещение, за что им огромное спасибо. На кухне был бесплатный кофе, чай, правда до него я не добрался.


На конференции выступило 3 человека, вместо 4-х, т.к. мероприятие затянулось, а докладчик очень спешил. Было представлено 5 докладов:
1. Роман Мовчан :»Что такое Symfony и с чем ее едят».
2. Александр Демченко: «Роутинг в Symfony 2».
3. Игорь Бровченко: «Локализация и интернационализация».
4. Александр Демченко: «Публикация проекта в web и его обновление».
5. Роман Мовчан: «Производительность и использование Symfony в высоконагруженных системах».

Мой доклад на конференции:

Все доклады можно посмотреть на сайте: http://www.slideshare.net/tag/uasymfonycamp .

Скоро будут доступны другие доклады и фото/видео материал….

Хочется отдельно поблагодарить украинское комьюнити symfony.org.ua за продвижение фреймворка Symfony на просторах Украины :).
И главное, соорганизатора и партнера конференции — компанию World Web Studio.

Другие отчеты:
Symfony UA CAMP — небольшой отчет докладчика!
UA SymfonyCamp в Киеве

Tags: ,

6 Responses to “UA Symfony Camp — мини-отчет по второй конференции”

  1. pilot says:

    хорошая презентация, так как во всех проектах на переводы обычно мало времени, и по этому в такие дебри и не пытались залезать, но после твоего доклада можно смело нырять.

    Главное, что это очень сильно упростит управление переводами сайта на другие языки.

    Респект!

  2. ingvar says:

    Спасибо pilot :).
    Из твоего доклада по роутингу я тоже много чего нового и интересного узнал

  3. tundrax says:

    Хорошо что есть интерес, и люди собираются по поводу Симфони.
    Хотелось унзать ничего про ФОРМЫ не говорили? Особенно интересно узнать кто как решет проблемы вложенных форм.

  4. ingvar says:

    Обсуждали немного, но без докладов. Обещали в следующий раз подготовить формы, генераторы, TDD. А какие собственно проблемы с формами?

  5. tundrax says:

    Проблема такова:

    Имеется типичная модель из 2 таблиц с 1 N релейшн, скажем Категории и Субкатегории.
    При создании новой категории, в главную форму вкладывается 1 форма для субкатегории. Это указано в методе configure() формы Категория.
    И рядом линк «Добавить субкатегорию» которая через аях впихивает новую пустую субформу субкатегории.

    Так в методе bind() главной формы embeddedForms содержит ту форму которая изначально была вложна в методе configure(), а которая через аях впихана в embeddedForms нету.

    configure() :

    $i = 0;
    $wrapperForm = new sfForm();

    if (!$this->isNew())
    {
    foreach ($this->getObject()->getDates() as $date)
    {
    $wrapperForm->embedForm($i, new EDateForm($date));
    $i++;
    }
    }

    $wrapperForm->embedForm($i, new EDateForm());
    $this->embedForm(‘date_forms’, $wrapperForm);

    Action which adds new form via ajax:

    $wrapperForm = new sfForm();
    $wrapperForm->embedForm($dfc + 1, new EDateForm());
    $form = new EForm();
    $form->embedForm(‘date_forms’, $wrapperForm);

    $this->form = $form[‘date_forms’][$dfc + 1];

    $dfc++;
    $this->getUser()->setAttribute(‘dfc’, $dfc);

    return $this->renderPartial(‘date-form’);

    bind() method of a parent form:

    foreach ($this->embeddedForms[‘date_forms’]->getEmbeddedForms() as $k => $dateForm)
    {
    if (is_null($taintedValues[‘date_forms’][$k][‘starts_at_date’]) || strlen($taintedValues[‘date_forms’][$k][‘starts_at_date’]) === 0)
    {
    unset($this->embeddedForms[‘date_forms’][$k], $taintedValues[‘date_forms’][$k]);
    $this->validatorSchema[‘date_forms’][$k] = new sfValidatorPass();
    }
    }

  6. sergio says:

    Да ребята, было душевно — Саше, Игорю и Роме спасибо за доклады и атмосферу вообще. )
    Рома вообще молодец — не постеснялся все это организовать и собрать народ!
    Надеюсь я тогда не сильно его достал своими вопросами про плагины :)

Leave a Reply