2011-04-11 3 views
1

페이스 북의 HipHop에서 작동하는 PHP MVC/ORM 프레임 워크의 좋은 목록이 있습니까?PHP MVC/ORM 하이퍼 PHP (HipHop) 프레임 워크 준비

+2

아마도 큰 호환성 목록이 존재하지 않습니다. 더 작은 프레임 워크가 고장없이 작동 할 확률은 더 높습니다. 이전 토론 : http://stackoverflow.com/questions/2190270/can-i-use-facebooks-hiphop-with-frameworks-like-zend-framework-cakephp-symphon – mario

+2

힙합은 중소 시스템에서 무의미합니다. – dynamic

+1

나는 거대한 시스템으로 끝날 것이다. – BuddyJoe

답변

5

먼저, HipHop은 PHP 5.3의 전체 기능을 지원하지 않으며 모든 확장 기능을 사용할 수 없습니다.

두 번째로 페이스 북과 크기가 비슷하고 userbase가 (솔직히 의심 스럽다) 애플리케이션을 빌드한다면 ORM을 사용하는 것이 프로젝트를 가라 앉히는 가장 좋은 방법 중 하나가 될 것입니다.

다시 ORM에 대해 동일한 노래 & 춤을 반복 할 의사가 없으므로 read this earlier comment입니다.

마지막 : 대규모 프로젝트에서 사람들은 미리 준비된 프레임 워크를 사용하지 않습니다. 대규모 프로젝트의 경우 매우 구체적인 요구 사항이 있기 때문에 자체 프로젝트를 작성한 다음 사용합니다. 반면 인기있는 MVC 프레임 워크는 기능을 추가하기 위해 모든 것이 있지만 부엌 싱크대 접근 방식을 사용하는 경향이 있습니다.

페이스 북만큼 큰 프로젝트를 만들지 않으면 HipHop이 필요하지 않습니다.

2

PHP 성능에 직접적으로 영향을 줄 수있는 성능 문제가 실제로 발생하지 않는 한 HipHop을 피하는 것이 좋습니다. 그것은 매우 (적절하게 사용된다면) 매우 높은 트래픽을 처리 할 수는 있지만 PHP와는 완전히 호환되지는 않습니다. 이미 언급 한 것처럼 모든 PHP 확장이 HipHop과 함께 작동하는 것은 아닙니다.

성능 문제가있는 경우 HipHop에 의지하기 전에 볼 수있는 다른 방법이 있습니다. 먼저 스크립트의 성능을 검토하고 병목 현상을 확인한 후 최적화하십시오. 이것은 가장 많이 제어 할 수있는 응용 프로그램의 일부이므로 시작할 위치입니다. 외부 리소스, 특히 데이터베이스와 원격 서버와의 상호 작용은 작업 시작 시간이 가장 많이 소요되는 곳이기 때문에 좋은 출발점입니다. 테이블의 쿼리로드 및 현명한 선택을 줄임으로써 데이터베이스 성능을 향상시킬 수 있습니다 (힌트, ORM은 매우 최적화되지 않은 쿼리 패턴을 생성하는 경향이 있음). 특히 값 비싼 작업을 cron 작업으로 오프로드하여 오프라인으로 실행할 수 있으며 온라인 스크립트에서 작업을 큐에 대기시킬 수 있습니다.

이렇게하면 성능이 충분히 향상되지 않으면 PHP 코드가 실행되기 전에 구문 분석 할 필요가없는 "바이트 코드"(더 나은 용어가 필요함)로 PHP 코드를 캐시하는 APC가 있습니다. Zend Engine에 의해. 이렇게하면 성능이 향상됩니다. 성능 향상을 위해 memcache로 캐싱, 결과 캐싱 등과 같은 작업을 수행 할 수도 있습니다.

아직 성능이 충분하지 않다면 HipHop을 고려해야합니다. 당신은 최후의 수단이 아닌 마지막 수단이라고 생각해야합니다. 또한 성능 문제로 시달릴 때까지 프로젝트를 최적화하는 것에 대해 걱정할 필요가 없습니다.

조숙 한 최적화를하지 마십시오.

+0

hhvm과 호환되지 않는 확장 기능은 사람이 거의 사용하지 않지만 PHP 프로젝트의 95 %는 사용하지 않습니다. 따라서 PHP의 95 %는 여전히 덮고 있지만 관계없이 제작 환경에서는 Magento에 사용했습니다 Redis와 Memcached, 매력처럼 작동하지만 특정 문제가 있지만 해결 방법이 있습니다. PHP 5.5.x보다 성능이 50 % 향상되었습니다. –