PHP micro framework: Fat-free vs Slim?
Есть необходимость написать небольшой промо-сайт (мультиязычность, пара статичных страничек, гостевая книга, предзаказ, несколько интерактивных плюшек).
Это даёт возможность опробовать какой-нибудь микрофреймворк.
Выбираю между Fat-free и Slim.
Прочитал исходники по диагонали.
F3 кажется проще, больше возможностей из коробки (в т.ч. мультиязычность и мини-ORM).
Slim написан аккуратней, качество кода внушает доверие.
Буду рад услышать рекомендации/критику/отзывы об этих фреймворках.
За одно прошу порекомендовать легковесную ORM.
Это даёт возможность опробовать какой-нибудь микрофреймворк.
Выбираю между Fat-free и Slim.
Прочитал исходники по диагонали.
F3 кажется проще, больше возможностей из коробки (в т.ч. мультиязычность и мини-ORM).
Slim написан аккуратней, качество кода внушает доверие.
Буду рад услышать рекомендации/критику/отзывы об этих фреймворках.
За одно прошу порекомендовать легковесную ORM.
отсортировано по датепо оценке ответы (5)
Slim через чур скуден в функционале, рано или поздно, даже для простейших сайтов вам нужно будет больше функционала, будете сами писать или брать из других фреймверков =) А ядро у них одинаковое, другое дело что слим по сути лишь из ядра и состоит.
Много функционала и не требуется. Возможностей F3 мне бы хватило, но он немного корявый.
Например мультиязычность: если установить в настройках язык «en», а заголовок браузера передаст «ru» (Accept-Language: ru), то будет выбран ru несмотря на настройки.
Боюсь, если начну с ним работать, всплывут и другие баги.
Например мультиязычность: если установить в настройках язык «en», а заголовок браузера передаст «ru» (Accept-Language: ru), то будет выбран ru несмотря на настройки.
Боюсь, если начну с ним работать, всплывут и другие баги.
а в Slim есть мультиязычность?:) Подозреваю что нет, и вам придется ее самому делать, и выплывут другие баги ;)
В Slim нет, вы правы. Но ведь свой велосипед лучше чужих багов ;)
К тому же мультиязычность на требуемом уровне реализовать достаточно просто.
Впрочем, сейчас я лишь собираю отзывы.
К тому же мультиязычность на требуемом уровне реализовать достаточно просто.
Впрочем, сейчас я лишь собираю отзывы.
В том то и дело что Slim это банальный руотер и все. Вам придется полностью все описывать, продумывать очистку данных, доступ к бд итд. В фатфри это уже все описано, а мелкие баги (откуда брать локаль) можно исправить и отправить автору патч при желании. От ошибок никто не застрахован, и не такие они и большие, эти фреймверки, чтоб кто-то не мог их поправить при желании. Лично я бы выбрал функционал.
Вам приходилось сталкиваться с обоими? Какого рода приложение было реализовано с их помощью?
Нет, мне не приходилось сталкиваться ни с одним из них, я писал свой фреймверк и писал на нем сайты простые и я знаю с чем можно сталкнуться на довольно таки простых сайтах. Возможностей Slim не хватит даже на простейщий сайт, вам придется искать дополнения или левые иблиотеки. Как минимум база данных, обработка форм (если будет хотябы нечто больше чем просто форма обратной связи), фильтры, шаблонизаторы итд.
В фатфри это все уже есть из коробки, вам нужно будет кое что подправить под себя при желании/нужде, в случае же с Slim вам придется это все искать и получится либо написаное заново, либо сборная солянка из библиотек.
В фатфри это все уже есть из коробки, вам нужно будет кое что подправить под себя при желании/нужде, в случае же с Slim вам придется это все искать и получится либо написаное заново, либо сборная солянка из библиотек.
Скажем так микро zend framework =) Долго работал с зендом и мне очень понравилась его архитектура, но разработчики черезчур грамотно его писали и в итоге порог вхождения высок, разобраться в настройках сходу невозможно. Я отталиваюсь от их творения но по возможности упрощаю спорные моменты и выкидываю лишние детали, коих слишком много.
В Slim нету мультиязычности. В Slim нету ORM.
Мультиязычность — можно самому.
ORM — j4mie.github.com/idiormandparis/
Я принимал участие в разработке Slim, поэтому выбрал бы его :)
Мультиязычность — можно самому.
ORM — j4mie.github.com/idiormandparis/
Я принимал участие в разработке Slim, поэтому выбрал бы его :)
Вдобавок github.com/codeguy/Slim-Extras
Не стОит забывать про php.net/manual/en/book.intl.php и php.net/manual/en/book.gettext.php :)
Если вижу, что мой пулл реквест будет действительно нужен.
+ Я хочу стать мэйнтейнером Idiorm & Paris, так что еще две библиотеки будут на уровне.
+ Я хочу стать мэйнтейнером Idiorm & Paris, так что еще две библиотеки будут на уровне.
Посмотрите активность. Куча pull request & issue. Тем более автор более года не коммитил ничего. И он ищет мэйнтейнера, на что получил мое письмо к себе в ящик.
А библиотеки эти я использовал кучу раз (как раз в связке с фреймворком Slim) — очень нравятся.
Аналоги особо не искал. Нравится, что разработчик отказался от магических вспомагательных методов (order_by_asc(«field») или where_equal(«name») вместо order_by_field(«asc») или where_name(«name») соответственно). Во-первых производительность, во-вторых — подсведка/автокомплит в IDE.
Кстати, ещё есть silex
На мой вкус в микрофрейворке дело не в размере а в скорости использования. Так что я за silex.
Подохреваю разницу в скорости силекса в худшую сторону описанных в топике, он сложней и больше работы делает за раз.
А могли бы вы (кто-нибудь из выше ответивших) аргументированно описать преимущества Silex?
Для микро-фреймворка я вижу его основной недостаток — обилие излишеств для небольшого приложения и как следствие сложное API. Если бы меня это не волновало, то я выбрал бы Yii или Symfony
Для микро-фреймворка я вижу его основной недостаток — обилие излишеств для небольшого приложения и как следствие сложное API. Если бы меня это не волновало, то я выбрал бы Yii или Symfony
No comments:
Post a Comment