비주얼 스튜디오 2008 trial 버전 (정품이 없을 경우 Trial 버전을 설치하면 됩니다.)
http://www.microsoft.com/downloads/details.aspx?displaylang=ko&FamilyID=83c3a1ec-ed72-4a79-8961-25635db0192b
비주얼 스튜디오 2008 서비스팩1
http://www.microsoft.com/downloads/details.aspx?displaylang=ko&FamilyID=27673c47-b3b5-4c67-bd99-84e525b5ce61
비주얼 스튜디오 실버라이트 개발툴
http://www.microsoft.com/downloads/details.aspx?FamilyID=c22d6a7b-546f-4407-8ef6-d60c8ee221ed&DisplayLang=ko
저자 : Michael J. Ross
원문 : http://www.onlamp.com/pub/a/php/2008/03/04/using-zend-studio-for-php-programming.html
http://network.hanb.co.kr/view.php?bi_id=1510
PHP 프로그래밍을 위한 Zend Studio 사용하기(1)
등록일: 2008년 04월 11일조회수: 1,374 프린트 전체기사목록
제공 : 한빛 네트워크
저자 : Michael J. Ross
역자 : 진영학
원문 : Using Zend Studio for PHP Programming
Java, C++ 또는 이와 비슷한 언어를 사용하는 데스크톱 응용 소프트웨어 개발자들은 다양하고 강력한 통합 개발 환경(IDEs: Integrated Development Environments)을 선택할 수 있는 것에 익숙하다. 각 IDE는 에디터의 여러 가지 기능, 소스 레벨 디버거, 소스 코드 관리, 그리고 내장 FTP 클라이언트 등을 함께 제공한다. 여러 가지 유용한 기능을 제공하는 IDE들의 모든 특징과 기능을 완전히 익히는 데에는 약간의 시간이 걸릴 수도 있다. 그러나 대부분의 프로그래머는 시간과 노력을 잘 투자함으로써 더 견고한 많은 코드를 더 빨리 개발할 수 있다.
반면, 웹 개발자들은 프로젝트와 자신의 건강을 챙길 수 있는 IDE를 긴 세월동안 경험하지 못하고 있다. 그러나 지난 몇 년 동안 시대는 변했고 현재 많은 소프트웨어 회사는 PHP와 같은 웹 언어에 많은 관심을 가지고 있다.
이러한 명백한 예의 한 가지가 캘리포니아 Cupertino에 본사를 둔 Zend사의 Zend Studio이다. Zend사는 자신을 “The PHP Company"라고 광고하는데, 이것은 회사가 1997년부터 현재까지 PHP 실행 엔진인 Zend 엔진의 개발과 공헌을 포함해서 PHP를 계속해서 지원하는 역사를 가지기 때문이다.
Zend사가 제공하는 PHP IDE용 Zend Studio for Eclipse의 최신 업데이트는 6.0버전이다. 처음 만들어질 때부터 이 제품은 매년 기능이 발달하고 널리 사용되는 오픈 소스 플랫폼인 Eclipse를 사용하고 있으며 또한 PHP Development Tools(PDT) 프레임워크를 사용한다.
Zend Studio 6.0은 2008년 1월에 5.5.1버전의 출시와 함께 계속해서 Zend사에 의해 유지 및 지원이 될 5.5버전의 모든 기능을 포함하며, 이 제품이 새로운 세대임을 나타낸다. Zend사에서 홍보를 담당하며 두 제품의 정보를 제공하는 Jeff Koo는 5.5버전의 유지를 계속할 것임과 동시에 고객들이 그들의 계획에 따라 제품을 바꾸도록 하는 Zend사의 계획을 언급했다. 5.5버전은 Zend Studio의 마지막 non-eclipse 제품이 될 것이다.
제품군, 요구사항, 가격
Zend Studio는 Standard와 Professional의 두 가지 에디션이 있다. Standard는 완전한 소스 코드 에디터(PHP4와 5를 지원함)와 로컬 PHP 스크립트를 위한 상호작용이 가능한 디버거를 제공한다. Professional은 아래에 자세하게 설명한 코드 분석, 최적화, 버전 컨트롤, 그리고 소스 관리를 포함하는 다양한 기능을 제공한다.
이 리뷰에서는, 두 가지 제품군을 모두 검토할 것이지만 Professional에 초점을 둘 것이다.
취향에 따라 Eclipse 자체는 현재 63MB부터 153MB까지 다양한 설치 옵션을 제공하고 있어 크기에 관해서는 이것은 분명 작은 제품이 아니다. Zend Studio의 새로운 버전이 Eclipse와 PDT를 포함한 것이 5.5보다 설치 파일이 더 커지게 된 주된 이유인 것 같다. 즉, 290MB 이상 대 약 68MB이다. 디스크에 설치될 때, 5.5는 157MB를 차지하는 반면에 6.0은 433MB를 차지한다. 대부분의 응용 소프트웨어가 시스템 요구사항에서 밝히는 것과 달리, Zend사에서는 디스크 사용 용량에 관해서 어떠한 언급을 하지 않는다.
그러나 시스템 요구사항 페이지는 Zend Studio가 Intel x86 또는 PowerPC G4, G5 프로세서와 함께 Windows 2000, XP, 2003, 그리고 Vista(32bit에서만), Linux x86 and x86-64, 그리고 Mac Os X 10.4에서 사용이 가능함을 명시한다. Zend 플랫폼을 위한 시스템 요구사항 또한 제공이 된다.
1년간 지원하는 가입 조건으로 Professional의 가격은 399달러이고 3년간의 지원에는 717달러이다. 2008년 1월 22일 이후 첫 30일간은 가격이 299달러와 498달러이다. Standard는 99달러로 책정이 될 것이며 기술 지원은 포함이 되지 않는다. 하지만 제품 구입자는 항상 Professional로 업그레이드가 가능하다. 사용자가 Eclipse를 사용하는 것에 관심이 있는가에 따라 5.5 또는 6.0버전을 선택할 수 있다.
설치와 시작하기
특정 운영체제에 해당하는 Zend Studio 설치 파일을 다운로드한 후, 제품을 인스톨하는 데 여러 가지 단계가 있다. 설정과 설치가 두 가지 주요한 것들이다. 설정에서, 브라우저에 Zend Firefox와 Internet Explorer 툴바를 설치할 수 있도록 선택할 수 있다. 또한 설치 디렉터리와 Zend Studio와 연결되는 파일 확장자를 명시할 수 있다. Zend Studio의 최신 버전에서는 13단계의 과정을 거치는 5.5보다 설치가 더 간단하다. 게다가 전체 PHP 매뉴얼의 설치가 더 이상 옵션이 아니다. 그러나 매우 쉽게 이용 가능한 매뉴얼을 설치하는 것은 확실히 그것이 차지하는 작은 공간을 생각해 보면 가치가 있다. 마지막으로 5.5에서는 Zend Core(추가 확장, 라이브러리, 원거리 디버깅 등 포함)와 Zend Platform(PHP 응용소프트웨어 서버)을 선택할 수 있다.
Eclipse는 시작시 4321포트를 이용해서 IP주소 192.168.255.255에 접속하려고 한다. 이것은 제품의 라이선스 보호를 위한 일부분일 수 있다. 적어도 30일 간의 평가 기간 동안은 접속하지 않아도 제품의 기능을 사용하는 데 문제가 없다. 또한, 처음 시작할 때, Zend Studio의 두 가지 버전 모두 사용 팁을 제공한다. 원한다면 비활성화 가능하다. 5.5버전은 처음에 제품의 이전 버전이 있는지 확인한다. 6.0버전은 그런 것 같지 않다.
만약 로컬 PHP 스크립트를 디버깅하려고 할 때, 대부분의 사용자는 Zend Studio에서 어떤 작업을 하기 전에 서버가 살아있는지 확인하는데, 때때로 이유가 무엇이든 간에 로컬 웹 서버를 다운시킨다. 반면 “The selection cannot be launched, and there are no recent launches."와 같은 이해하기 어려운 에러 메시지를 받을 수 있다. 더 많은 것을 설명해주는 "Web server not running."와 같은 메시지는 덜 혼돈스럽다(특히 만약 사용자가 강조된 몇 줄의 코드만을 선택했을 경우).
사용자 인터페이스와 환경설정
대부분의 통합개발도구에서 인터페이스가 명쾌함과 적절한 구조를 가지는 것이 아주 유용하며 프로그래머가 새로운 도구를 사용할 것인지 아닌지를 판단하고 이전 개발 환경으로 다시 되돌아가려 하지 않도록 하는데 중요한 사항이다.
먼저 Zend Studio 5.5의 인터페이스를 검토해 보고 Eclipse버전(6.0버전)과 함께 그것이 어떻게 변화되었는지 간단히 알아보자. 두 가지 버전에서 사용자 인터페이스는 패널, 여러 개의 창, 메뉴와 도구 모음을 구성하는 여러 가지 컴포넌트를 가진다. 창들은 크기와 위치가 조정되어질 수 있으나 기본적으로 중앙에 위치한 편집 창은 다른 창들이 주위에 위치하고 현재 디버깅되어지는 PHP 스크립트를 포함한다.
[그림 1] Zend Studio 5.5 - 사용자 인터페이스
5.5버전에서는 non-Editor 창([그림 1]의 왼쪽 상단에서 시작해서 시계 반대 방향으로 설명함)들이 다음과 같이 디폴트로 설정된다. 파일 관리자(File Manager)는 사용자가 파일, 프로젝트 SQL 서버를 처리할 수 있도록 한다. 파일 관리자는 많은 컴포넌트의 정보를 끊임없이 알아내어 프로젝트 관리를 쉽게 할 수 있어 대규모 프로젝트에 필수적이다. 그 아래 패널은 파일, 프로젝트, PHP inspector를 위한 inspectors 창이다. 왼쪽 아래에는 디버그 메시지 창(Debug Messages window)이 있다. 그 오른쪽에는 변수, 감시점(watchpoint) 등을 감시하는 디버그 창이 있다. 좋은 IDE에서와 같이, 코드를 쉽게 만들고 변수의 변화 값을 감시할 수 있는 것은 엔트리 값을 만드는 데 가치가 있다. 코드 창의 오른쪽에서는 앞에서 이야기한 디버그 출력 창이 있다.
나는 부주의하게 몇 개의 창들을 조정하고 어지럽혀 놓은 후에 기본 레이아웃을 저장하는 방법을 찾았다. 프로젝트로 현재 작업창을 저장하지 않은 채 Zend Studio를 다시 시작하였지만 통하지 않았다. View > Restore Default Layout는 그러한 상황에 맞는 편리한 기능이다. 분명히 창들은 각각의 왼쪽 상단에 있는 조절점을 이용해서 새로운 위치로 드래그 될 수 있지만 꽤 다루기 힘들어서 초기 레이아웃을 저장할 수 없었다.
[그림 2]에서 보는 바와 같이 내장된 디버그 데모를 실행할 때 이러한 여러 가지의 창들을 볼 수 있다.
[그림 2] Zend Studio 5.5 - 디버그 데모
6.0버전에서는 처음에 아래 [그림 3]에서 보는 바와 같이 환영 화면을 볼 수 있다. 새로운 프로젝트를 시작하기 위해 링크 중의 하나를 선택함으로써 디버그 데모를 실행하는 [그림 4]와 같이 주 개발 창으로 갈 수 있다.
[그림 3] Zend Studio 6.0 - 환영 화면
[그림 4] Zend Studio 6.0 - 디버그 데모
새로운 Eclipse 버전에서 사용자 인터페이스는 경험 많은 사용자들이 초기에 전보다 6개 더 적은 도구모음 아이콘으로 어쩌면 더 깔끔하고 덜 번잡하다고 생각하는 외관을 가진다(하지만 메뉴 수는 1개 더 많다.). 현재 색상은 더 밝아졌으며 인터페이스는 전체적으로 더 우아한 분위기가 난다. 특정 도구모음 아이콘을 같은 리본에 위치시킴으로써 공간이 절약되어 메뉴바 아래에 있는 아이콘들이 난잡해지지 않도록 한다.
프로젝트를 생성하기 전에 또는 만들어진 파일로 작업하려면 환경 설정을 해야 한다. 이것은 항상 제품의 가능성과 사용자가 제품을 어떻게 가장 잘 이용할 수 있는지에 대해 더 많이 학습함에 따라 미래에 조정되어질 수 있다. 5.5버전에서는, 이것은 Tools > Preferences를 통해 실행한다. 그림5에서 보는 바와 같이, Zend Studio의 desktop, editor, code completion, colors and fonts, debugger, Zend Platform, keymaps, file types, templates, source control, dialog boxes, 그리고 SQL을 설정할 수 있다. 예를 들어, 프로그래머가 이미 가장 좋아하는 편집기 내에서 그들이 수행하는 많은 동작을 위한 키 배열의 많은 목록을 내면화한 프로그래머들은 Zend Studio의 에디터 내에서 같은 키 배열을 설정 및 저장할 수 있다. 불행히도, 몇 개의 에디터와는 달리, Zend Studio는 다중 키 배열을 지원하지 않는다(예를 들어, “Ctrl+G L" : 라인으로 이동하라.).
Preference > Dialog panel에서, 사용자는 보기 원하는 Zend Studio 대화상자가 무엇인지를 지정할 수 있다. 마지막으로, 사용자는 SQL 패널에서 LIMIT 키워드, 페이지당 최대 엔트리 등을 사용하는지의 여부를 명확하게 할 수 있다.
[그림 5] Zend Studio 5.5 - 환경 설정
6.0버전에서는 환경설정은 “Windows" 메뉴에서 할 수 있다. 이 Eclipse 버전에서는 여기서 논의되는 것보다 더 많은 환경 설정 옵션을 제공한다. 일반적으로 5.5버전의 옵션들이 더 간단하고 생각한다. 옵션들이 많이 생겨난 까닭은 의심할 여지없이 제품이 Eclipse에 기반을 둔 결과이다.
[그림 6] Zend Studio 6.0 - 환경 설정
다행히도 6.0버전은 옵션 트리의 상단부의 엔트리 필드에 사용자가 텍스트를 기입하고 이것을 옵션의 문자열과 맞는지 비교하여 옵션을 제한하는 방법을 가지고 있다. [그림 6]에서 “type filter text"를 보라. 예를 들어, 여러분이 어디에서 코드의 형식을 변경하는지를 몰라 어려움을 겪을 때, 간단히 "format"을 입력해 보면 [그림 7]에서 보는 것과 같이 제한된 결과를 얻을 수 있다.
[그림 7] Zend Studio 6.0 - 환경 설정 필터링
편집기
Zend Studio의 내장 편집기는 베테랑 코드 작성자들이 현대 프로그래머가 사용하는 편집기에서 제공하는 모든 기능을 가지고 있다(다중 문서 편집, 문단 텍스트 선택, 다중 되돌리기 및 다시 실행, 다중 행 탭 들여쓰기 및 내어 쓰기, 자동 매칭 브레이스 생성과 색지정, 스마트 들여쓰기와 내어 쓰기, 코드 폴딩, 그리고 코드 블록 커멘팅).
찾기 및 바꾸기는 Edit > Find/Replace를 통해 여러 파일, 지역 또는 원격으로, 텍스트에 대해 실행할 수 있다. 찾기 및 바꾸기는 정규 표현식을 지원한다. 또한 PHP 파일에서 문자열 찾기는 Search > Search를 통해 클래스, 함수 또는 상수 심지어 특정 작업창에서 제한되어질 수 있다. 이것은 여러분이 특정 파일에서 PHP 엘리먼트를 제거하거나 재명명하는 것을 가능하게 하며 문맥에 민감하여(context sensitive) 실수로 바꾸기 하는 것과 같은 문제를 피하도록 한다. 예를 들어, 주석에서 몇 개의 문자열과 매치하는 클래스 이름과 같은 것이다. 이러한 정제 작업은 코드 리팩토링을 수행할 때 특히 가치가 있을 수 있다. 또한 미리보기 기능은 하나 혹은 그 이상의 파일에서 안전하게 엘리먼트 발생을 변경하도록 한다. 와일드카드 *와 ?는 지원되나 분명 정규 표현식은 아니다.
편집기의 구문 강조와 기능 확인은 뛰어나고 모두 사용자 맞춤이 가능하다. 그러나 6.0버전에서 처음에 환경설정 트리(PHP > Editor > Syntax Coloring)내 어디에서 변경할 수 있는지 찾기가 어렵다. 여러분은 선호하는 공백 스타일(PHP > Editor > Formatter)을 명시할 수조차 있다. 코드 완성하기는 대부분의 프로그램에서 주로 발견되는 템플릿이라고 하는 코드 조각들의 형태에서 한 단계 더 나아간다. 여러분이 코드에 템플릿을 추가할 때 값과 함께 치환되어 템플릿은 “${name}”과 같은 저장소를 포함할 수 있다. 예를 들어, 기본적으로, 키 “cls”는 다음의 클래스 문장을 생성하는 템플릿을 추가하도록 한다. “class ${name} { function ${name}() { ${END} } }". 여러분은 자신의 템플릿을 생성할 수도 있으며 그것을 가용한 키에 할당할 수도 있다.
Zend Studio 편집기는 정말 멋지다. 보통 더 진보된 편집기와 통합개발도구에서 빠진 기능 - 기록 가능한 매크로, 키스트로크 반복, 사각 블록 문자열 선택, 그리고 문자열 결합과 환류 - 들이 몇 가지 있었다. 하지만, 단지 첫 번째 이유에 의해 프로그래머는 더 많은 제품을 사용할 것이다.
디버거
만약 이전에 논의된 편집 기능들이 Zend Studio가 제공하는 모든 것이라면, jEdit과 같은 최고의 프로그래머를 위한 편집기면 충분할 것이다. 그러나 Zend Studio는 새로운 사용자가 통합개발도구를 전환하는데 충분할 정도의 그래픽 기반의 디버거이며 지금은 불필요한 ‘echo' 문장을 제거하도록 한다.
Zend Studio의 디버거는 step control과 중단점을 포함하는 비슷한 제품에서 보이는 강력한 기능을 제공한다. 특히 프로그래머로 하여금 항상 변수 이름을 일치하도록 요구하는 종류의 통합개발도구에 의한 접근에 반하거나 또는 개개의 엘리먼트를 보여주는 배열을 확장하거나, 범위 내에서 모든 변수의 자동화된 목록을 얻을 수 있어 고맙다. 또한, 더 많은 시간을 아낄 수 있는 문자열 길이가 보일 수 있다(특히 텍스트 처리와 비교를 하는 많은 양의 코드를 디버깅할 때).
또한 Zend Studio의 5.5와 6.0버전 모두는 내부 디버깅 그리고 원격 디버깅을 지원한다. 원격 기능은 원격 머신에 배치된 후에 하나 혹은 그 이상의 버그를 나타내는 로컬 환경에서 실행되는 상황일 때 유용하다.
만약 여러분이 Zend Studio 디버거를 처음 사용한다면 HTML 테이블에서 예시 자료를 나타내는 디버거 데모를 실행해 봄으로써 쉽게 사용할 수 있다. 편집 창에서 예시 PHP 코드를 실행해 보면서 여러분은 대응하는 결과를 보게 된다. 단계적으로 디버그 출력 창에서 두 가지 보기를 제공한다. 5.5버전에서는 “Text"(HTML 코드를 보여줌)와 “HTML"(웹 브라우저에서 어떻게 변환되는가?)이 있다. 더 좋은 이름은 첫 번째 보기의 경우 “HTML" 그리고 두 번째는 "Web"이었을 것이다. 6.0버전에서 "Debug Output"과 “Browser Output”으로 개선되었다.
디버거는 일반적으로 부드럽게 작동한다. 그러나 5.5버전에서 데모를 실행하는 동안, 나는 “Go to Cursor" 명령이 예상한 대로 완전히 동작하지 않는 것을 발견했다. 함수 호출 후에 오는 코드 라인 상의 편집 커서와 함께, “Go to Cursor” 명령을 선택하는 것은 디버거를 제대로 동작시키지 않았지만 대신 이전 함수로 가도록 하였다. 이것의 원인은 명백하지 않다. “Go to Cursor" 명령은 6.0버전에서는 보이지 않는다.
파일과 버전 관리
코드의 양과 프로그래머의 수에 비례하여 소프트웨어 개발에 있어 가장 치명적인 함정의 하나는 소스 코드를 관리하는 것이다. 이것은 소스 코드를 구성하는 것을 포함하며 만들어진 컴포넌트는 빨리 발견되어질 수 있다. 그리고 새로운 컴포넌트는 최적의 위치에 두는 것이 좋다. 게다가, 코드에 저장하고 개정된 것을 추적해야만 한다.
Zend Studio는 환경에 관계없이 프로젝트를 생성하고 관리하는 도구(프로젝트 기반의 코드 찾기, 내장된 프로젝트, 코드, 오브젝트 브라우징)를 이용해서 이러한 것을 가능하게 하며, 이러한 것은 버전 관리 시스템과 관계되는 것이다. 프로젝트의 소스 코드는 CVS나 Subversion을 이용해서 추적이 가능하다. 두 버전 관리 시스템 모두 다른 색상을 이용하여 경로, 요구 메시지, 파일 상태의 텍스트 스타일을 명시할 수 있다.
Zend Studio의 두 버전 모두 두 파일 간의 색이 들어간 코드 차이를 표시할 수 있다. 갈래진 코드를 처리할 때, 똑같은 코드의 두 개 혹은 더 많은 버전 사이에 기능적인 차이를 결정하도록 시도할 때, 가능한 하나의 파일로 병합하는 것이 아주 유용하다.
로컬 혹인 원격 서버 사이의 파일 전송에는 5.5버전은 내장된 FTP 클라이언트(Files > Add FTP Server)가 사용되며 이것은 FTP와 SFTP 모두를 지원하고, 나중에 쓰이게 될 것을 대비하여 설정을 모두 저장합니다. 6.0버전은 Remote System Explorer(RSE) plugin을 통해 FTP와 SFTP를 제공한다(아직 테스트 해 보지는 않았다.).
코드 생성과 샘플
바쁜 프로그래머는 적은 노력과 시간으로 코드 그 자체가 코드를 생성하는 것을 포함하여 더 많은 것을 얻기 위한 방법을 항상 찾고 있다. Zend Studio는 여러 가지 형태(코드 생성 마법사, 코드 조각, 코드 확장, 그리고 템플릿)로 이러한 칭찬받을 만한 원칙을 고수한다. 두 가지는 앞에서 살펴보았다.
Zend Studio의 마법사는 자동적으로 클래스, 인터페이스, 그리고 그들의 메서드를 위한 소스 코드를 자동적으로 생성시키기 위해 사용되어질 수 있다. 예를 들어, 여러분이 Zend Studio로 하여금 새로운 클래스나 인터페이스를 생성하도록 요청할 때, Zend Studio는 아이템의 특정 형태의 초기 구조를 즉시 삽입할 것이다. 간단히 코드의 어느 곳에서나 right-click하고 메뉴로부터 New > Class를 선택하라. 인스턴스 변수가 정의되는 클래스 내에서, getter and setter 메서드([그림 8]에서 보는 바와 같이)를 삽입할 것이다. 이와 같이 객체 지향 개발에서 지루한 단계를 자동화하는 것이다. Zend Studio의 제품 매니저인 Yossi Leon은 전화 통화에서 제품의 사용자들이 Zend Studio의 코드 생성 기능을 칭찬하고 있다고 밝혔다.
[그림 8] Zend Studio 6.0 - getters and setters 만들기
Zend Studio는 여러분 자신의 스크립트에 쉽게 삽입되도록 고안된 미리 작성된 코드 조각의 그룹들인 “Code Galleries"를 제공한다. Zend Studio는 기본으로 여러분 자신의 코드 조각을 추가할 수 있는 사용자 코드 갤러리를 제공하며, Zend 코드 갤러리는 Zend Network에 등록을 요구한다. 6.0버전에서 코드 조각은 코드 갤러리 보기(Window > Show View > Other > PHP Tools > Code Gallery)로부터 접근되어질 수 있다.
테스팅과 최적화하기
애자일 소프트웨어 개발론에서 커지고 있는 관심과 함께 Zend Studio for Eclipse는 테스트 주도 개발 - 엄밀히 말하면 PHP 코드의 단위 테스트 - 을 더욱 쉽게 하고 있다. Zend Studio for Eclipse는 또한 Zend Studio의 사용자 인터페이스에서 PHPUnit으로 더 훌륭한 통합을 제공한다. 게다가, 마법사는 여러분이 작업하는 특정 클래스를 위한 뼈대를 생성할 수 있다. 결국 모든 테스트를 요약하여 볼 수 있으며 정확히 어디에서 문제가 발생하였는지에 대한 표시와 함께 어떠한 실패의 요약을 제공할 것이다.
[그림 9] Zend Studio 6.0 - 단위 테스팅
PHP 코드를 최적화하도록 시도할 때, 가장 가치 있는 도구중 하나는 코드의 각 부분에 의해 얼마만큼의 시간이 소모되고 있는가를 밝히는 어떤 종류의 프로파일러(profiler)이다. Zend Studio는 [그림 10]과 같은 내장된 프로파일러가 있다.
[그림 10] Zend Studio 6.0 - 프로파일러
브라우저 툴바
Zend Studio의 설치 과정 동안 웹 브라우저에 Zend Studio 툴바가 설치되도록 선택할 수 있었다. 이 때 두 가지의 지원되는 브라우저는 파이어폭스와 인터넷 익스플로러이다(그림 11).
[그림 11] Zend Studio 6.0 - 파이어폭스 툴바
첫 번째 아이콘은 Zend Studio를 시작한다. 두 번째는 현재 브라우저에서 열린 페이지의 디버깅을 시작한다. 만약 Zend Studio가 아직 실행되고 있지 않다면 Zend Studio를 시작하도록 한다. 불행히도 제품이 C:Program FilesZendZendStudioClient-5.0.0bin.에 설치되었다.
[그림 12] Zend Studio 6.0 - 브라우저 툴바 에러 메시지
“Extra Stuff > Preferences"는 Zend Studio가 아니라 브라우저 툴바 그 자체에 있는 메뉴 아이템을 참조한다. 환경 설정을 수정하기를 원하며 프로그램에서 찾는 사용자는 찾을 수가 없을 것인데 분명 온라인 도움 정보(online help information)에서 조차 언급되어 있지 않다.
세 번째 아이콘은 현재 페이지, 다음 페이지, 현재 사이트상의 모든 폼들을 디버깅하기 위한 드롭다운 메뉴이다. 처음에 툴바에서 모든 다섯 개의 아이콘 중에서 세 번째 아이콘만 이름이 없어서 이상해 보였다. 그러나 세 번째 아이콘의 논리적 이름은 이미 두 번째 아이콘에 의해 사용되어진 “Debug"가 될 것이다. 이것은 두 개의 메뉴가 아마 하나로 합쳐져야 한다는 것을 말한다.
네 번째 아이콘은 현재 페이지를 프로파일하는 것이다. Zend Studio의 환경 설정을 수정하고 난 후조차도 이것과 두 번째 아이콘은 예상한대로 작동하지 않았다.
마지막 아이콘인 “Extra Stuff"는 Zend와 비(非)Zend PHP 사이트의 링크와 툴바 설정을 포함한다. 그래서 메뉴의 더 좋은 이름은 “Resources"가 될 것이다.
파이어폭스 그 자체와 같이 툴바는 또한 Zend.com 사이트, Zend Knowledge base, PHP.net, 그리고 구글을 통한 전체 웹 검색과 같은 내장된 검색 기능을 가진다.
Zend Framework
PHP 프로젝트들은 점점 더 Zend 프레임워크를 포함하여 오픈 소스 프레임워크를 기반으로 만들어지고 있다. Zend Studio는 Zend 프레임워크 프로젝트 디렉터리의 생성을 쉽게 하는 등 Zend 프레임워크를 위한 지원을 넓히고 있다. 그것은 제품의 Eclipse 버전에 내장되어 있으며 5.5.1의 출시와 더불어 5.5버전에도 추가될 것이다.
[그림 13] Zend Studio 6.0 - Zend 프레임워크
지원
대부분의 오픈 소스 통합개발도구들은 보통 쓸모없는 문서들을 긁어모은 것을 사용자에게 보라고 하거나 아주 적은 트래픽을 가진 포럼을 운영하는 등 적절치 못한 지원으로 사용자가 고통을 겪게 한다. 반면에 Zend Studio는 도움이 될 만한 적절하고 충분한 양의 여러 가지 자원에 의해 지원이 되고 있다. 내장된 도움 정보는 주제가 넓고 완전히 인덱스화 되어 있으며 검색어의 하이라이팅과 함께 full text 검색을 제공한다. 도움 정보는 또한 이전에 논의된 환경 설정 옵션을 제한하는 것에 대해 필터링 기능을 가지고 있다. 도움말을 필터 하는 기능은 새로운 사용자가 빠르게 제품에 적응하는데 큰 도움이 될 것 같다.
Zend의 지원과 관련된 웹 페이지는 knowledge base, 포럼, FAQ를 제공한다. Resource 페이지는 출시 정보, 사용자 가이드, 설치 가이드, 데이터시트, 빠른 시작 가이드, 그리고 공식 Keymap으로 가는 링크를 가지고 있다. 여러 가지 도움이 되는 6.0버전의 비디오 자료는 Zend의 데모 비디오 페이지에서 찾을 수 있다.
게다가 인증 받은 사용자는 Zend사의 Technical Support Team에 구입 정보를 제출함으로써 전문기술 지원을 온라인으로 받을 수 있다.
결론
Zend Studio, 특히 Eclipse 버전은 이 기사에서 살펴본 것보다 아주 많은 기능을 가지고 있다. 여기서 논의되지 못한 것은 코드 리팩토링, 데이터베이스 도구, 작업 세트, Zend Guard와 같은 외부 Zend 도구와의 통합 등 내장된 도구이다. 관심 있는 독자들은 자신들이 테스트해 볼 수 있을 것이고 개발에 얼마나 가치를 더할 수 있을지 확인해 볼 수 있다.
Zend Studio가 가지는 한 가지 장점은 비슷한 PHP 통합개발도구에는 없는 내장된 PHP 인터프리터가 있는 것이다. 그 결과로, 여러분은 통합개발도구에게 컴퓨터상에 실행할 수 있는 PHP가 어디에 있는지 알리는 설치 장애물을 피할 수 있다. 이것은 사소해 보일 수도 있다. 그러나 내가 테스트한 메이저급 비(非)Zend 통합개발도구는 완벽하게 실행되는 PHP 파일을 실행하지 못하였고, 그 통합개발도구는 쓸모가 없어졌다. Zend Studio의 경우에는 내장된 Zend 엔진을 가지고 있으며 5.5와 6.0버전이 모두 PHP4와 PHP5를 지원한다. 6.0버전은 더 사용자 맞춤이 가능하며 원한다면 심지어 여러분이 자신이 사용하고 싶은 인터프리터를 할당할 수도 있다.
작은 문제들과 위에서 언급한 몇 가지를 제외하고, Zend Studio는 가능한 고통 없이 개발하는 것을 원하는 프로그래머와 얼마만큼 Zend Studio가 능력을 가졌는지 배우기 위해 시간과 노력을 기꺼이 투자할 PHP 프로그래머에게 강력하고 인상적이며 잠재력이 풍부한 가치 있는 통합개발도구이다. PHP 애플리케이션을 개발하는 개인과 팀에게 Zend Studio를 강력하게 추천한다.
--------------------------------------------------------------------------------
저자 Michael J. Ross는 웹 컨설턴트, 프리랜서 작가이자 PristinePlanet.com의 뉴스레터 편집자입니다.