본문 바로가기
프로그래밍

PHP4의 또다른 이름 "Zend" 가 뭘까?

by 건우아빠유리남편 2009. 12. 6.
반응형
PHP4의 또다른 이름 "Zend" 가 뭘까?


Zend 는 소프트웨어의 한 부분입니다(MS의 표현을 빌리자면 컴포넌트죠). 다시 말해 스크립트언어의 해석 엔진입니다. 문자 그대로 해석하면 PHP와 아무 상관이 없어 보입니다. 사실대로 말하면 PHP스크립트를 해석할 수 있는 새로운 엔진을 만들다 보니 PHP와 완전히 호환이 가능하게 된 것입니다. Zend 이전의 버전은 3가지로 초창기 2가지 버전의 PHP/FI는 Rasmus Lerdorf에 의해 만들어졌으며,.그리고 1997년 말에 Andi Gutmans 와 제가(Zeev Suraski ) 완전히 새로운 기반의 엔진을 만들었는데요 그것이 PHP3 의 핵심이 되었습니다. 그 새로운 엔진은 성능과 안정성이 뛰어났고 강력하고 일관성 있었습니다. 게다가 확장성이 풍부한 API를 제공 했구요. 많은 조언들로 이 엔진은 점점 더 강력해 지게 되었습니다. PHP3에 많은 새로운 기능이 포함되고 쓸만하다는 사실이 알려지자 많은 개발자들이 개발 환경으로 사용하면서 점점 더 복잡한 소스코드를 만들기 시작했습니다. 사실대로 고백하면 PHP3 는 애초에 복잡한 스크립트를 돌리기 위해 만들어진 것이 아닙니다. 즉 스크립트가 복잡해 질수록 효율성이 심각하게 떨어진다는 것을 알게 되었죠. 이 사실을 깨 닫고 Andi Gutmans 와 저는 복잡한 소스코드 실행에서 뛰어난 성능을 발휘하고 간결한 코드에서도 성능저하가 없는 완전히 새로운 엔진을 만들게 되었죠. 그것이 바로 zend. 입니다
Zend 는 Zeev Suraski 와 Andi Gutmans 의 약자입니다. 아셨죠? 이글을 보시는 분은 PHP4와 Zend의 차이를 이해하실 줄 믿으며, 다음으로..

그럼 어떻게 Zend가 PHP4에 같이 쓰여지게 되었을까?

PHP3 엔진과 마찬가지로 Zend 역시 이전 버전의 몇몇 문제점(성능저하)을 해경하기 위해 개발되었습니다. 우선 가장 중요한 점은 Zend 는 PHP3 와 완전히 호환될 뿐만 아니라 보다 최적화 되어 있습니다. Zend 엔진은 일반적으로 PHP3 보다 3~200 배 정도 빠르게 스크립트를 실행합니다. 여러분이 현재 가진 소스를 전혀 손대지 않고 단지 새로운 버전의 PHP3를 설치 하는 것 만으로 이런 성능향상을 기대 할 수 있다는 걸 주목하세요(정말 신나죠? 당장 PHP4로 바꿔버려?).이런 장점은 무지하게 사람들이 많이 찾는 사이트에서 주목할 만합니다. 또는 복잡한 스크립트를 돌려야 하는 사이트 역시 마찬가지입니다.
또한 별도로 판매하는 PLUG-IN을 사용하면 가능한 최고의 성능을 낼 수도 있습니다. zend 는 foreach, class::method() calls과 같은 새로운 문법과 PHP3에서 불편했던 점을 수정했습니다. 문법은 자세히 나중에 레퍼런스를 자료실에 올리도록하겠습니다.


그럼 PHP4에서 좋아진 점은 또 어떤게 있을까?

PHP4 는 단지 성능향상과 신뢰성만이 향상된 것이 아닙니다. 상당히 많은 개선이 이루어졌습니다.
PHP 모듈은 이전 버전 보다 더 많이 모듈화 되었습니다. 여러분이 PHP 배포판에 따라오는 모든 모듈을 포함시킬 계획을 가지고 있을지 몰라도 각각의 모듈은 필요 시에만 동적으로 적재가 되도록 만들어 졌습니다. 이미 PHP3 버전에 이 기능이 포함되어 있었지만 표준이 부족했고 동적인 모듈이 쉽게 생성되도록 만드는 게 쉽지 않았습니다. 그러나 현재로서 이 기능은 Stig Bakken.에 의해 거의 완성 되었습니다.

4.0버전에서 강화된 또 다른 기능중의 하나는 웹서버 인터페이스입니다. 3.0에서는 3가지 인터페이스를 제공했는데 표준 CGI, 아파치 , fhttpd 등입니다. 아시다시피 아파치는 가장 뛰어난 웹서버입니다. 새로운 버전에서는 ISAPI(MS IIS를 위한)와 NSAPI(네트스케이프 서버들을 위한)를 지원하게 되었습니다. 또한 COM/DCOM 과 같은 인터페이스를 통해 ASP를 통해 하던 작업을 PHP4.0에서도 할 수 있게 되었습니다. 요약하면 PHP4.0은 3.0버전보다 훨씬 빠르고 안정적일 뿐 아니라 좀더 모듈화 되어 이식성이 뛰어나며 많은 기능이 추가 되었습니다.

앞으로의 전망


앞에서 잠시 보았지만 Zend가 개발되는 과정에서 PHP/FI2에서 PHP3로의 발전과는 달리 Zend 는 완전히 PHP3 엔진과 분리되어 있지는 않고. Zend 는 독립적인 라이브러리로 디자인 되어 있어 PHP 이외의 프로그램에서도 재사용 될 수 있도록 설계되어 만들어졌습니다.

반응형

댓글