Есть ли хороший список PHP MVC / ORM Framework, который будет работать с Facebook HipHop?
Прежде всего, вы должны знать, что в настоящее время HipHop не имеет полной поддержки PHP 5.3, и вы не можете использовать все расширения.
Во-вторых, если вы собираетесь создать приложение, сопоставимое по размеру и пользовательской базе, в facebook (которое, я честно сомневаюсь), то использование ORM было бы одним из лучших способов, как потопить проект.
У меня нет намерений повторять ту же песню и танцевать о ORM снова, поэтому, прочитайте этот более ранний комментарий .
И последнее: в большом проекте люди не используют консервированные рамки. Они пишут один из них, а затем используют его, потому что крупномасштабный проект имеет очень специфические требования, в то время как популярные mvc-фреймворки, как правило, имеют все, но только для кухни, для добавления функций.
И если вы не строите проект размером с Facebook, вам не нужен HipHop.
Если у вас нет проблемы с производительностью, которая может быть напрямую связана с производительностью PHP, я настоятельно рекомендую избегать HipHop. Он может, конечно, (если используется правильно) обрабатывать чрезвычайно высокий трафик, но он также не полностью совместим с PHP. Как уже было сказано, не все PHP-расширения работают с HipHop.
Если у вас проблемы с производительностью, тогда есть другие альтернативы, которые вы можете посмотреть, прежде чем прибегать к HipHop. Сначала просмотрите производительность ваших скриптов, определите узкие места и оптимизируйте их. Это часть приложения, на которое вы больше всего контролируете, и, следовательно, место, где вы должны начать. Взаимодействие с внешними ресурсами, особенно с базами данных и удаленными серверами, является хорошей отправной точкой, поскольку в этом случае операции, как правило, имеют наибольшие затраты времени. Производительность базы данных может быть улучшена за счет уменьшения загрузки запросов и разумного выбора индексов для таблиц (Hint, ORM имеет тенденцию создавать очень малооптимальные шаблоны запросов). Вы также можете разгружать особенно дорогостоящие операции для выполнения заданий cron, которые должны быть запущены в автономном режиме, и иметь онлайн-скрипт только в очереди на операцию.
Если это не обеспечивает достаточный прирост производительности, то есть APC, который кэширует PHP-код в «байтовом коде» (не имея лучшего термина), который не нужно разбирать, прежде чем он сможет запускаться Zend Engine , Это обеспечивает повышение производительности. Есть также другие вещи, которые вы можете сделать, такие как кеширование с помощью memcache, результаты кэширования и т. Д., Чтобы добиться дальнейшего повышения производительности.
Если вы все еще не получили достаточную производительность, тогда и только тогда вы должны рассмотреть HipHop. Вы должны считать это последней инстанцией, а не первым курортом. Вы также не должны беспокоиться об оптимизации проекта до тех пор, пока он явно не пострадает от проблем с производительностью.
Никогда не делайте преждевременную оптимизацию.