
PHP Frameworks Best 10 of 2018
2018년 PHP 프레임워크 순위 베스트 10
현재까지 세계적으로 가장 인기 있는 서버 사이드 프로그래밍 언어인 PHP. PHP의 꾸준한 인기는 강력하고 다양한 PHP 프레임워크들이 있기에 가능한 일이었습니다.
PHP 개발자는 최고의 PHP 프레임워크를 함께 사용함으로써 더 복잡하고 더 보안성이 우수하고 균형잡힌 웹 어플리케이션을 개발할 수 있습니다.
각각의 PHP 프레임워크는 그 자체의 크기, 동작 시 차지하는 메모리의 양, 동작 성능, 개발 편의성, 기능, 그리고 그것을 사용하는 개발자의 숙련도 요구 수준도 다릅니다.
2018년을 빛낸 최고의 PHP 프레임워크 10개에 대한 각각의 특징 및 장단점에 대해 정리하였습니다.
Laravel (라라벨)
[br]라라벨은 상대적으로 최근에 나온 PHP 프레임워크이지만, 논쟁의 여지 없이 현재 가장 인기있는 PHP 프레임워크이며, 거대한 생태계를 갖고 있습니다. 라라벨은 매 릴리즈마다 문서화되고 다수의 비디오, 튜토리얼, 블로그가 있기 때문에 쉽게 배울 수 있습니다.
[br]라라벨은 많은 기능들로 빠른 어플리케이션 개발을 가능하게 합니다. Artisan 컴맨드 라인 인터페이스를 통해 개발 중 유용하게 쓰일 수 있는 명령어를 제공합니다. 또한, 라라벨은 강력한 템플릿 엔진을 통해 일상적인 인증이나 캐싱, 세션, RESTful 라우팅, 큐잉을 쉽게 처리할 수 있게 합니다.
[br]라라벨은 여타 PHP 프레임워크에 비해 프레임워크 자체 오버해드가 매우 큰 편입니다. 매우 간단한 작업을 하는 요청의 경우, 실제 요청 처리에 걸리는 시간보다 프레임워크 및 내부 모듈의 초기화에 걸리는 시간이 더 많습니다. 개발자가 실제 사용하지 않는 모듈까지 불필요하게 모두 로드됩니다. 따라서 클라이언트로부터 빈번하게 대량의 요청이 들어오는 서비스의 경우, 프레임워크의 오버해드가 눈덩이처럼 커집니다.
Phalcon (팔콘)
[br]팔콘은 C/C++에 기반하여 개발되었다는 점에서 여타 PHP 프레임워크들과는 확연히 구분되는 풀스택 PHP 프레임워크입니다. 팔콘은 웹 어플리케이션이 실제 구동하게 될 서버에 딱 맞는 프로세서 명령어로 최적화 빌드되고, 웹서버에 동적 C 모듈로 단 한번만 로드됩니다. 이미 빌드된 상태로 메모리에 로드되어 있기에, 다른 PHP 프레임워크보다 더 적은 메모리를 소모하며 더 적게 CPU를 사용하므로 프레임워크 자체의 오버해드가 매우 낮습니다.[br][br]팔콘은 에셋 관리, 유니버셜 오토로더, 다국어 지원, 캐싱, 보안 등의 독특한 기능과 함께 로드됩니다. phalcon-devtools 컴맨드 라인 인터페이스를 통해 개발 중 유용하게 쓰일 수 있는 명령어를 제공합니다. 팔콘은 사용하기 편한 프레임워크이고 문서화도 잘 되어 있습니다. 진정 사용할 가치가 있는 프레임워크입니다.
[br]
매 요청 시 마다 로드되는 프레임워크 내 파일의 개수[br](팔콘은 단 4개의 파일만 로드되는 반면, 라라벨의 경우 224개의 파일이 로드됨.)
[br]
개별 요청에 대하여 순간적으로 증가하는 메모리의 양[br](팔콘은 26KB이며, 라라벨의 경우 1.36MB로 100개의 요청이 순간적으로 몰리는 경우 프레임워크 자체에서만 136메가의 메모리가 필요하게 됨.)
[br]
같은 조건에서 1초 동안 처리 가능한 요청의 개수[br](팔콘은 1403개, 라라벨은 208개로 팔콘은 동일한 시간동안 라라벨보다 6~7배 많은 요청을 처리할 수 있음.)
[br]
같은 조건에서 1000개의 요청을 처리하는데 걸리는 시간[br](팔콘은 0.7초, 라라벨은 6.8초)
Symphony (심포니)
Zend (젠드)
CodeIgniter (코드이그나이터)
CakePHP (케익PHP)
FuelPHP (퓨얼PHP)
[br]퓨얼PHP는 모듈화 되어 있으며 확장이 가능한, 유연한 풀스택 PHP 프레임워크입니다. MVC 패턴을 지원할 뿐만 아니라, 진화된 형태의 HMVC(Hierarchical Model-View-Controller)를 아키텍쳐 차원에서 지원합니다. 입력 필터링, URI 필터링 및 출력 인코딩 등의 기능을 제공하여 보안 문제를 해결합니다.
[br]퓨얼PHP는 자체의 인증 프레임워크와 함께 많은 정교한 기능들을 갖고 있으며, 문서화도 잘 되어 있습니다. 퓨얼PHP는 다양한 형태의 엔드-투-엔드(End-to-End) 웹 솔루션을 개발하는데 적합합니다.
Yii 2
[br]Yii는 가장 오래된 PHP 프레임워크 중 하나이며, 최신 버전인 Yii 2를 통해 많은 인기를 얻고 있습니다. Yii 2는 완전히 객체지향적이며 DRY(Do not Repeat Yourself) 코딩 개념을 기반으로 합니다. Yii 2는 강력한 레이지(Lazy) 로딩 기술을 통해 다른 프레임워크 보다 빠르게 동작하도록 만들어졌습니다.
[br]AJAX 및 JQuery와 통합 될 수 있으므로 대규모 웹 사이트 개발에 좋습니다. 또한 개발자가 Gii라는 웹기반의 인터페이스를 갖춘 강력한 클래스 코드 생성기를 사용하여, 필요한 코드를 대화식으로 생성할 수 있도록 합니다. Gii를 사용하면 객체지향 프로그래밍과 빠른 어플리케이션 프로토타입 개발이 가능합니다.
Slim (슬림)
PHPixie
[br]PHPixie는 읽기전용 웹 사이트를 위한 고성능 프레임워크를 만드는 것을 목표로, 2012년에 최초 릴리즈된 상대적으로 최신의 프레임워크입니다. PHPixie는 퓨얼PHP와 유사한 HMVC(Hierarchical Model-View-Controller) 디자인 패턴을 구현하고 있으며, 프레임워크 없이도 독립적으로 사용할 수 있는 컴포넌트로 구성되어 있습니다. PHPixie의 컴포넌트들은 모두 유닛 테스트를 거쳤으며, 최소한의 의존성만을 요구합니다.
[br]일반적인 ORM(Object-Relational Mapping), 캐싱, 입력 유효성 검사, 인증 및 권한 부여 기능을 제공합니다. PHPixie는 개발자가 HAML 마크업 언어를 사용하여 스키머 마이그레이션을 할 수 있도록 해주며, 정교한 라우팅 시스템을 만들 수 있도록 합니다.
Which PHP framework is the best?
가장 좋은 PHP 프레임워크는?
각 PHP 프레임워크는 장점과 함께 단점을 갖고 있으며, 서버 개발자들은 서로 다른 코딩 스타일과 환경을 갖고 있습니다.
- 코딩 스타일
- 프레임워크 숙련도
- 서버 시스템 환경
- 프로젝트 요구사항
위 조건들을 고려하여 개발팀이 처한 상황에서 최적의 프레임워크를 선정한다면, 그것이 해당 프로젝트를 위한 최고의 PHP 프레임워크가 될 것입니다.