널리 사용되는 7가지 PHP용 통합 개발 도구(IDE) 간의 차이점 비교
이 기사에서는 IDE(통합 개발 환경)의 모든 용도를 살펴보고 널리 사용되는 7가지 IDE의 비용과 이점을 비교합니다.
PHP에 관한 이 기사 시리즈를 쓰면서 PHP 개발자의 세계를 더 깊이 이해하게 되었습니다. 나는 많은 PHP 프로그래머들과 이야기를 나눴는데, 나에게 가장 놀라운 점은 IDE를 사용하는 사람이 얼마나 적다는 것입니다. 대부분의 프로그래머는 Microsoft Windows에서 메모장, Emacs 또는 Vim과 같은 텍스트 편집기를 사용합니다.
제가 언급한(및 언급하지 않은) 텍스트 편집기는 모두 훌륭합니다. 어떤 편집기가 더 나은지에 대해 논쟁하고 싶지 않습니다. 그러나 텍스트 편집기를 사용하지 않으면 PHP 코드에 대한 더 깊은 통찰력을 얻을 수 있다는 점을 강조하고 싶습니다. 거의 모든 사람들이 PHP 프로젝트를 파일 디렉터리에 불과하다고 생각합니다(매우 일방적인 관점). 이제 여러분을 IDE의 세계로 안내하고 IDE가 여러분을 위해 무엇을 할 수 있거나 해야 하는지 보여주고 가장 인기 있는 7가지 IDE를 소개하겠습니다.
IDE란 무엇입니까?
즉, IDE는 코딩 작업에 대한 원스톱 서비스를 제공합니다. IDE에는 코드를 편집하고, 코드를 디버깅하고, 브라우저(일반적으로 포함됨)에서 코드를 보고, 소스 제어에 체크인 및 체크아웃할 수 있는 편집기가 포함되어 있습니다. 이러한 기능을 지원하기 위해 IDE에는 메모장이나 Vim과 같은 기본 편집기에는 없는 기능 세트가 있습니다. 물론 편집기를 확장하여 이러한 기능을 얻을 수 있지만 IDE에는 이러한 모든 기능이 하나의 간소화된 패키지에 포함되어 있으며 모두 사전 구성되어 있습니다.
프로젝트
IDE의 주요 기능은 PHP 애플리케이션을 단순한 파일 세트가 아닌 프로젝트로 취급한다는 것입니다. 이 개념(프로젝트)은 소스 제어 구성, 디버깅을 위한 데이터베이스 설정 및 특정 주요 디렉터리의 위치와 같은 추가 정보를 유지 관리합니다.
디버그
또 다른 편리한 기능은 통합 디버깅입니다. 이 기능을 사용하면 편집기에서 중단점을 설정할 수 있으며, PHP 인터프리터는 이 스크립트에 도달하면 중지됩니다. 중단점부터 시작하여 지역 변수의 값을 검사하고 코드의 문제를 진단할 수 있습니다. 코드에서 echo 문을 사용하여 값을 확인하거나 오류 로그를 사용하여 변수 값을 가져올 수 있습니다.
코드 인텔리전스
PHP는 매우 일반적인 프로그래밍 언어입니다. 즉, 간단한 패턴을 따릅니다. 이러한 패턴을 사용하면 코드를 더 쉽게 작성할 수 있을 뿐만 아니라 IDE가 프로젝트의 코드를 더 쉽게 검사할 수도 있습니다. 또한 검사 결과를 표시하여 프로그램 작성에 도움을 줄 수 있습니다. 예를 들어 프로젝트에 MyClass라는 클래스가 정의되어 있는 경우 new 키워드를 입력하면 IDE는 즉시 MyClass를 옵션으로 포함하는 팝업을 제공합니다. 해당 유형의 개체가 사용되면 IDE는 사용 가능한 메서드와 인스턴스 변수를 표시합니다. 함수 명령 입력을 시작하면 IDE에 사용 가능한 매개변수가 표시됩니다. 공평하게 말하면 이것이 텍스트 편집기 대신 IDE를 사용해야 하는 가장 큰 이유입니다. 이러한 종류의 코드 인텔리전스는 클래스 이름, 메서드 이름 및 매개 변수를 잘못 입력하는 것을 효과적으로 줄일 수 있습니다.
수업 보기
IDE에 있는 코드 인텔리전스 엔진의 또 다른 기능은 IDE가 프로젝트의 클래스 뷰를 생성할 수 있다는 것입니다. 파일을 표시하는 대신 시스템은 해당 클래스가 위치한 파일에 관계없이 정의된 다양한 클래스를 표시합니다. 클래스를 클릭하면 편집기는 해당 파일에 액세스하고 해당 클래스, 메서드 또는 인스턴스 변수를 표시합니다. 이는 대규모 프로젝트를 탐색하는 좋은 방법입니다.
다국어 지원
여기에 언급된 각 IDE는 PHP뿐만 아니라 관련 언어 세트(javaScript, SQL(구조적 쿼리 언어), HTML(하이퍼텍스트 마크업 언어) 및 CSS(Cascading Style Sheets))도 지원합니다. HTML과 CSS는 상대적으로 간단하기 때문에 IDE 지원이 가장 좋습니다. Javascript 지원은 종종 구문을 강조하지만 지원하지 않는 것보다 낫습니다.
소스코드 제어
여기에서 검토한 모든 IDE는 소스 제어 시스템에 대한 일부 연결을 지원하므로 시간이 지나도 프로젝트의 파일 버전을 유지할 수 있습니다. 변경 사항을 취소해야 하는 경우 되돌릴 수 있도록 파일의 특정 버전을 릴리스 버전으로 표시할 수 있습니다. 개인용이라 할지라도 팀 환경에서는 소스 제어 시스템을 사용하는 것이 중요합니다. 좋은 소스 코드 제어 시스템은 디스크가 충돌하거나 고객이 갑자기 현재 버전 대신 이전 버전을 원할 때 작동합니다. 대부분의 IDE는 오픈 소스 제어 시스템인 CVS(Concurrent Version System)와 Subversion을 지원합니다. IDE 중 하나는 상용 소스 제어 시스템인 Perforce를 지원합니다.
FTP/SFTP 통합
소스 제어와 관련된 기능은 서버의 최신 코드에 FTP를 사용하는 것입니다. 이는 FTP 클라이언트를 사용하거나 파일을 직접 패키징하여 서버로 보낸 다음 압축을 푸는 것보다 훨씬 쉽습니다.
데이터베이스 탐색
기본은 아니지만 매우 유용한 기능은 데이터베이스 탐색입니다. 이 기능을 사용하면 애플리케이션에서 액세스하는 데이터베이스를 찾아보고, 테이블 및 필드 이름을 찾고, 쿼리 결과를 반환할 수 있습니다. 일부 시스템에서는 일부 데이터베이스 액세스 코드를 자동으로 작성할 수도 있습니다.
통합된 웹 브라우저
일부 IDE는 지정된 추가 매개변수를 사용하여 편집 중인 페이지로 직접 이동할 수 있는 통합 웹 브라우저를 지원합니다. 이 브라우저는 IDE 내에서 호스팅되거나 외부에서 호출될 수 있습니다. 솔직히 말해서 저는 코드를 편집하고 결과를 보기 위해 두 개의 별도 애플리케이션 사이를 전환하는 것을 꺼리지 않기 때문에 통합 브라우저의 열렬한 팬이 아닙니다. 그러나 나는 그것이 역할이 있다는 것을 알고 있지만 그것을 사용할 필요는 없습니다.
파편
이 모든 IDE에서 제가 찾은 마지막 기능은 전체 및 사용자 정의 코드 조각에 대한 지원입니다. 스니펫은 일부 입력에 대해 정규식을 실행하고, 데이터베이스에 연결하고, 데이터베이스를 쿼리하는 등의 작은 작업을 수행하는 작은 코드 조각입니다.
위 내용은 현재 구매 또는 오픈 소스 IDE에서 기대할 수 있는 핵심 기능을 요약한 것입니다. 다음으로, 일부 인기 있는 IDE가 소개되고, 일부 IDE 이미지가 표시되며, 해당 IDE가 지원하는 기능과 비용에 대해 설명합니다.
식
Eclipse 개발 플랫폼에는 PHP를 지원하는 두 가지 플러그인이 있습니다. 첫 번째 PHP IDE 프로젝트는 Eclipse Foundation 프로젝트였습니다. 즉, Eclipse 라이센스에 따라 릴리스되었으며 Eclipse Foundation 도구 및 방법을 사용하여 개발되었습니다.
다른 하나는 독립적으로 개발된 PHPEclipse이다. Eclipse를 사용하기 때문에 두 플러그인 모두 세 가지 주요 운영 체제인 Windows, Linux 및 Mac OS X에서 모두 실행됩니다. 이 두 플러그인만 다운로드하거나(이미 Eclipse를 사용 중인 경우) 필요한 모든 것이 포함된 PRE-fab 버전을 다운로드할 수 있습니다.
두 플러그인 모두 핵심 IDE 기능을 지원합니다. 특히, 코드 인텔리전스 기능은 매우 강력하며 필요할 때 필요한 모든 클래스, 메소드 및 매개변수 정보를 팝업하고 표시할 수 있습니다.
그림 1은 Mac OS X에서 실행되는 PHPEclipse를 보여줍니다. 왼쪽에는 프로젝트에 있는 파일의 프로젝트 보기가 있습니다. 아래는 정의된 모든 클래스를 보여주는 클래스 뷰입니다. 가운데에는 코드가 있습니다. 동시에 여러 탭에서 여러 파일을 열 수 있습니다. 오른쪽에는 디버깅 및 탐색 패널이 있습니다. 이는 일반적으로 사용되는 PHPEclipse 사용자 인터페이스입니다.
그림 1. OS X의 PHPEclipse
그림 2. OS X의 PHP IDE 프로젝트
차이점을 구분할 수 없다면 괜찮습니다. 두 플러그인은 모두 코드 탐색 및 인텔리전스 기능을 위해 Eclipse 플랫폼을 사용하므로 매우 유사해 보입니다. Eclipse 플러그인 GUI에서 일관성을 유지하는 것이 좋습니다.
특정 Eclipse 프로젝트에 사용자를 고정시키는 플러그인에 대해서는 알지 못합니다. 하나의 플러그인을 다른 플러그인으로 자주 교체할 수 있습니다. 제한된 테스트에서 저는 PHP IDE 프로젝트 플러그인이 더 잘 통합되고 코드 인텔리전스 기능의 성능이 더 빠른 것 같아서 선호합니다. 두 가지 플러그인을 모두 사용해 보고 어느 것이 더 마음에 드는지 확인하세요.
이 두 플러그인의 단점은 Eclipse가 거의 모든 프로그래밍 언어에 사용될 수 있기 때문에 UI가 PHP에 맞게 맞춤화되지 않았다는 것입니다. 결과적으로 Eclipse의 용어는 처음에는 다소 엉뚱했습니다. Eclipse를 처음 사용하는 경우 이러한 플러그인은 다른 IDE보다 배우기가 조금 더 어렵습니다. 하지만 이미 Eclipse를 알고 있다면 PHPEclipse나 PHP IDE 프로젝트에 비교적 빨리 익숙해질 수 있습니다.
Eclipse와 이러한 플러그인의 가장 큰 장점은 무엇입니까? 무료이고 안정적이며 신뢰할 수 있습니다. 아, 제가 무료라고 말했었나요?
코모도
다음으로 소개할 것은 ActiveState의 Komodo IDE입니다. 이 IDE는 Windows, Mac OS X 및 Linux에서 실행되며 Perl, PHP 및 Ruby와 같은 일반적인 오픈 소스 언어를 지원합니다. 코드 인텔리전스 엔진은 매우 안정적입니다. PEAR 모듈과 같은 사용자 정의 확장에 대한 모든 언어 설치를 검색합니다. 프로젝트 측면에서는 CVS, Subversion 및 Perforce와의 통합을 지원하며 서버로의 직접 FTP 코드 전송도 허용합니다.
그림 3은 Windows에서 실행되는 Komodo를 보여줍니다. 왼쪽은 클래스 뷰, 오른쪽은 프로젝트 뷰입니다. 중앙의 주요 부분은 코드 보기입니다. 다음은 디버깅을 위한 중단점, 명령 출력 등입니다. 이러한 모든 시스템의 경우 필요에 따라 UI를 사용자 정의할 수 있습니다.
그림 3. Windows에서 실행되는 Komodo
코모도는 상업용 제품입니다. 이 기사를 작성하는 동안 이 IDE는 Personal Edition(US$29.95)과 Professional Edition(US$299.95)의 두 가지 버전으로 제공됩니다. 고유한 기능 중 하나는 정규식 디버거입니다. 정규식을 처음 접하거나 이미 고급 정규식 기능을 사용하기 시작했다면 이 투자는 그만한 가치가 있습니다.
단점은 데이터베이스 통합이 없다는 것입니다(적어도 저는 찾을 수 없었습니다). 또한 원할 때 항상 나타나지 않는 코드 인텔리전스의 사소한 문제에 직면했습니다. 그러나 전반적으로 Komodo는 강력하고 기능이 풍부하며 안정적인 PHP IDE입니다.
PHP 디자이너
PHP 디자이너는 다른 IDE와 동일하지 않습니다. 물론 제한된 코드 지능을 지원합니다. 그러나 PHP 웹 애플리케이션의 디자인 측면에 더 중점을 둡니다. 이는 특히 픽셀 눈금자를 사용하여 페이지에 요소를 배치하는 데 도움이 되는 통합 브라우저에서 분명하게 드러납니다.
그림 4는 실행 중인 PHP Designer를 보여줍니다.
그림 4. Windows의 PHP 디자이너
PHP 디자이너에서 PHP의 코드 인텔리전스 및 디버깅 기능은 그다지 명확하지 않지만 HTML, CSS 및 JavaScript에 대한 코드 인텔리전스 지원은 상대적으로 강력합니다. PHP 디자이너는 주로 코드에 초점을 맞춘 프로그래머가 사용하는 IDE와 디자인에 더 초점을 맞춘 Adobe Dreamweaver 사이에 있습니다. 이러한 유형의 중간 제품을 찾고 있다면 PHP Designer를 고려해 볼 가치가 있습니다. IDE는 개인 용도로 무료이고 전문가 버전은 미화 55달러에 불과합니다.
PhpED
NuSphere의 Windows 전용 PhpED는 여기에서 다루는 모든 IDE 중에서 기능이 가장 풍부합니다. 내부 디버거가 뛰어나며 페이지 디버깅에 더 쉽게 액세스할 수 있도록 디버깅 도구 모음을 Microsoft Internet Explorer에 넣습니다.
그림 5는 Windows에서 PHPEd를 사용한 PHP 애플리케이션 개발을 보여줍니다. 맨 왼쪽에는 프로젝트의 파일 보기가 있습니다. 바로 오른쪽이 클래스 뷰이고, 가장 오른쪽이 코드 뷰입니다. 아래는 출력 상태입니다. 이러한 IDE는 모두 동일한 기본 디자인 스타일을 따른다는 점을 눈치채셨을 것입니다.
그림 5. Windows의 PhpED
PhpED의 뛰어난 기능에는 뛰어난 디버거, 뛰어난 데이터베이스 액세스, 향상된 코드 인텔리전스 기능 및 통합 PHP 도움말이 포함됩니다. PhpED 가격은 기본 버전의 경우 US$119부터 전문가 버전의 경우 US$495까지 다양합니다. 평가판 버전도 있습니다.
PHP편집
WaterProof Software의 PHPEdit은 PHP용 Microsoft msdev 환경과 같은 느낌을 줍니다. 이는 좋은 점입니다. PHPEdit은 설정이 쉬운 Windows 전용 IDE입니다. 심지어 PHP 버전도 있습니다. PHP, CSS 및 HTML에 대한 코드 인텔리전스를 훌륭하게 수행하지만 JavaScript를 사용한 코드 인텔리전스는 지원하지 않습니다. 그림 6은 PHPEdit가 실행되는 모습을 보여줍니다.
그림 6. Windows의 PHPEdit
손쉬운 배포를 위해 PHPEdit는 CVS 및 Subversion은 물론 FTP 및 자체 독점 ezDeployment 시스템에도 연결할 수 있습니다. 코드 인텔리전스 기능 외에도 개발 속도를 높이기 위해 IDE에는 추가할 수 있는 코드 예제의 뛰어난 전체 템플릿 라이브러리가 있습니다. PHPEdit의 평가판은 무료로 사용할 수 있으며 공식 버전은 US$89입니다.
젠드 스튜디오
마지막으로 Z로 시작한다고 해서 마지막에 나열되는 Zend Studio에 대해 이야기해보겠습니다. 아마도 가장 먼저 떠오르는 것이 있을 것입니다. 이유는 PHP를 뒷받침하는 엘리트 팀인 Zend에서 제공되기 때문입니다. 그리고 정말 좋습니다. Windows, Mac OS X 및 Linux의 세 가지 주요 시스템에서 실행됩니다. 그리고 여기에는 PHP V4, PHP V5 등 필요한 모든 것이 포함되어 있습니다. 다운로드하는 데 시간이 오래 걸리지만 그만한 가치가 있습니다.
IDE로서는 Zend Studio가 최고입니다. 내장 라이브러리와 사용자 정의 코드에서 원하는 모든 코드 인텔리전스 기능을 제공합니다. 또한 매우 뛰어난 디버깅 기능을 갖추고 있으며 설정이 매우 쉽습니다. 코드를 저장소에 넣기 위해 Zend Studio는 CVS 및 Subversion에 연결합니다. 서버에 코드를 넣으려면 통합 FTP를 사용할 수 있습니다. Zend Studio는 그림 7과 같이 Macintosh에 매우 적합합니다.
그림 7. Mac의 Zend Studio
일부 다른 IDE에는 코딩을 더 쉽게 하기 위해 코드 조각이 내장되어 있습니다. 또한 IDE는 데이터베이스와 직접 통합되어 사용 가능한 테이블과 필드를 만듭니다.
Zend Studio의 표준 버전은 US$99이고, 전문가 버전은 US$299입니다. 여기서 언급한 기능 중 일부는 표준 버전에 포함되어 있지 않습니다. Zend Studio의 평가판을 무료로 사용할 수 있습니다.
결론
사용할 수 있는 훌륭한 IDE가 많이 있습니다. 그 중 일부는 무료이기도 합니다. 특히 전문가라면 한 번 사용해 볼 수 있습니다. 회사나 개인 컨설턴트 비용을 지불해야 할 수도 있고, 필요한 제품을 구입하기 위해 돈을 써야 할 수도 있습니다. 에코를 사용하여 코드를 디버그하는 데 걸리는 시간과 통합 디버거를 사용하는 데 걸리는 시간을 고려한다면 IDE는 확실히 구매 가격만큼 가치가 있습니다.
이상에서는 PHP용으로 널리 사용되는 7가지 통합 개발 도구(IDE)의 차이점과 비교 내용을 소개했으며, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.