Jan 20

Не так давно я задавал вопрос относительно выбора PHP-фреймворка из множества ныне существующих… Отзывы послушал… Кое-что почитал по самим фреймворкам… В итоге для себя я выбрал Symfony (пусть тормозная, но вы часто делаете сайты с количеством посетителей от 10 000 в день?). Почему - вопрос сложный и, наверное, я сам до конца не знаю ответа на него… Хотя одну из основных причин могу сказать - это модель, а именно Propel/Doctrine. Это единственные на данный момент ORM’ы с которыми мне реально нравится работать, разработчики которых понимают отличия функциональности уровня таблицы и уровня записи и т.д. (может есть еще хорошие ORM’ы, но я с ними просто незнаком :)) Да, кстати, я сейчас использую Symfony по работе, за что огромное спасибо Любомиру, моему “шефу”. :)

Но сейчас я хотел бы поговорить не об этом… Есть одна “маленькая”  идея - затеять сравнение фреймворков друг с другом. По каким критериям сравнивать - вопрос довольно сложный, я составил следующий список:

  • Controller
  • Model
  • View
  • наличие/удобство хелперов
  • взаимодействие с JS/AJAX
  • работа с формами (сейчас с этим в Symfony, кстати, достаточно большие проблемы)

Пунктов, я думаю, с вашей помощью добавится еще с десяток. Так что жду предложений.

Следующий вопрос - список фреймворков. Опять же, мой список пока что состоит из таких претендентов:

Писать хочу в виде “один пост рассматривает все фреймворки по одному критерию”. Т.е., например, через две недели будет опубликовано сравнение моделей в выбранных фреймворках - возможности, удобства, недостатки, пожелания относительно улучшения и т.д.

Теперь я подошел к самому главному - хотелось бы попробовать устроить действительно коллективную работу… Никто не хочет помочь мне в этом деле? Я вот лично могу на себя взять Symfony и (хотя и не хочется) Kohana. Никто не хочет написать про CakePHP или про <вставьте сюда название вашего любимого фреймворка>? На каждый пост будет отводится, скажем, неделя-две. После этого кто-то (думаю я, если кто-то захочет помочь - пишите) скомпонует все посты в одно сравнение, сделает выводы…

Первым критерием для сравнения предлагаю сделать Controller и всё что с ним связано (routes, dispatchers  и т.д.). Если меня кто-то поддержит - жду ваши тексты до 1-го февраля. И 3-го будет первый пост по сравнению фреймворков.

written by fxposter \\ tags: ,


16 Responses to “PHP Frameworks: предложение”

  1. 1. Sam Says:

    Я могу помочь, но скорее не готовым текстом, а мыслями.

    Кстати, я когда-то составлял табличку:
    http://rmcreative.ru/playground/php-frameworks/

    Чуть обновил.

  2. 2. mihailt Says:

    стати, я когда-то составлял табличку

    табличка несколько неточна

    Никто не хочет помочь мне в этом деле?

    мог бы Сodeigniter взять( после некоторых раздумий всё же вернулся от коханы к нему)

  3. 3. Sam Says:

    Поправки в табличку приветствуются. Можно и в асю: 214–897–008.

    > после некоторых раздумий всё же вернулся от коханы к нему
    Документация + скорость?

  4. 4. mihailt Says:

    Документация + скорость?
    и ещё то что за CI cтоит организация а не коммюнити (хотя плюс это или мину вопрос конечно спорный)

  5. 5. Sam Says:

    Ещё немного обновил табличку.

  6. 6. FX Poster Says:

    В табличке неточности :) Смотри асю :)

    Миша, ты можешь не сильно большой текстик за недельку по Controller в CI накатать?

  7. 7. mihailt Says:

    Миша, ты можешь не сильно большой текстик за недельку по Controller в CI накатать?

    Ок. Договорились

  8. 8. Nikita Says:

    Почему бы тебе не попробовать ROR? Почему так категорично — php?

    P. S. Замусолили Mac-тему для WP. ((

  9. 9. FX Poster Says:

    Эмм. Да работаю я на PHP. В том и проблемы. :)
    А насчет ROR – мне Django больше по душе. Т.к. питон учил всё-таки.

  10. 10. Nikita Says:

    Ruby достаточно простой язык. А ROR славен тем, что у него, ну просто глобальная реляция объектов. Замена поля в базе данных, фактически перепишет весь движок, подстраивая под проект. Ну это так… abstracts…

  11. 11. FX Poster Says:

    Эмм.. Лично мне синтаксис руби на первый взгляд показался достаточно сложным… Да и времени нет ROR учить… Мне еще .NET учить по работе нужно будет…

  12. 12. Sam Says:

    Ну, можно и с RoR сравнить. Только нужен не фанатичный поклонник, который при этом разбирается.

  13. 13. disturbia Says:

    угу, нежен фанатичный поклонник

  14. 14. Zeke Fast Says:

    Идея хорошая … обзор фреймвёрков нужен! Однозначно! Я сам когда-то хотел сделать, что-то подобное. Рад что такие же мысли роятся у кого-то в голове кроме меня.

    Насчёт Ruby не согласен … синтаксис не сложен, а лоялен к программисту. Синтаксис руби может быть сложен для человека поддерживающего синтаксический анализатор …
    Как писал Хэл Фултон … “Позвольте языку оставаться самим собой и не надо делать из него тот язык к которому вы привыкли” и тогда всё станет на свои места.

    Относительно помощи … могу помочь с PHP Frameworks: Prado 3.1.1, Symfony, Picora, PHPOpenBiz(сильно в него не вникал, но знаком и кое-что делал в тестовых целях).
    Ruby: ROR – обзорно, только учу … возможно будущий фанатик, но пока таковым не являюсь ;-)
    Java: Hibernate – тоже в процессе, кстати Propel с него слизан.

    По поводу ORM – фишка хорошая, но для моей работы бестолковая, так как приходиться делать сайты расчитанные на большую нагрузку 8-12 польз.\сек. Поэтому ORM сильно лагает. Частично рулит только для админок.
    Кроме Propel & Doctrine, есть реализация ActiveRecord для прадо, но она и имеет огрниченное применение: только для простых случаев выборки данных. Если надо что-то посложнее, то прадо предлагает SQLMap, что мне кажется более логичным и правильным, так как тупом переписывать SQL в код для какой-то конкретной ORM и производительность нереально падает и наглядность кода. Кто-нибудь пытался написать только с помочью ORM запрос на 1,5 экрана? Выходит глубость в лучшем случае на 2,5 – 3 экрана, которую очень трудно поддерживать, которая не эффективна, … bla bla bla.
    Мой вывод: не увлекайтесь ORM, штука хорошая только для определённых задач не забывайте про здравый смысл!!! ;-)

  15. 15. Zeke Fast Says:

    Кстати, оносительно аналогов ORM есть MDB2 + DataObject + DataObjectFormBuilder в PEAR. Весьма рабочие решения, в своё время использовал.

  16. 16. FX Poster Says:

    Большинство ORM (да и не только ORM, а просто DBAL’ов) на PHP, которые я видел, никак не отличают методы записи от методов таблицы. Для меня это критично. Если разработчики не понимают этих истин… Эм…

Leave a Reply