PHP

올해 PHP  프레임워크 순위(2015)

 

프레임워크란 소프트웨어의 특정한 클래스에 대하여 재사용할 수 있도록 설계된 클래스들의 집합이다. PHP 프레임워크에는 laravel, symfony, codeigniter, cakephp 등이 있다. 아래 그림은 사람들이 가장 많이 사용하는 프레임워크 순위를 나타낸다.

 

 

 

 http://laravel.com 

 

출시한지 3년 밖에 되지 않았지만 프레임워크 중 1위를 차지하였다. 한국 메뉴얼(https://www.laravel.co.kr/)과 각종 튜토리얼(https://laracasts.com/)을 제공한다. 하지만 아직은 한국어로 되어진 데이터가 많이 부족하다. 구조화가 잘되어 있으며, 속도면에서는 Phalcon에 비해 느리지만 많이 느린편은 아니다.

 

 https://symfony.co.kr/

 

심포니 한국 사용자 포럼에 들어가면 튜토리얼을 제공 하며, 심포니의 중요한 개념부터 간단한 프로젝트를 구현함에 있어 빠르게 시작할 수 있는 방법들을 알려준다. 설치를 위해 약간의 필수 조건은 있으나, 설정은 거의 없다. 단지 웹서버와 PHP5가 설치된 Unix 혹은 Windows 가 필요하다. 대부분의 데이터베이스 시스템과 호환이 되고 호스팅 비용을 제외하면 추가 비용이 발생하지 않는다.

 

 http://codeigniter-kr.org/

 

MVC기반으로 최소사양은 PHP 5.2.4, 권장사양은 5.4 이상이다. Codeigniter 한국사용자 포럼에 사용방법과 정보가 잘 갖추어있으며, 라이브러리가 많아 개발기간도 단축할 수 있다. FTP를 이용해 압축파일을 풀어놓기만 하면 되기 때문에 설치과정이 복잡하지 않다. 작년까지만 해도 Codeigniter가 1위였는데 Laravel과 Symfony에 밀려 3위가 됐다. 하지만 우리나라에서는 한국 메뉴얼과 커뮤니티가 잘 형성되어 있어 제일 많이 사용되어지고 있다.

 

 http://cakephp.org/

 

API문서가 잘 갖추어져있으며, 개발 시 많이 쓰이는 메소드와 기능은 클래스에 기본 실행으로 탑재되어있다. 스키마를 만들면 자동으로 HTML 폼을 생성하고, 다중 DB접속 기능을 지원한다. 속도는 느린편이다. 오류 상황에 대해서는 친절하게 안내해준다. 예를들어, 모델과 연결되는 DB테이블이 없으면 없다는 안내를 하고, 컨트롤러가 없으면 그것에 대한 안내도 해준다. 

 

 http://www.zend.com/

 

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
 Visit Akelos download url talk Akelos at forum
Akelos Support PHP4 Akelos Support PHP5 Akelos Support MVC Akelos Support Multiple DB Akelos Support ORM Akelos Support DB Objects Akelos Support Templates Akelos Support Caching Akelos Support Validation Akelos Support Ajax Akelos Support Auth Module Akelos Support Modules -
ash.MVC
 Visit ash.MVC download url 
- ash.MVC Support PHP5 ash.MVC Support MVC - - ash.MVC Support DB Objects ash.MVC Support Templates - ash.MVC Support Validation - ash.MVC Support Auth Module ash.MVC Support Modules -
CakePHP
 Visit CakePHP download url talk CakePHP at forum
CakePHP Support PHP4 CakePHP Support PHP5 CakePHP Support MVC CakePHP Support Multiple DB CakePHP Support ORM CakePHP Support DB Objects - CakePHP Support Caching CakePHP Support Validation CakePHP Support Ajax CakePHP Support Auth Module CakePHP Support Modules -
CodeIgniter
 Visit CodeIgniter download url talk CodeIgniter at forum
CodeIgniter Support PHP4 CodeIgniter Support PHP5 CodeIgniter Support MVC CodeIgniter Support Multiple DB - CodeIgniter Support DB Objects CodeIgniter Support Templates CodeIgniter Support Caching CodeIgniter Support Validation - - - -
DIY
 Visit DIY download url 
- DIY Support PHP5 DIY Support MVC - DIY Support ORM DIY Support DB Objects DIY Support Templates DIY Support Caching - DIY Support Ajax - - -
eZ Components
 Visit eZ Components download url 
- eZ Components Support PHP5 - eZ Components Support Multiple DB - eZ Components Support DB Objects eZ Components Support Templates eZ Components Support Caching eZ Components Support Validation - - - -
Fusebox
 Visit Fusebox download url 
Fusebox Support PHP4 Fusebox Support PHP5 Fusebox Support MVC Fusebox Support Multiple DB - - - Fusebox Support Caching - Fusebox Support Ajax - Fusebox Support Modules -
PHP on TRAX
 Visit PHP on TRAX download url 
- PHP on TRAX Support PHP5 PHP on TRAX Support MVC PHP on TRAX Support Multiple DB PHP on TRAX Support ORM PHP on TRAX Support DB Objects - - PHP on TRAX Support Validation PHP on TRAX Support Ajax - PHP on TRAX Support Modules -
PHPDevShell
 Visit PHPDevShell download url 
- PHPDevShell Support PHP5 PHPDevShell Support MVC - PHPDevShell Support ORM PHPDevShell Support DB Objects PHPDevShell Support Templates PHPDevShell Support Caching PHPDevShell Support Validation PHPDevShell Support Ajax PHPDevShell Support Auth Module PHPDevShell Support Modules -
PhpOpenbiz
Visit PhpOpenbiz download url 
- PhpOpenbiz Support PHP5 PhpOpenbiz Support MVC PhpOpenbiz Support Multiple DB PhpOpenbiz Support ORM PhpOpenbiz Support DB Objects PhpOpenbiz Support Templates - PhpOpenbiz Support Validation PhpOpenbiz Support Ajax PhpOpenbiz Support Auth Module - -
Prado
 Visit Prado download url talk Prado at forum
- Prado Support PHP5 Prado Support MVC Prado Support Multiple DB Prado Support ORM Prado Support DB Objects Prado Support Templates Prado Support Caching Prado Support Validation Prado Support Ajax Prado Support Auth Module Prado Support Modules Prado Support EDP
QPHP
 Visit QPHP download url 
QPHP Support PHP4 QPHP Support PHP5 QPHP Support MVC QPHP Support Multiple DB - QPHP Support DB Objects QPHP Support Templates - QPHP Support Validation QPHP Support Ajax QPHP Support Auth Module QPHP Support Modules QPHP Support EDP
Seagull
 Visit Seagull download url 
Seagull Support PHP4 Seagull Support PHP5 Seagull Support MVC Seagull Support Multiple DB Seagull Support ORM Seagull Support DB Objects Seagull Support Templates Seagull Support Caching Seagull Support Validation Seagull Support Ajax Seagull Support Auth Module Seagull Support Modules -
Symfony
 Visit Symfony download url talk Symfony at forum
- Symfony Support PHP5 Symfony Support MVC Symfony Support Multiple DB Symfony Support ORM Symfony Support DB Objects - Symfony Support Caching Symfony Support Validation Symfony Support Ajax Symfony Support Auth Module Symfony Support Modules -
WACT
 Visit WACT download url talk WACT at forum
WACT Support PHP4 WACT Support PHP5 WACT Support MVC WACT Support Multiple DB - WACT Support DB Objects WACT Support Templates - WACT Support Validation - - WACT Support Modules -
WASP
 Visit WASP download url 
- WASP Support PHP5 WASP Support MVC - - WASP Support DB Objects WASP Support Templates - WASP Support Validation WASP Support Ajax WASP Support Auth Module WASP Support Modules -
Yii 
Visit Yii download url talk Yii at forum
- Yii Support PHP5 Yii Support MVC Yii Support Multiple DB Yii Support ORM Yii Support DB Objects Yii Support Templates Yii Support Caching Yii Support Validation Yii Support Ajax Yii Support Auth Module Yii Support Modules Yii Support EDP
Zend
 Visit Zend download url talk Zend at forum
- Zend Support PHP5 Zend Support MVC Zend Support Multiple DB Zend Support ORM Zend Support DB Objects Zend Support Templates Zend Support Caching Zend Support Validation Zend Support Ajax Zend Support Auth Module Zend Support Modules -
ZooP
 Visit ZooP download url 
ZooP Support PHP4 ZooP Support PHP5 ZooP Support MVC ZooP Support Multiple DB - ZooP Support DB Objects ZooP Support Templates ZooP Support Caching ZooP Support Validation ZooP Support Ajax ZooP Support Auth Module - -

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 지원여부

 

about author

PHRASE

Level 1  머나먼나라1

댓글 ( 4)

댓글 남기기

작성