PHP 프로그래밍

본문 바로가기
사이트 내 전체검색


Web Programming >> PHP Programming
[목차]
제1장 PHP의 소개 및 설치하기

    2. Zend(PHP4.0)에 대하여

지금 현재는 PHP version 3이 지배적으로 많이 사용되고 있으며 PHP 버전 4(Zend)는 베타테스트 중입니다. 여러분 중에는 PHP3를 배운 다음에 또 Zend를 배워야 하는 지에 대해서 의문과 걱정을 가질 수 있습니다. 하지만 'Zend'라는 것은 하나의 변화된 내부 엔진일 뿐입니다. 앞으로 계속 설명을 하겠지만 실제 변화된 것은 내부 엔진이지 인터페이스가 아닙니다. 즉 PHP 자체만 공부하면 PHP3이던 PHP4이던 아무런 문제가 되지 않는 다는 것입니다. 버전에 대해서 더 이상 걱정하지 않기를 바랍니다.

2.1. Zend 란 무엇인가 ?

Zend라는 것은 PHP version 4.0을 말하는 것으로 기존에 사용하고 있던 PHP version 3.0(PHP3)의 차기 버전을 말하는 것입니다. 좀 더 자세히 설명하자면 정확히 Zend는 소프트웨어의 한 부분으로서 PHP 스크립트 언어의 해석 엔진입니다. 다른 말로 표현하면 PHP 언어의 인터프리터입니다.

문자 그대로 해석하면 PHP와 아무 상관이 없어 보이지만 사실대로 말하면 PHP 스크립트를 해석할 수 있는 새로운 엔진을 만들다 보니 PHP와 완전히 호환이 가능하게 된 것입니다. Zend이전의 버전은 3가지가 있는데 초기 2가지 버전의 PHP/FI는 Rasmus Lerdorf에 의해 만들어졌으며 1997년 말에 Andi Gutmans와 Zeev Suraski 가 완전히 새로운 기반의 엔진을 만들었는데 그것이 PHP3의 핵심이 되었습니다. 그 새로운 엔진은 성능과 안정성이 뛰어났고 강력하고 일관성이 있었습니다. 게다가 확장성이 풍부한 API를 제공했으며 많은 조언들로 이 엔진은 점점 더 강력해졌습니다. PHP3에 많은 새로운 기능이 포함되고 쓸만하다는 사실이 알려지자 많은 개발자들이 개발 환경으로 사용하면서 점점 더 복잡한 소스 코드를 만들기 시작했습니다.

실제 PHP3는 애초에 복잡한 스크립트를 돌리기 위해 만들어진 것이 아니었기 때문에 스크립트가 복잡해질수록 효율성이 심각하게 떨어진다는 것을 알게 되었고 이 사실을 깨닫고 Andi Gutmans 와 Zeev Suraski는 복잡한 소스코드 실행에서 뛰어난 성능을 발휘하고 간결한 코드에서도 성능 저하가 없는 완전히 새로운 엔진을 만들게 되었는데, 그것이 바로 Zend입니다.

Zend는 바로 Zeev Suraski와 Andi Gutmans 의 약자를 말하는 것입니다. PHP/FI2에서 PHP3로의 발전은 완전히 새로운 엔진을 만든 것이라고 할 수 있지만 Zend는 완전히 PHP3 엔진과 분리되어 있지는 않습니다. Zend는 독립적인 라이브러리로 디자인 되어 있어 PHP 이외의 프로그램에서도 재사용될 수 있으며 현재 Zend를 이용해 빠르고 강력한 MySQL데이터베이스의 stored procedure언어를 만들 계획입니다. 또한 Zend를 개발 플랫폼에 무관할 뿐만 아니라 다른 프로그래밍 언어에서도 사용 가능하도록 할 계획입니다.


2.2. 어떻게 'Zend'가 PHP4.0에 참여하게 되었나 ?

PHP3 엔진과 마찬가지로 Zend 역시 이전 버전의 몇몇 문제점(성능저하)을 해결하기 위해 개발되었습니다. 우선 가장 중요한 점은 Zend는 PHP3와 완전히 호환될 뿐만 아니라 보다 최적화 되어 있습니다. Zend 엔진은 일반적으로 PHP3보다 3~200배 정도 빠르게 스크립트를 실행합니다. 여러분이 현재 가진 소스를 전혀 손대지 않고 단지 새로운 버전의 PHP를 설치하는 것만으로 이런 성능 향상을 기대할 수 있다는 것은 얼마나 기쁜일인지 모릅니다. 이런 장점은 무지하게 사람들이 많이 찾는 인터넷 사이트에서 유용하게 사용될 수 있는 것입니다. 또한 복잡한 스크립트를 돌려야 하는 사이트에도 역시 도움이 될 수 있을 것입니다.

또한 별도로 판매하는 Plog-in을 사용하면 가능한 최고의 성능을 낼수도 있습니다. Zend는 foreach, class::method() calls과 같은 새로운 문법과 PHP3에서 불편했던 점을 수정했습니다. PHP와 Zend의 관계를 보다 쉽게 이해하기 위해 다음 그림을 참고하기 바랍니다.




2.3. 'Zend'엔진에서는 무엇이 향상되었나 ?

첫째, 속도 향상을 가져왔습니다.

Zend는 기존의 PHP3 보다 3배에서 200배의 속도가 빨라졌는데, 이것은 정말로 급진적인 속도 향상이라 볼 수 있습니다. 혹자는 그러면 기존의 PHP3가 그렇게 속도가 느렸느냐고 반문할 수도 있겠지만 사실 PHP3만 해도 속도는 상당히 빠르다는 것을 알 수 있으며, 전반적으로 볼 때 기존의 C나 Perl을 이용한 CGI방식보다도 빠르다는 것을 느낄수 있었을 것입니다. Zend가 나옴으로 해서 이젠 C나 Perl을 이용한 기존의 CGI방식들은 서서히 사라져 갈 것으로 예상됩니다.

둘째, 더 많은 모듈화가 되었습니다.

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

셋째, 웹 서버 인터페이스가 강화되었습니다.

4.0버전에서 강화된 또 다른 기능 중의 하나는 웹서버 인터페이스입니다. 3.0에서는 3가지 인터페이스를 제공했는데 표준 CGI, 아파치, fhttpd입니다. 새로운 버전에서는 아파치 뿐만 아니라 ISAPI(MS IIS를 위한)와 NSAPI(넷스케이프 서버들을 위한)를 지원하게 되었습니다.

넷째, COM/DCOM 인터페이스를 이용할 수 있게 되었습니다.

기존에는 MS의 ASP를 통해서만 COM/DCOM과 같은 인터페이스를 이용할 수 있었지만 4.0에서는 이것을 지원하게 되었습니다.

정리하면, PHP4.0은 3.0버전보다 훨씬 빠르고, 안정적일 뿐 아니라 좀더 모듈화되어 이식성이 뛰어 나면 많은 기능이 추가 되었습니다.

 

[목차]

개인정보취급방침 서비스이용약관 모바일 버전으로 보기 상단으로

TEL. 063-469-4551 FAX. 063-469-4560 전북 군산시 대학로 558
군산대학교 컴퓨터정보공학과

Copyright © www.leelab.co.kr. All rights reserved.