Pull to refresh

Comments 23

Не хотите выложить в open source свой движок?
Вопрос так вопрос:) Честно не думали об этом, думаю он еще сыроват, причесывать и причесывать:) Чтобы потом не стыдно было:)
Если честно, а зачем? Просто проект, я так понял, большой, кастомный, полностью никому (кроме них) особо и не нужный. Ну максимум почитать код на симфони. Намного полезнее если разработчики будут выкладывать отдельные бандлы собственного производства.
оптимизировать быстродействие

Этот пункт тоже особо интересует. Раз уж вы упомянули, скажите, сколько у вас времени обычная страница грузится? А то почему-то на текущем Симфони2 проекте в дев режиме задержки по 5-10 секунд идут. На продакшне тоже не «летает» :(
Я сейчас доделываю магазин, страничка с фильтрами и разнообразно получаемыми тегами(где 20-30 запросов SQL) генерится в prod — 60-100 мс, в dev — ~200-500мс (это генерация динамики). Всё стараюсь делать аннотациями, ибо так удобнее.

P.S. Проверьте сколько длятся запросы к БД у вас через профайлер и для APC насколько фрагментирована память для начала…
Кстати да, я гонял запрос профайлером, судя по всему аннотации, если работать с файловым кешем, отжирают очень много. Там по одному файлу на каждое поле идет. То есть это первое что я вижу, ну и для аутолоадера APC тоже заюзаю.
В дев режиме нет кеша, поэтому все работает в нем медленно и это нормально. Если полностью снести кеш, то 5-10 секунд для первого запуска это быстро. На продакшне все на порядок быстрее. Точных замеров не делал, потому что задачи ускорения быстродействия пока не стоит. Если кеш есть, то в секунду даже в самом худшем случае укладываться должно.

Для симфони жестких оптимизаций несколько:
— APC
— Он же для всякого мелкого кеша вроде автолоада, DQL
— Memcache для доктриновского result cache и хороший алгоритм его инвалидации
— Проверьте как у вас настроен логгер и что падает в лог апача
— Хорошо настроенный HTTP cache. ESI с reverse proxy мы пока не используем, но для начала хватает стандартного AppCache
— Если много рутов, можно покопаться в нете и найти для них Apache Dumper. Dumper создаст по рутам htaccess правила.
— Когда устоится схема БД, пересмотреть связи в доктрине. Тут правило одно — как можно меньше bidirectional связей и событий. У доктрины есть в доках немного про оптимизацию
— Если можно на странице обойтись голыми данными, пусть их доктрина и возвращает. Большой объект с множеством связей создается долго, простой массив — быстро.
— События ядра симфони тоже стоит использовать с умом

Я бы посоветовал прогнать ключевые страницы через какой-нибудь профилировщик. Симфони достаточно гибок, поэтому быстрым из коробки быть не может. Но и медленным я бы его не назвал. По опыту могу сказать, часто проблемы в медленных клиентских скриптах и слишком тяжелой разметке и стилях. PHP скрипт отрабатывает достаточно быстро.
Если много рутов, можно покопаться в нете и найти для них Apache Dumper. Dumper создаст по рутам htaccess правила.

Зачем? Есть же app/console route:dump
Спасибо за отличные советы.

В дев режиме нет кеша, поэтому все работает в нем медленно и это нормально.


Медленно не может быть нормально. За те 7 секунд я уже пол-вконтактика перечитать успею. Вроде как и читать его не хотел, вроде как хотел работать, но пока дождешься… Считаю, что перспектива за фреймворками типа Phalcon phalconphp.com/. Но пока попробовать его не было возможности, хотя выглядит вкусно.
О, спасибо за ссылочку. Многообещающая штука!
Ещё есть порт ZF на C от китайских братьев — Yaf.
> Yii был еще очень свежий на тот момент (осень 2011 года), а мы знаем, чем бывают чреваты эти «горячие пирожки» (как показало время – версия Yii 2.0 с полной поддержкой PHP 5.3 пишется до сих пор).

Это что у вас прикол такой про очень свежий? 2.0 версии еще нет, но за последний год было 5 релизов версии 1.1 и Yii прекрасно работает на PHP 5.3.

> И мы решили не рисковать и взять наиболее готовый и стабильный продукт – Symfony 2.

Ну это вообще смех. Я дат не помню кончено, но Symfony 2 из beta вылез вроде прошлым летом?

P.S. Не в коем случае не говорю, что Symfony 2 — плохо, просто ваши доводы — чушь.
По качеству решений Yii уже проигрывает Symfony. Опять же Yii 2 положение дел не изменит.
Прошлым летом он зарелизился, но к тому моменту его уже активно использовали. На сайте симфони где-то есть страница с… success stories. Так вот некоторые из этих проектов стартовали еще до релиза стабильной версии фреймворка.

На самом деле не стоит искать в этой статье какую-то агитацию) Каждому нравится свое. Нам тогда показался это выбор правильным и сейчас ничего не изменилось.
Yii отлично всплыл на том, что разработчики (мягко говоря) забили на symfony1 и Yii занял его нишу.
Звучит холиворно, но по сути это так. Оба фреймворка Rails-Django-подобные. Но у symfony намного больше база кода, больше библиотек. Вот только сейчас он стал не нужен, ибо появился архитектурно и концептуально другой Symfony2.
Сколько у вас в команде программистов? Изучали Symfony 2 по ходу работы или изначально набирали людей с опытом? Проще говоря, можно ли в Москве найти хороших программистов на Symfony 2 или проще обучить/вырастить у себя?
Если в резюме будет написано: 8 лет опыта разработки на Symfony2, то что-то тут не так )
В Москве, наверняка, можно. Но и вырастить тоже вполне. От Zend или symfony до Symfony2 не такой уж и большой скачок, но месяц-два придется тщательно курить мануалы.
Сначала мы искали, потом решили взять и обучить:)
Вел разработку E-commerce системы на Silex (почему-то казалось тогда хорошим решением) + mongodb (инзачально был MySql, но нашему опыту интернет-магазин не очень укладывался в реляционную модель) + sphinx для поиска.
Также разрабатывалась общая админка для этих магазинов. Общение между админкой и магазином реализовывалось через REST API.
К чему я это? На мой взгляд, Symfony2 отличное решение для E-commerce системы (в свою очередь мы выбрали более легкий ее вариант), да и в целом, хороший фреймворк, остальное за реализацией.
Киньте хоть ссылку на то, что получилось в итоге
Пробовали.
Оба достаточно сырые. Vespolina тянет слишком много лишнего. Sylius в этом плане нам больше подходит. Мы рассматриваем возможность замены части нашей системы на один из этих наборов бандлов (или его часть) после релиза Symfony 2.1.

Если вы интересуетесь Symfony, то должны знать что из себя представляет проект CMF. Так вот Vespolina (как более продуманный в плане архитектуры набор бандлов их этих 2х) лично мне кажется еще сырее CMF. А его пока используют только в sandbox проектах и для презентаций (тут возможно я что-то упускаю ибо не было времени посмотреть презентации с Symfony Live Paris 2012, а там доклад от этих ребят был).
Sign up to leave a comment.

Articles