1장
PHP 기본 소개
이 장의 핵심 포인트
◆ PHP의 이해
◆ PHP의 역사
◆ PHP 인기의 이유
◆ PHP의 경쟁 우위
먼저 제1장에서는 PHP에 대한 기본적인 소개를 한다. 이 장에서는 PHP란 무엇인지, 유사한 기술과 비교하는 방법 등과 같은 PHP에 대한 가장 일반적인 질문에 대해 논의하는 데 중점을 둡니다. 이 장의 대부분은 PHP가 인기 있는 이유를 나열하는 데 사용됩니다.
PHP 알아보기
PHP는 웹 개발자가 작성한 웹 개발 프로그래밍 언어입니다.
PHP는 "PHP: Hypertext Preprocessor"의 약자입니다. 사실 처음에는 "Personal Home Page Tools"라고 불렸지만, 사용이 더욱 널리 퍼지면서 온라인 커뮤니티의 모든 사람들이 더 새롭고 적절한 이름을 추천했습니다. @s는 유닉스가 아님"). 우리가 작성하는 PHP 파일의 파일 확장자는 무엇이든 선택할 수 있지만 일반적으로 PhpᄄAphp3 및 .phtml을 사용하는 것이 좋습니다. 현재는 PHP의 4번째 버전이 일반적으로 사용되고 있으며, 확장자는 php4가 될 수 있다. 물론 줄여서 php로도 가능하다.
PHP는 HTML에 내장되거나 별도의 바이너리 파일로 실행될 수 있는 서버측 내장 HTML 스크립트 언어입니다(전자가 자주 사용됨). 동일한 성격의 대응 제품으로는 Microsoft의 ASP, Macromedia의 ColdFusion, Sun의 Java Server Pages(JSP) 등이 있습니다. 그 기능과 개념이 Microsoft의 제품과 매우 유사하기 때문에 PHP를 "오픈 소스 ASP"(ASP의 오픈 소스 버전)라고도 합니다. ), 비록 PHP가 ASP 이전에 존재했기 때문에 이 공식은 오해의 소지가 있었지만, ASP가 일부 사용법을 잃었음에도 불구하고 지난 몇 년 동안 PHP와 서버측 Java가 점점 더 대중화되었지만 이러한 비교는 더 이상 적절하지 않은 것 같습니다.
다음 장에서는 서버측 스크립팅 언어를 더 깊이 탐구할 것입니다. 지금은 독자들이 이를 웹에 서버측 기능을 추가할 수 있는 슈퍼 HTML 마크업으로 생각할 수 있습니다. 예를 들어, PHP 조합을 사용하여 복잡한 웹 페이지를 생성하거나 PHP 프로그램을 사용하여 고객이 온라인 쇼핑을 할 때 자동으로 실행되는 신용 카드 결제 프로세스를 실행할 수 있습니다.
엄밀히 말하면 PHP는 웹 레이아웃 구성이나 이벤트, 외관 디자인과 관련이 많습니다. 실제로 대부분의 PHP 기능은 최종 사용자에게 보이지 않습니다. 사용자가 PHP 웹 페이지를 볼 때 PHP의 최종 결과는 여전히 HTML이기 때문에 페이지가 HTML 구문으로 작성되었는지 구별할 필요가 없습니다.
Apache HTTP 서버는 시장에서 가장 널리 사용되는 무료 웹 서버이며 전 세계 WWW의 약 55%가 이를 실행하며 PHP는 공식 모듈 중 하나입니다. 즉, PHP 스크립팅 엔진을 웹 서버에 내장할 수 있어 데이터 처리 속도가 더 빠릅니다. Apache 서버와 마찬가지로 PHP에는 크로스 플랫폼 기능이 있습니다. 즉, 원래 UNIX 환경에서 실행되지만 Windows에서도 실행될 수 있습니다. PHP를 포함하여 Apache Software Foundation(http://www.apache.org/)에서 지원하는 모든 소프트웨어 개발 프로젝트는 오픈 소스 소프트웨어입니다.
PHP의 역사
PHP는 PHP/FI라는 오래된 프로젝트에서 계승되었습니다. PHP/FI는 1995년 Rasmus Lerdorf가 그의 홈페이지를 방문한 사람들에 대한 정보를 추적하기 위한 간단한 Perl 스크립트 세트로 만들어졌습니다. 이 스크립트 세트의 이름은 "개인 홈 페이지 도구"입니다. 더 많은 기능에 대한 요구가 증가함에 따라 Rasmus는 데이터베이스에 액세스하고 사용자가 간단한 동적 웹 프로그램을 개발할 수 있도록 하는 더 큰 C 언어 구현을 작성했습니다. Rasmus는 모든 사람이 사용하고, 버그를 수정하고, 소스 코드를 개선할 수 있도록 PHP/FI의 소스 코드를 공개합니다.
PHP/FI는 개인 홈페이지/양식에 대한 인터프리터를 제공하도록 설계된 프로그램으로, 이미 오늘날 PHP의 기본 기능 중 일부를 포함하고 있습니다. Perl 스타일 변수가 있고 양식 변수를 자동으로 해석하며 HTML에 포함될 수 있습니다. 구문 자체는 Perl과 매우 유사하지만 제한적이고 단순하며 약간 거슬립니다.
1997년까지 C 언어 구현의 두 번째 버전인 PHP/FI 2.0은 전 세계적으로 수천 명의 사용자(추정)와 약 50,000개의 도메인 이름 설치를 보유했습니다. 이는 대략 인터넷의 모든 도메인 이름의 1%입니다. . 하지만 당시에는 프로젝트를 위해 소량의 코드를 작성하는 사람이 소수에 불과했고 여전히 1인 프로젝트에 불과했습니다.
PHP/FI 2.0은 여러 베타 버전을 거쳐 1997년 11월 정식 버전을 출시했습니다. 곧 PHP 3.0의 첫 번째 알파 버전이 출시되었고 PHP는 성공했습니다.
PHP 3
PHP 3.0은 오늘날의 PHP와 유사한 구문 구조를 가진 최초의 버전이었습니다. 대학 프로젝트를 위한 전자 상거래 프로그램을 개발하는 동안 Andi Gutmans와 Zeev Suraski는 PHP/FI 2.0에 기능이 확실히 부족하다는 사실을 발견하고 코드를 다시 작성했습니다. 이것은 PHP 3.0입니다. Andi, Rasmus 및 Zeev의 일련의 노력 끝에 기존 PHP/FI 사용자 기반을 고려하여 PHP/FI 2.0의 공식 후속 버전으로 PHP 3.0을 공동 출시하기로 결정했습니다. PHP/FI 2.0의 추가 개발이 거의 중단되었습니다.
PHP 3.0의 가장 강력한 기능 중 하나는 확장성입니다. 최종 사용자에게 데이터베이스, 프로토콜 및 API를 위한 인프라를 제공하는 것 외에도 확장성은 많은 개발자가 참여하여 새 모듈을 제출하도록 유도합니다. 이것이 PHP 3.0의 큰 성공의 열쇠로 밝혀졌습니다. PHP 3.0의 다른 주요 기능으로는 객체 지향 지원과 더욱 강력하고 조화로운 구문 구조가 있습니다.
이 새로운 언어는 새로운 이름으로 출시되었습니다. 이는 PHP/FI 2.0 이름에서 암시적인 "이 언어는 개인 용도로만 제한됩니다" 부분을 제거합니다. 간단한 약어 "PHP"로 이름이 지정되었습니다. 이는 재귀적 약어이며 전체 이름은 - PHP: Hypertext Preprocessor입니다.
1998년 후반에 PHP는 거의 10,000개 설치되었으며, 약 100,000개의 웹사이트에서 PHP를 사용했다고 보고되었습니다. 전성기에는 PHP 3.0이 인터넷 웹 서버의 10%에 설치되었습니다.
약 9개월 간의 공개 테스트를 거친 후 1998년 6월 PHP 3.0이 공식 출시되었습니다.
PHP 4
PHP 3.0이 공식적으로 출시된 직후인 1998년 겨울, Andi Gutmans와 Zeev Suraski는 PHP 코드를 다시 작성하기 시작했습니다. 디자인 목표는 복잡한 프로그램 런타임의 성능과 PHP 자체 코드의 모듈성을 향상시키는 것입니다. PHP 3.0의 새로운 기능과 광범위한 타사 데이터베이스 및 API 지원을 통해 이러한 프로그램을 작성할 수 있지만 PHP 3.0에는 이러한 복잡한 프로그램을 효율적으로 처리할 수 있는 기능이 없습니다.
"Zend Engine"(Zeev 및 Andi의 약어)이라는 새로운 엔진은 설계 목표를 성공적으로 달성했으며 1999년 중반에 PHP에 처음 도입되었습니다. 이 엔진을 기반으로 하고 더 많은 새로운 기능을 통합한 PHP 4.0은 PHP 3.0이 출시된 지 2년 후인 2000년 5월에 공식 버전으로 출시되었습니다. 더 높은 성능 외에도, PHP 4.0에는 더 많은 웹 서버 지원, 더 안전한 사용자 입력 처리 방법 및 일부 새로운 언어 구조와 같은 다른 주요 기능도 포함되어 있습니다.
PHP 4는 현재 사용 가능한 최신 PHP 버전입니다. PHP 5.0이 새로운 기능을 통합할 수 있도록 Zend 엔진을 수정하고 강화하는 작업이 시작되었습니다.
현재 10,000명의 개발자(추정)와 수백만 개의 웹사이트에 PHP가 설치되어 있다고 보고하고 있으며 이는 전체 인터넷 도메인 이름의 20%에 해당합니다.
PHP 개발팀에는 우수한 개발자들이 많으며, PEAR, PHP 문서 프로젝트 등 PHP 관련 프로젝트에 뛰어난 인재들이 많이 참여하고 있습니다.
PHP 5
PHP의 미래는 주로 PHP의 핵심인 Zend 엔진에 의해 결정됩니다. PHP 5에는 차세대 Zend Engine 2.0이 포함됩니다. 이 엔진에 대한 자세한 내용을 보려면 해당 웹사이트를 방문하세요.
역사
PHP가 인기 있는 이유
PHP가 인기 있는 이유는 다음과 같습니다.
PHP는 무료입니다.
PHP 자체에는 비용이 한 푼도 들지 않습니다. Apache/PHP/MySQL을 결합하여 저렴한 저가형 하드웨어에서 실행할 수 있다는 사실은 IIS/ASP/SQL Server를 채택하기로 결정할 때 고려할 필요가 없습니다.
비교를 위해 표 1-1에는 미국 내 일부 유사한 제품의 대략적인 소매 가격이 나열되어 있습니다. 모든 가격은 단일 외부 웹 서버를 기준으로 하며 가장 적합한 데이터베이스 및 개발 도구와 비교하여 $0로 표시됩니다. 비용이 들지 않고 실제로 일반적으로 사용되는 옵션인 Microsoft는 NET Server Suite를 차세대 웹 서버로 나열하지 않았지만 가격이 하락하기보다는 상승할 것이라고 보수적으로 추론할 수 있습니다.
표 1-1 소매가 비교(USD)
오픈소스 소프트웨어: 저렴하고 좋다
분명히 우리는 물질적인 세상에 살고 있으며, "지불한 만큼 얻는다", "공짜 점심은 없다", "완벽한 것은 전설 속에만 존재한다"는 모토와 같은 문구를 자주 접합니다. 그러므로 모든 사람은 필연적으로 자유 소프트웨어의 품질과 생존을 의심하게 될 것입니다. 최근까지 무료 소프트웨어(공식적으로 셰어웨어 또는 자유 소프트웨어로 알려짐)는 일반적으로 다음 세 가지 범주 중 하나에 속했습니다.
소규모 및 비상업적 소프트웨어
일반 하위 수준 작업용 소프트웨어
사용자를 위해 작성됨 다양한 사회정치적 '문제'로
이제 이러한 고정관념을 근본적으로 바꿔야 할 때입니다. 우리가 끊임없이 변화하는 비즈니스 소프트웨어의 세계에 있다는 것은 의심의 여지가 없습니다. 요즘에는 제작자가 웹 버전을 만들거나 FTP 서버를 설정하자마자 이메일 클라이언트, 웹 브라우저, 게임, 풀 서비스 오피스 제품군 등 많은 중요한 소비자 소프트웨어가 무료로 제공됩니다. 즉시 그리고 가능한 한 빨리. 어떤 꽃이 수분을 위해 꿀벌을 유인할 만큼 달콤한지와 마찬가지로 사용자 소프트웨어의 의미도 점차 변하고 있습니다. 즉, 더 많은 서버 하드웨어와 운영 체제를 판매하고 통합을 개선하며 광고 채널이 되는 방법으로 사용됩니다. , 일부 운영 도구 구성 요소를 판매하거나 지분을 판매합니다. 따라서 소프트웨어의 소매가격은 더 이상 소프트웨어의 품질이나 사용자 수준을 평가하는 신뢰할 수 있는 기준이 아닙니다.
서버 측면에서 오픈소스 제품은 더욱 강력해졌습니다. 최고의 상용 소프트웨어와 경쟁할 수 있을 뿐만 아니라 여러 측면에서 사람들은 상용 소프트웨어를 능가했다고 느낍니다. 이것이 단지 우리의 의견일 뿐이라고 생각하지 마십시오. IBM, 모든 하드웨어 제조업체, NASA, FTE, Siemens, Kinko, 영국 여왕, 멕시코 교육 시스템에 문의하십시오. 이에 대해 여전히 의문이 든다면 다음 웹사이트에서 자세한 내용을 알아볼 수 있습니다.
http://www.opensource.org
http://www.fsf.org
PHP 라이센스
무료 오픈 소스 코드와 무료 소프트웨어는 일련의 라이센스 구조에 의해 보장되며, 그 중 가장 유명한 것은 GPL(GNU General Public License) 또는 (copyleft)입니다. PHP는 GPL과 자체 라이선스에 따라 배포되어 각 사용자가 자유롭게 하나를 선택할 수 있었습니다. 그러나 이는 변경되었습니다. 이제 프로그램 전체가 자체적인 매우 자유방임적인 PHP4 라이센스에 따라 공개적으로 배포됩니다. Zend는 Q Public License(Zend가 PHP에서 포크되었을 때 공개적으로 가격이 책정되고 판매된 Q Public License)에 따른 별도의 제품입니다. .
라이센스에 대한 자세한 지침은 다음 웹사이트에서 확인할 수 있습니다:
http://www.php.net/license.html
http://www.troll.no/qpl / annotaed.html
대부분의 사람들은 PHP를 무료로 다운로드하지만 Linux 배포 제품, 기술 서적 또는 기타 제품의 일부로 구입할 수도 있습니다. 후자의 경우, 일부 사람들은 PHP가 무료라는 주장을 의심할 수도 있습니다. 이는 두 가지 방식으로 볼 수 있습니다. 대부분의 오픈 소스 소프트웨어에 대해서는 지불을 요구할 수 없지만 소프트웨어를 디스크에 저장하거나(우편으로 보내거나 다른 도구를 사용하는 등) 가장 저렴한 방법이라 할지라도 소프트웨어 배송 비용을 지불해야 합니다. 다른 사용자에게. 또한 일부 작업이나 위험은 시장에서 완료하고 부담하지만 이러한 작업은 개발팀에서 수행하거나 부담하지 않습니다. 이 경우 사용자도 비용을 지불해야 합니다. 예를 들어, 귀하가 받는 모든 소프트웨어 복사본에 바이러스가 없거나 특정 품질이 있는지 확인하거나 바이러스가 있는 CD-ROM을 사용할 위험을 방지하려면 특정 요금을 지불해야 합니다.
일반적으로 오픈 소스 소프트웨어 사용자는 상황에 따라 최고의 혜택/가격 비율, 지불 및 보장 없음을 자유롭게 선택할 수 있습니다. 또는 높은 가격을 사용하지만 좋은 기술 지원을 받거나 그 사이에 있는 경우 등이 있습니다. 그러나 현재 PHP 판매에 대한 서비스 및 기술 지원을 제공하는 조직은 없습니다(일부는 이것이 Zend 조직의 더 가치 있는 판매 포인트 중 하나가 될 것이라고 추측합니다).
Linux와 같은 다른 오픈 소스 제품에서는 RedHat과 같은 회사가 사용자의 질문에 답변하고 있습니다. 이 분야의 비즈니스 운영은 PHP를 통해 이제 막 시작되었습니다.
PHP는 배우기 쉽습니다
동일 기능의 다른 조작 방법에 비해 PHP는 배우기가 매우 쉽습니다. C 언어 기반의 Java Server Pages나 CGI와 달리, PHP는 사용자가 작은 데이터베이스 액세스 호출을 수행하기 위해 먼저 전체 프로그래밍 언어를 배울 필요가 없습니다. Perl은 종종 반농담으로 "쓰기 전용 언어"라고 불립니다. Perl과 달리 PHP의 구문은 이해하기 쉽고 인간-기계 인터페이스는 매우 친숙합니다. ASP.NET과 달리 PHP는 이미 매우 안정적이며 현재 문제를 해결할 수 있습니다.
또한 PHP는 사용자에게 매우 유용한 여러 기능(예: Oracle 데이터베이스에 대한 연결 열기, IMAP 서버에서 이메일 가져오기 등)을 사전 정의합니다. PHP를 배울 때 완성되고 미리 만들어진 샘플 스크립트도 많이 볼 수 있습니다. 실제로 PHP를 사용하려는 경우 프로그램 작성 시 발생하는 작은 구문 오류로 인해 시간을 낭비하지 않고 이러한 기존 스크립트 프로그램을 완전히 수정할 수 있습니다.
독자의 오해를 방지하기 위해 다음과 같이 설명해야 합니다. "쉬움"은 사람과 상황에 따라 다르게 해석될 수 있습니다. 예를 들어 많은 웹 개발자에게 "쉬움"은 그래픽 인터페이스를 의미하는 것으로 보입니다. 마우스 드래그 앤 드롭 작업 및 WYSIWYG 환경. 정말 능숙한 PHP 사용자가 되려면 먼저 HTML을 쉽게 편집할 수 있어야 합니다. 먼저 WYSIWYG 웹 편집 도구를 사용하여 웹 사이트를 디자인하고, 페이지를 아름답게 만들고, 클라이언트 기능을 삽입한 다음 페이지의 소스 코드에 PHP 기능을 추가할 수 있습니다. 일부 방법을 자세히 소개할 수도 있습니다. 어쨌든 프로그램 코드 부분을 건드리지 않으려면 PHP를 사용하는 다양한 기능을 완전히 익히는 것은 불가능합니다.
대부분의 개발팀 구성원을 포함하여 PHP 고급 사용자의 대다수는 프로그래밍 작업에 대한 고집을 가지고 있습니다. 매우 아름답고 깔끔하며, 브라우저와의 호환성이 최대이기 때문에 손으로 쓰는 프로그램 코드가 유일한 방법이며, 악당들은 이를 표현하기 위해 서슴지 않고 사나운 단어를 사용하는 경우가 많습니다. 일부 PHP 커뮤니티 그룹은 이메일을 통해 지원을 제공하거나 소규모 기술 거래를 수행합니다. 이러한 커뮤니티에 가입하려면 일반 텍스트 원본 프로그램 코드를 빠르게 구문 분석할 수 있어야 합니다. 일부 WYSIWYG 편집기 사용자는 때때로 PHP 커뮤니티 회원에게 웹 페이지를 보고 오류 진단을 도와달라고 요청하지만 좋은 평가를 받는 사람은 거의 없습니다.
PHP가 단순한 이유를 많이 언급했습니다. 사실 HTML보다 조금 더 복잡하지만 JavaScript나 ASP보다 조금 더 간단합니다. 게다가 JSP를 복사하는 일도 전혀 없습니다. 또는 ASP.NET.
PHP가 내장되어 있습니다.
PHP가 HTML에 내장되어 있습니다. 즉, PHP 페이지는 필요할 때 PHP 모드의 일반 HTML 페이지로 "점프"합니다. 예는 다음과 같습니다.
예제 1-1 Greeting.php
클라이언트가 이 페이지를 요청하면 웹 서버가 이를 처리합니다. 즉, 해결하려는 PHP 부분을 페이지의 위에서 아래로 살펴봅니다. 먼저, 파서는 할당된 값($로 표시됨)이 있는 모든 변수를 처리하고 이를 후속 PHP 명령(이 경우 print() 함수)에 삽입하려고 시도합니다. 모든 단계가 순조롭게 진행되면 파서는 결국
그림 1-1과 같이
소스를 보면
HTML 페이지를 다시 클라이언트의 브라우저로 보냅니다. 클라이언트 브라우저에서 [보기 메뉴에서 Source 또는 PageSource 선택] 코드를 실행하면 다음 코드가 표시됩니다.
PHP의 HTML 삽입 기능은 많은 도움을 줄 수 있습니다.
◆ PHP는 WYSIWYG 편집 도구로 생성된 프로그램 코드에 빠르게 삽입할 수 있습니다
◆.
◆ PHP는 디자이너와 스크립트 작성자의 작업을 분리합니다.
◆ PHP를 사용하면 인건비를 절감하고 효율성을 높일 수 있습니다.
편집 필요 없음
컴파일하려면 어떻게 해야 하나요? 분해할 수 없는 바이너리 코드를 해제하여 다른 사람이 프로그램 코드를 사용할 수는 있지만 원본 프로그램의 내용은 볼 수 없도록 하려는 경우. 이 경우 컴파일이 필요합니다. Zend 팀은 PHP를 "컴파일"할 수 있게 하고 복잡한 대규모 PHP 스크립트의 사용 및 개발을 촉진할 최적화된 컴파일러인 Zend Encoder를 개발 중입니다.
PHP에는 크로스 플랫폼 기능이 있습니다.
PHP는 가장 널리 사용되는 UNIX(Mac OS X 포함) 또는 Windows 운영 체제에서 실행될 수 있습니다. 현재 전 세계 대부분의 HTTP 서버는 위의 두 가지 운영 체제를 기반으로 구축되었습니다.
PHP는 세 가지 주요 웹 서버인 UNIX(Mac OSX 포함) 또는 Windows의 Apache HTTP 서버, Microsoft의 IIS 및 Netscape Enterprise 서버(iPlanet 서버라고도 함)와 호환됩니다. Alex Belits의 fhttpd, Microsoft의 PWS(Personal Web Server), AOLServer 및 Omnicentrix의 Omniserver 애플리케이션 서버를 포함하여 잘 알려진 여러 서버에서도 사용할 수 있습니다. 그러나 Macintosh 플랫폼은 PHP를 지원하지 않습니다. 표 1-2에는 운영 체제와 웹 서버 조합에 대한 간단한 표가 나와 있습니다.
표 1-2 PHP를 지원하는 운영 체제 및 웹 서버
이제 PHP는 매킨토시에서도 실행 가능하므로 PHP는 거의 모든 플랫폼을 넘나들며 개발할 수 있습니다. 선호하는 도구를 사용하여 개별 OS 측을 선택한 다음 이러한 PHP 스크립트를 UNIX 또는 Windows 서버에 업로드하세요. 3장에서는 프로세스의 이 부분을 자세히 설명합니다.
PHP는 마크업 언어가 아닙니다PHP는 실제 프로그래밍 언어입니다. 이에 비해 ColdFusion은 HTML과 같이 미리 정의된 태그로 표시됩니다. PHP에서는 이름과 정의만 입력하여 필요에 따라 함수를 정의할 수 있습니다. CouldFusion에서는 타인이 개발한 태그를 사용하거나, 커스텀 확장 태그 개발 과정을 거쳐야 합니다.
한 PHP 커뮤니티 회원은 "CouldFusion을 사용하면 쉬운 일은 쉽게 만들지만 중간 난이도의 일은 불가능하게 만듭니다."라고 말한 적이 있습니다. 모든 프로그래머는 중괄호와 원을 사용할 수 있게 되면 다시는 마크업을 사용하지 않을 것이라는 점에 동의할 것입니다.
PHP의 안정성(stabie)
여기서 언급된 [안정성]에는 두 가지 의미가 있습니다.
1. 서버를 자주 다시 시작할 필요가 없습니다.
2. 소프트웨어를 자주 업그레이드하고 변경할 필요가 없으며 릴리스 간 비호환성이 없습니다.
다행히도 이 두 가지 사항이 모두 PHP에 적용됩니다. Apache 서버는 일반적으로 부러워할 만큼 가동 시간 비율이 가장 안정적인 주류 웹 서버로 인식됩니다. 비록 가장 빠르지는 않지만 관리자에게 가장 쉬운 것은 아니지만 일단 설치 및 설정되면 Apache HTTP 서버는 거의 실패하지 않습니다. 또한 설정을 변경할 때마다 서버를 다시 시작할 필요가 없습니다(적어도 UNIX 측에서는). PHP는 자체 견고성 및 가벼움과 함께 이러한 신뢰성을 이어받았습니다. 1999년 10월 Network Computing Labs에서 진행된 2개월 반 간의 실제 테스트에서 Apache Server와 PHP는 환경 안정성 측면에서 쉽게 뛰어났습니다. IIS/Visual Studio 조합 및 Netscape Enterprise Server/Java 조합.
기능성이나 안정성 면에서도 PHP는 매우 좋습니다. 개발팀은 자신의 프로젝트에 자신감이 있고 명확한 목표가 있기 때문에 일부 사용자의 부적절한 요청을 거부합니다. 대부분의 노력은 파서 실행 속도를 높이고, 더 많은 주류 데이터베이스와 데이터를 교환하거나, 더 나은 세션 지원을 추가하는 등 제품을 개선했습니다. 과거 경험으로 볼 때 PHP 버전 간에는 몇 가지 기능이 제거되었습니다.
PHP는 매우 빠릅니다.
PHP는 실행 속도가 매우 빠릅니다. 특히 UNIX 플랫폼에서 Apache 모듈로 컴파일할 때 더욱 그렇습니다.
CGI 스크립트에 비해 PHP4는 거의 모든 사용 측면에서 훨씬 빠릅니다. CGI는 "Can't Go Instantly"의 약자라는 농담이 있습니다. 많은 CGI 스크립트가 가장 낮은 단계의 언어 중 하나이므로 대부분의 프로그래밍 언어보다 훨씬 빠른 C로 작성되었지만 HTTP 서버에서 차단된 각 요청에는 완전히 새로운 핸들러의 시작이 필요하므로 이 문제는 애플리케이션을 방해합니다. CGI의. 이 절단 및 항복에 필요한 시간은 상당하므로 수행할 수 있는 병렬 처리의 양이 제한됩니다. Perl 및 Tcl과 같은 다른 CGI 스크립팅 언어는 매우 느립니다. 대부분의 웹 사이트는 성능 및 보안상의 이유로 더 이상 CGI를 사용하지 않습니다.
컴파일이 아닌 문자 그대로 실행되기 때문에 성능에 약간의 영향이 있습니다. 하지만 웹 서버 모듈 중 하나로 꼽히는 PHP는 여전히 단점보다 장점이 많고 여전히 가치가 있습니다. 이런 방식으로 컴파일하면 PHP는 HTTP 서버의 일부가 됩니다. ColdFusion의 경우와 같이 별도의 응용프로그램 서버로의 왕복이 없기 때문에 가능한 최대 범위까지 요청을 처리할 수 있습니다.
양측을 비교할 공식 벤치마크는 없지만 대부분의 애플리케이션에서 PHP가 최소한 ASP만큼 빠르다는 징후와 작은 벤치마크가 많이 있습니다(예를 들어 Zend.com에 연결하세요. 실제로 웹사이트를 확인하세요) 경험해보세요).
PHP 공개
오픈 소스 소프트웨어의 비용 이점에 대해서는 이미 논의했습니다. 이러한 라이센스의 또 다른 주요 결과는 소프트웨어의 전체 소스 코드가 모든 배포에 포함되어야 한다는 것입니다.
사실 UNIX 버전의 PHP는 원본 프로그램 코드의 형태로만 출시되었습니다. 지금까지 개발팀에서는 수많은 요청을 거부했으며 어떤 UNIX 플랫폼용 공식 바이너리 버전도 출시하지 않기로 결정했습니다. 처음에는 초보 사용자(특히 UNIX를 처음 사용하는 사용자)는 원래 프로그램 코드가 제3의 다리를 사용하는 것과 같다고 느낄 수 있으며(사용하기 매우 쉽다), 대부분의 사람들은 여전히 편리한 rpm 방법을 사용하기를 기대합니다. 그러나 [.c] 및 [.h] 파일로 가득 찬 폴더를 갖는 것은 실용적이고 이상적인 이유로 피할 수 없습니다.
가장 직접적이고 실질적인 이점은 실제로 필요한 콘텐츠에 맞게 PHP를 컴파일할 수 있다는 것입니다. 이 방법은 속도와 보안 측면에서 장점이 있습니다. 예를 들어, 다른 데이터베이스의 인터페이스를 중단하도록 선택하거나 더 안전하거나 최신 버전의 Apache가 출시될 때 필요에 따라 언제든지 다시 컴파일할 수도 있습니다. XML 지원이 필요합니다.
오픈소스 소프트웨어가 경쟁사와 다른 점은 가격뿐만 아니라 통제력입니다. 많은 소프트웨어는 특정 조건에서 통제권을 포기하도록 설정되어 있지만 자세히 살펴보세요. 관련 인증 지침은 일반적으로 [제한 사항]을 참조하세요. 소프트웨어를 사용하는 방법에 대해. 집에서 실행하는 것은 허용되지만 사무실에서는 실행되지 않을 수 있습니다. 노트북에 로드하는 것은 허용되지만 비즈니스 목적으로 사용하는 경우 위반이 됩니다. 또는 가장 일반적으로 어떤 목적으로든 사용할 수 있지만 사용자는 원본 프로그램 코드를 수정은커녕 보고 싶어하지도 않습니다. 사용자가 링크 라이브러리에 기여하도록 강제하는 커뮤니티 라이센스 규정도 있지만 사용자는 여전히 최종 제품 사용 비용을 지불해야 합니다.
특히 무료 소프트웨어의 경우 소프트웨어 라이선스를 위반하는 방법에 대해 생각하지 마세요. 게다가 소프트웨어 개발자에게 이런 보상은 너무 불공평하다.
PHP는 뛰어난 통합 기능을 갖추고 있습니다
PHP는 새로운 기능을 빠르게 추가합니다
PHP의 개발은 PHP 3과 PHP 4 사이의 전환과 같은 몇 가지 주요 문제의 영향을 받기는 하지만 매우 일관되고 진행 중입니다. 이러한 문제는 주로 파서 자체에 의해 발생하며 프로그래머가 또한, PHP 팀은 오픈 소스 코드의 "조기 릴리스, 자주 릴리스" 원칙을 따르므로 개발자가 .NET 접근 방식과 비교하여 변경할 수 있는 많은 기회를 제공합니다. 를 보면 개발자들이 거의 1년 동안 Microsoft를 기다리게 되었지만 아직 IIS를 업데이트하지 않았으며 .NET 서버의 주요 버전도 출시하지 않았다는 사실을 알게 될 것입니다.
PHP는 점점 대중화되고 성장하고 있습니다
1994년 PHP가 탄생한 이후 PHP는 네트워크 개발을 위한 탁월한 도구에서 기업에 적합한 도구로 완전히 변화했습니다. 구성된 플랫폼이며 점점 더 대중화되고 있으며 막대한 리소스 기반을 보유하고 있습니다. 현재 PHP는 1,500만 개 이상의 웹사이트에서 사용되고 있으며 PHP 자체는 빠르게 네트워크 애플리케이션에서 가장 인기 있는 언어가 되고 있습니다. 특히 유럽과 북미 지역에서는 단순한 온라인 언어 개발 도구의 영역에서 완전히 벗어나 금융, 정부, 교통, 통신, 미디어, 엔터테인먼트 등 주요 산업 분야에서 PHP가 사용되고 있습니다.
해외에서는 수백만 명의 전문 엔지니어가 PHP를 주요 개발 언어로 사용하여 여러 지역에서 클럽이나 유사한 그룹을 구성하고 종종 PHP에 대한 우려 사항을 함께 논의합니다. 예를 들어 최근 유럽에서는 벨기에, 네덜란드, 영국, 북미에서는 미국, 캐나다 등에서 활발한 활동을 펼치고 있다. 중국은 가장 큰 인터넷 국가로서 다른 어떤 나라보다 많은 PHP 애호가를 보유하고 있습니다. 우리 모두가 단결하여 중국 최대 규모의 PHP 중국 설립을 옹호할 수 있기를 바랍니다. 이를 통해 우리는 중국 내 PHP 개발을 촉진하고 다양한 PHP 매니아들에게 커뮤니케이션 플랫폼을 제공할 것입니다.
보시다시피 1998년 10월부터 1999년 10월까지 PHP 사용자의 도메인 수 증가율은 800%에 달했습니다. 웹 사이트가 어디에나 존재하게 되고 그 대부분이 더 이상 단순한 정적 HTML 페이지가 아니게 되면서 PHP는 엄청난 수의 사용자를 빠르게 확보할 것으로 예상됩니다.
강력한 입지를 구축하기는 어렵지만 유사 제품에 비해 PHP는 강력한 입지를 차지하고 있습니다. 웹 서버의 24%가 Microsoft의 Active Server Pages 기술을 사용하는 반면, 조사 대상 도메인의 약 4%는 ColdFusion을 사용합니다. 더 크고 정확한 샘플에 따르면 전체 웹 서버의 24%가 PHP를 사용하므로 가장 널리 사용되는 서버라고 할 수 있습니다. 서버측 웹 프로그래밍 언어.
Active Server Pages와 ColdFusion은 많은 대규모 전자상거래 웹사이트에서 사용하기 때문에 쉽게 볼 수 있습니다. 그러나 대부분의 웹사이트는 수익이나 국가 정부가 아닌 정보 형태로 정보를 제공하기 때문에 높은 개발 비용을 감당할 수 없습니다. 이러한 유형의 웹사이트에서 PHP는 경쟁사보다 더 실질적인 경쟁 우위를 누리고 있습니다.
PHP는 누구의 것도 아니다
PC 산업의 대부분의 발전은 '특허권 표준'의 연대기라고 할 수 있다. 그러나 지난 몇 년 동안 인터넷은 자발성, 표준 기반, 플랫폼 독립적인 호환성 등에 대해 가장 큰 관용을 제공했습니다. 예를 들어, 객관적인 존재는 명확하고 고정된 표준을 사용하고 모든 플랫폼의 모든 프로그램은 이 표준을 준수해야 하기 때문에 전자 메일이 널리 사용됩니다. 이 표준을 깨고자 하는 이후의 새로운 개발 프로젝트(예: HTML Green 기반 이메일 편지지)는 일반적으로 표준에서 벗어난 것으로 간주되었습니다.
또한 고객(특히 대규모 시스템을 보유한 대규모 고객)은 독점 표준을 준수하기 위해 많은 비용을 지출하는 경향이 있습니다. 이는 시장 동향이 보장되지 않고 현재 방식이 XML 및 웹 서비스를 기반으로 하기 때문입니다. 이는 수년 동안 고객이 Java RMI, CORBA, COM 및 심지어 이전의 독점 방법과 데이터 형식에 만족하지 않았기 때문입니다.
PHP 커뮤니티 PHP는 전 세계 사용자 커뮤니티가 협력하여 개발하고 지원하는 일부 괴물 수준의 프로그래머가 많은 아이디어와 열정을 가지고 있으며 실제로 Bo가 대부분의 작업을 완료한 것은 사실입니다. , 최고의 아이디어를 제공하고 대부분의 사용자와 좋은 관계를 유지합니다.
대부분의 초보자에게 가장 큰 이점은 무료, 국경 없는 무조건적인 기술 지원입니다. 7-Eleven 편의점과 같은 메일링 리스트에 있는 사람들은 연중무휴 24시간 내내 질문에 답변하고, 코드 디버깅에 도움을 주며, 불만사항을 청취할 수 있습니다. 이런 종류의 지원은 더 인도적이고 더 현실적입니다. PHP 커뮤니티의 구성원은 사용자에게 매뉴얼을 읽어 달라고 요청하거나, 데이터베이스에 있는 답변 메일링 리스트로 질문을 전달하거나, 불만을 제기하도록 요청할 수 있습니다. 그러나 C 슬롯을 자르라고 요청하거나 비용을 지불하도록 요청하지는 않습니다. 종종 그들은 귀하의 코드를 보고 무엇이 잘못되었는지 알려주거나 심지어 처음부터 애플리케이션을 설계하는 데 도움을 줄 것입니다.
PHP에 더 익숙해지면 기부하고 기여하고 싶을 수도 있습니다. 버그를 추적하고 메일링 리스트의 다른 사람들에게 제안을 제공하고, 다른 사람들이 액세스할 수 있도록 프로그램 예제를 공개 저장소에 게시하고, 관련 문서를 작성하여 다른 사람들과 지식을 공유할 수 있으며, 물론 C 또는 C++ 코드도 작성할 수 있습니다. 지역사회에 환원할 수 있는 모든 방법.
요약
PHP는 모든 웹 개발 문제를 해결하는 마법의 열쇠는 아니지만 많은 장점을 가지고 있습니다. PHP는 웹 개발자가 만들고 사용했습니다. 지원을 제공하는 열정적인 커뮤니티도 많이 있습니다. 그들은 매우 강력하고 안정적이며 사용하기 매우 쉽습니다. 모든 유형의 백엔드 자료에 대해 최상의 연결 형태를 제공합니다. 무료라는 사실을 잊지 않았나요? PHP를 이해하려면 가장 일반적인 웹 개발 프로젝트에서 PHP를 사용하는 것이 가장 좋습니다.
위 내용은 PHP 학습 가이드 - Chapter 1의 내용입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!