Zend Framework은 php 개발사인 Zend에서 직접 관리하는 오픈소스 프레임웍이다. BSD라이센스에 기반해 무료로 배포하며, 교육/테크니컬 서포트 등에 있어서는 과금을 하는 비즈니스 모델을 가지고 있다. 즉, 무료라는 말이다.
하지만 "프레임웍"의 특성상 API사용 등에 익숙해지는 등의 러닝커브가 있을 수 밖에 없고, 따라서 어느정도 공부가 필요하다. 국내에 개발리소스가 부족한 편이어서 리소스를 하나씩 채워간다는 생각으로 글을 시작한다. 하지만 눈앞에 직면한 프로젝트를 이 글을 통해 적용할 생각은 하지 않는 편이 나을 것이다. 언제 업데이트 될지는 주인장 마음이므로..
먼저 특징을 살펴보자. 공식 홈페이지에 따르면,
"극도로 심플함, 그리고 능률적", "최근 개발동향에 맞는 기능들", "친숙하고 간단한 라이센스 정책, 대용량환경에 안전함", "모든 기능이 테스트됨" 으로 요약했다. 극도로 심플하지..는 않고, 다른 특징들은 사실이다. 내가 느낀 점을 몇가지 더 적자면, 러닝커브가 크다. 뿌리부터 객체인 자바와 다르게 PHP는 태생이 그렇지 못하므로 OOP를 처음부터 배워야 하는 사람들도 더러 있을 수 있다. 한글로 된 리소스가 거의 없다. 이미 커뮤니티가 이루어진 CodeIgniter나 CakePHP 등 다른 프레임웍에 비해 한글로 된 리소스가 적어서 배움에 어려움이 있다. 그리고 클래스가 정말 많고 작성해야할 파일도 많다. 따라서 vi나 editplus 등의 에디터보다 eclipse 등 IDE 사용을 강력히 추천한다. 그럼에도 불구하고 이미 낡은 PEAR를 대체할만한 수단으로 사용하기만으로 ZF는 충분히 매력적이며, 익숙해지기 시작하면 어느 정도 속도도 붙는다. 마지막으로 PHP5 전용이다. CodeIgniter나 (CodeIgniter 2.0 버전부터 PHP5전용으로 되었다는 지적을 받았습니다) CakePHP는 PHP4에서 사용하는 사용자들을 위해 PHP5에서 강화된 오브젝트 관련 문법들을 지원하지 않는다. ZF는 PHP5 이상의 버전에서만 구동하도록 최신 문법으로 작성되었고, 최신 문법으로 개발 해야한다.
ZF 설치
우선 다운로드를 받는다. 기본적으로 APM은 설치가 되어 있을 것이므로 http://framework.zend.com/download/current/ 이 곳에서 Zend Framework Full Package를 다운로드 받는다. 혹은 서브버전을 통해 checkout, export 해오는 방식으로 받아올 수도 있다. svn 저장소는 http://framework.zend.com/svn/framework/standard/tags/ 이 곳이다. 우선 웹브라우저로 접근해 최근 릴리즈 버전을 알아낸 후 받아오도록 하자.
압축을 받았거나 파일을 받아왔다면 적절한 디렉토리에 파일을 넣어야 한다. 앞서 이야기 했듯 파일 사이즈가 크고 개수가 많으므로, 프로젝트 폴더에 함께 넣는 것 보다 웹서버의 php 라이브러리 디렉토리에 넣는 것을 추천한다. 예를들어 나는 맥OS 위에 XAMPP를 통해 사용하고 있어서, /Applications/XAMPP/xamppfiles/lib/php/ZendFramework 디렉토리에 여러 버전의 ZF를 넣어서 사용하고 있다.

이제 설정 파일을 편집해야 한다. 우선 php.ini를 열어 어떤 프로젝트에서나 ZF를 사용할 수 있도록 include_path를 변경하도록 하자. 그림과 같이 include_path 에 방금 설치한 ZF의 위치를 추가해준다. 웹서버를 다시 시작하면 앞으로 어느 디렉토리에서든 Zend Framework를 활용할 수 있게 될 것이다.

ZF에는 커맨드라인 툴이 있다. 이 툴은 프로젝트 생성, 모듈 생성, 데이터베이스 파일 생성 등 폴더를 만들고, 파일을 만드는 지리한 작업을 도와주기 위한 것이다. xNIX환경에서는 쉘스크립트 형태이고, 윈도 환경에서는 배치파일 형태로 되어 있다. PHP와 함께 제공되는 pear, pecl과 비슷하게 본체는 php스크립트이고, 실행파일은 스크립트를 편하게 실행시키기 위한 것이다. 이 파일들은 ZF의 bin 디렉토리 아래에 위치한다. 커맨드라인 툴은 물론 커맨드라인 상에서 실행되게 될텐데, 디렉토리 구조상 너무 복잡한 곳에 위치하게 되면 사용할 때마다 디렉토리를 찾아들어가야 하므로 귀찮을 것이다. 따라서 xNIX 환경에서는 ~/bin/에 symlink를 걸어두는 방법으로 사용하고, 윈도 사용자들은 PATH환경 변수에 bin 디렉토리를 추가해놓도록 하자.
20년전에 C 공부 잠시 한게 개발 공부
뜻한바가 있어 php 찾다가 여기까지 ㅎ
꼭 해보고 싶은 아이디어는 있는데, 아는 개발자는 없고 해서..
우찌우찌 직접 공부해서 ... 천천히라도 ...
님, 끝까지 강좌 잘 부탁드려요~~.
Tommy,
Post new comment