Friday, May 10, 2013

PHP micro framework http://habrahabr.ru/qa/22049/

 
PHP micro framework: Fat-free vs Slim?
Есть необходимость написать небольшой промо-сайт (мультиязычность, пара статичных страничек, гостевая книга, предзаказ, несколько интерактивных плюшек).
Это даёт возможность опробовать какой-нибудь микрофреймворк.

Выбираю между Fat-free и Slim.

Прочитал исходники по диагонали.
F3 кажется проще, больше возможностей из коробки (в т.ч. мультиязычность и мини-ORM).
Slim написан аккуратней, качество кода внушает доверие.

Буду рад услышать рекомендации/критику/отзывы об этих фреймворках.
За одно прошу порекомендовать легковесную ORM.  
 

отсортировано по датепо оценке
ответы (5)

+2
taliban,27 июля 2012 в 16:17 #
решение
Slim через чур скуден в функционале, рано или поздно, даже для простейших сайтов вам нужно будет больше функционала, будете сами писать или брать из других фреймверков =) А ядро у них одинаковое, другое дело что слим по сути лишь из ядра и состоит.
Agent_J,27 июля 2012 в 16:28#
Много функционала и не требуется. Возможностей F3 мне бы хватило, но он немного корявый.
Например мультиязычность: если установить в настройках язык «en», а заголовок браузера передаст «ru» (Accept-Language: ru), то будет выбран ru несмотря на настройки.
Боюсь, если начну с ним работать, всплывут и другие баги.
taliban,27 июля 2012 в 16:32#
а в Slim есть мультиязычность?:) Подозреваю что нет, и вам придется ее самому делать, и выплывут другие баги ;)
Agent_J,27 июля 2012 в 16:37#
В Slim нет, вы правы. Но ведь свой велосипед лучше чужих багов ;)
К тому же мультиязычность на требуемом уровне реализовать достаточно просто.
Впрочем, сейчас я лишь собираю отзывы.
taliban,27 июля 2012 в 16:41#
В том то и дело что Slim это банальный руотер и все. Вам придется полностью все описывать, продумывать очистку данных, доступ к бд итд. В фатфри это уже все описано, а мелкие баги (откуда брать локаль) можно исправить и отправить автору патч при желании. От ошибок никто не застрахован, и не такие они и большие, эти фреймверки, чтоб кто-то не мог их поправить при желании. Лично я бы выбрал функционал.
Agent_J,27 июля 2012 в 16:44#
Вам приходилось сталкиваться с обоими? Какого рода приложение было реализовано с их помощью?
taliban,27 июля 2012 в 16:52#
Нет, мне не приходилось сталкиваться ни с одним из них, я писал свой фреймверк и писал на нем сайты простые и я знаю с чем можно сталкнуться на довольно таки простых сайтах. Возможностей Slim не хватит даже на простейщий сайт, вам придется искать дополнения или левые иблиотеки. Как минимум база данных, обработка форм (если будет хотябы нечто больше чем просто форма обратной связи), фильтры, шаблонизаторы итд.
В фатфри это все уже есть из коробки, вам нужно будет кое что подправить под себя при желании/нужде, в случае же с Slim вам придется это все искать и получится либо написаное заново, либо сборная солянка из библиотек.
Agent_J,27 июля 2012 в 17:00#
Спасибо за отзывы.
А что у вас за собственный лисапед? )
taliban,27 июля 2012 в 17:03#
Скажем так микро zend framework =) Долго работал с зендом и мне очень понравилась его архитектура, но разработчики черезчур грамотно его писали и в итоге порог вхождения высок, разобраться в настройках сходу невозможно. Я отталиваюсь от их творения но по возможности упрощаю спорные моменты и выкидываю лишние детали, коих слишком много.
+3
Miraage,27 июля 2012 в 16:46 #
решение
В Slim нету мультиязычности. В Slim нету ORM.

Мультиязычность — можно самому.
ORM — j4mie.github.com/idiormandparis/

Я принимал участие в разработке Slim, поэтому выбрал бы его :)
Miraage,27 июля 2012 в 16:47#
Вдобавок github.com/codeguy/Slim-Extras
Miraage,27 июля 2012 в 16:52#
Не стОит забывать про php.net/manual/en/book.intl.php и php.net/manual/en/book.gettext.php :)
Agent_J,27 июля 2012 в 16:57#
Спасибо!
Больше участие в разработке не принимаете?
Miraage,27 июля 2012 в 17:13#
Если вижу, что мой пулл реквест будет действительно нужен.
+ Я хочу стать мэйнтейнером Idiorm & Paris, так что еще две библиотеки будут на уровне.
Agent_J,27 июля 2012 в 17:17#
Т.е. сейчас вы считаете, что Idiorm & Paris не на уровне? )
Miraage,27 июля 2012 в 17:22#
Посмотрите активность. Куча pull request & issue. Тем более автор более года не коммитил ничего. И он ищет мэйнтейнера, на что получил мое письмо к себе в ящик.
Miraage,27 июля 2012 в 17:23#
А библиотеки эти я использовал кучу раз (как раз в связке с фреймворком Slim) — очень нравятся.
Agent_J,27 июля 2012 в 19:01#
«Кучу раз» это хорошо ) А какие преимущества перед аналогами?
Miraage,27 июля 2012 в 19:07#
Аналоги особо не искал. Нравится, что разработчик отказался от магических вспомагательных методов (order_by_asc(«field») или where_equal(«name») вместо order_by_field(«asc») или where_name(«name») соответственно). Во-первых производительность, во-вторых — подсведка/автокомплит в IDE.
+3
nikel303,27 июля 2012 в 16:46 #
решение
Кстати, ещё есть silex
Agent_J,27 июля 2012 в 16:49#
Silex мне показался слишком раздутым для микрофреймфорка
KeepYourMind,27 июля 2012 в 17:16#
На мой вкус в микрофрейворке дело не в размере а в скорости использования. Так что я за silex.
taliban,27 июля 2012 в 17:17#
Подохреваю разницу в скорости силекса в худшую сторону описанных в топике, он сложней и больше работы делает за раз.
Agent_J,27 июля 2012 в 19:41#
А могли бы вы (кто-нибудь из выше ответивших) аргументированно описать преимущества Silex?
Для микро-фреймворка я вижу его основной недостаток — обилие излишеств для небольшого приложения и как следствие сложное API. Если бы меня это не волновало, то я выбрал бы Yii или Symfony
Fesor,28 июля 2012 в 09:46#
Silex это минимизированная версия Symfony2, по структуре он в разы проще, а его компоненты работают довольно шустро. Все кешируется, так что в производительности беды нету. Для простеньких сайтов он очень даже подходит.
0
tnz,28 июля 2012 в 15:43 #
решение
Еще есть Flight
+1
Murloc,29 июля 2012 в 15:12 #
решение
Зачем orm если sql намного гибче и удобней?

No comments:

Post a Comment