올해 PHP 프레임워크 순위(2015)
프레임워크란 소프트웨어의 특정한 클래스에 대하여 재사용할 수 있도록 설계된 클래스들의 집합이다. PHP 프레임워크에는 laravel, symfony, codeigniter, cakephp 등이 있다. 아래 그림은 사람들이 가장 많이 사용하는 프레임워크 순위를 나타낸다.
출시한지 3년 밖에 되지 않았지만 프레임워크 중 1위를 차지하였다. 한국 메뉴얼(https://www.laravel.co.kr/)과 각종 튜토리얼(https://laracasts.com/)을 제공한다. 하지만 아직은 한국어로 되어진 데이터가 많이 부족하다. 구조화가 잘되어 있으며, 속도면에서는 Phalcon에 비해 느리지만 많이 느린편은 아니다.
심포니 한국 사용자 포럼에 들어가면 튜토리얼을 제공 하며, 심포니의 중요한 개념부터 간단한 프로젝트를 구현함에 있어 빠르게 시작할 수 있는 방법들을 알려준다. 설치를 위해 약간의 필수 조건은 있으나, 설정은 거의 없다. 단지 웹서버와 PHP5가 설치된 Unix 혹은 Windows 가 필요하다. 대부분의 데이터베이스 시스템과 호환이 되고 호스팅 비용을 제외하면 추가 비용이 발생하지 않는다.
MVC기반으로 최소사양은 PHP 5.2.4, 권장사양은 5.4 이상이다. Codeigniter 한국사용자 포럼에 사용방법과 정보가 잘 갖추어있으며, 라이브러리가 많아 개발기간도 단축할 수 있다. FTP를 이용해 압축파일을 풀어놓기만 하면 되기 때문에 설치과정이 복잡하지 않다. 작년까지만 해도 Codeigniter가 1위였는데 Laravel과 Symfony에 밀려 3위가 됐다. 하지만 우리나라에서는 한국 메뉴얼과 커뮤니티가 잘 형성되어 있어 제일 많이 사용되어지고 있다.
API문서가 잘 갖추어져있으며, 개발 시 많이 쓰이는 메소드와 기능은 클래스에 기본 실행으로 탑재되어있다. 스키마를 만들면 자동으로 HTML 폼을 생성하고, 다중 DB접속 기능을 지원한다. 속도는 느린편이다. 오류 상황에 대해서는 친절하게 안내해준다. 예를들어, 모델과 연결되는 DB테이블이 없으면 없다는 안내를 하고, 컨트롤러가 없으면 그것에 대한 안내도 해준다.
PHP의 메인 서포터 업체인 Zend에서 개발한 프레임워크로 PHP5만 지원하며, 용량이 크고 국내 커뮤니티가 없다. 패키지로도 사용할 수 있고 분리된 모듈로도 사용될 수 있도록 만들어졌다. 다른 프레임워크들은 전체를 사용하거나 전혀 사용할 수 없지만 Zend 프레임워크는 독자적인 프레임워크를 사용할 수 있는 클래스가 탑재되어 있다.
PHP프레임워크들의 속성을 비교해 놓은 표이다.
PHP Framework |
PHP4 | PHP5 | MVC | Multiple DB's | ORM | DB Objects | Temp lates |
Caching | Vali dation |
Ajax | Auth Module | Modules | EDP |
Akelos |
- | ||||||||||||
ash.MVC |
- | - | - | - | - | - | |||||||
CakePHP |
- | - | |||||||||||
CodeIgniter |
- | - | - | - | - | ||||||||
DIY |
- | - | - | - | - | - | |||||||
eZ Components |
- | - | - | - | - | - | - | ||||||
Fusebox |
- | - | - | - | - | - | |||||||
PHP on TRAX |
- | - | - | - | - | ||||||||
PHPDevShell |
- | - | - | ||||||||||
PhpOpenbiz |
- | - | - | - | |||||||||
Prado |
- | ||||||||||||
QPHP |
- | - | |||||||||||
Seagull |
- | ||||||||||||
Symfony |
- | - | - | ||||||||||
WACT |
- | - | - | - | - | ||||||||
WASP |
- | - | - | - | - | ||||||||
Yii |
- | ||||||||||||
Zend |
- | - | |||||||||||
ZooP |
- | - | - |
http://www.phpframeworks.com/index.php 참조
속성에 대한 설명은 아래와 같으며, 이중에 반드시 필요한 속성은 주황색으로 표시하였다.
☞ MVC : Model-View-Controller 패턴 지원여부
☞ Multiple DB's : 다중 데이터베이스 지원여부
☞ ORM : 객체와 관계형 테이블 사이에 매핑을 처리해 주는 것으로 SQL문 작성없이 간단한 매핑 설정으로 데이터베이스의 테이블 데이터를 객제를 전달 받을 수 있는 기능을 말함
☞ DB Objects : 데이터베이스 객체 지원여부
☞ Templates : 내부적으로 템플릿 엔진을 포함여부
☞ Caching : 캐시 객체를 지원여부
☞ Validation : 검증(validation) 또는 필터링(filtering) 컴포넌트 지원여부
☞ Ajax : Ajax를 지원여부
☞ Auth Module : 사용자 인증을 처리하기 위한 모듈 포함여부
☞ Modules : RSS 피드 파서, PDF 모듈 등과 같이 유용한 모듈 포함여부
☞ EDP : 어플리케이션이 이벤트를 선택 또는 이벤트를 감지하고, 이벤트를 처리하는 Event Driven Programming 지원여부
이 글에 공감하시면 아래 공감 버튼 눌러주세요~
'IT.info > IT소식' 카테고리의 다른 글
올해 프로그래밍 언어 순위 (0) | 2015.07.03 |
---|