이 튜토리얼은 언어에 대한 완전한 이해를 제공하기 위한 것이 아니라 가능한 한 빨리 동적 웹 사이트 개발을 시작할 수 있도록 하기 위한 것입니다. 나는 당신이 HTML(또는 HTML 편집기)에 대한 기본 지식과 몇 가지 프로그래밍 아이디어를 가지고 있다고 가정합니다.
소개
PHP는 동적 웹 페이지를 생성할 수 있는 도구 중 하나입니다. PHP는 Hypertext Preprocessor(PHP: 하이퍼텍스트 전처리기)의 약자입니다. PHP는 완전 무료이므로 돈을 들이지 않고도 PHP 공식 사이트(http://www.php.net)에서 무료로 다운로드할 수 있습니다. PHP는 Linux 및 Emacs와 같은 많은 인기 소프트웨어가 탄생한 GNU Public License(GPL)를 준수합니다. 소스 코드에 무제한으로 액세스할 수 있으며 필요한 기능을 추가할 수도 있습니다. PHP는 대부분의 Unix 플랫폼, GUN/Linux 및 Microsoft Windows 플랫폼에서 실행됩니다. Windows 환경의 PC 컴퓨터 또는 Unix 컴퓨터에 PHP를 설치하는 방법에 대한 정보는 PHP 공식 웹 사이트에서 찾을 수 있으며, Tao Bar 웹 사이트의 특별 기사 "Comprehensive PHP Installation Tips"를 확인할 수 있습니다. 설치 과정은 간단합니다.
귀하의 컴퓨터가 2000 문제를 해결한다면 PHP에는 Y2K 문제도 발생하지 않을 것입니다!
역사
3년 전 Rasmus Lerdorf는 온라인 이력서를 작성하기 위해 개인 홈페이지 도구를 만들었습니다. 매우 간단한 언어입니다. 그 이후로 점점 더 많은 사람들이 이 언어를 발견하고 확장에 대한 다양한 제안을 했습니다. 많은 사람들의 헌신과 소스가 없는 언어 자체의 특성을 통해 기능이 풍부한 언어로 진화했으며 여전히 성장하고 있습니다.
PHP는 배우기 쉽지만 mod_perl(웹 서버에 내장된 Perl 모듈)보다 느립니다. 이제 mod_perl만큼 빠른 Zend라는 새로운 엔진이 있으며, PHP4는 이 엔진을 최대한 활용할 수 있습니다. 이제 PHP4의 공식 버전이 출시되었으며, PHP 공식 홈페이지에서 다운로드할 수 있습니다. Andy Gutmans와 Zeev Suraki는 Zend의 주요 저자입니다. 자세한 내용은 Zend 사이트(http://www.zend.com)를 방문하세요.
개인 웹 프로젝트에서 PHP의 적용이 크게 증가했습니다. Netcraft의 1999년 10월 보고서에 따르면 PHP 기술을 활용하는 도메인은 931,122개, IP 주소는 321,128개입니다.
PHP의 발전
PHP를 적용하면 많은 이점이 있습니다. 물론, 알려진 단점은 PHP가 오픈 소스 프로젝트이기 때문에 상업적인 지원이 없고 결과적으로 실행 속도가 느리다는 것입니다(PHP4까지). 그러나 PHP의 메일링 리스트는 매우 유용하며 Yahoo! 또는 Amazon.com과 같은 매우 인기 있는 사이트를 운영하지 않는 한 PHP 속도의 차이를 느끼지 못할 것입니다. 적어도 나는 그것을 느끼지 않았다! 자, PHP의 장점을 살펴보겠습니다.
학습 과정
저는 개인적으로 PHP의 매우 간단한 학습 과정을 선호합니다. Java 및 Perl과 달리 괜찮은 프로그램을 작성하기 위해 100페이지가 넘는 문서에 몰두할 필요는 없습니다. 몇 가지 기본 구문과 언어 기능을 이해하고 있다면 PHP 코딩 여정을 시작할 수 있습니다. 나중에 코딩 과정에서 문제가 발생하면 관련 문서를 다시 읽어보세요.
PHP의 구문은 C, Perl, ASP 또는 JSP와 유사합니다. 위 언어 중 하나에 더 익숙한 사람들에게는 PHP가 너무 간단합니다. 반대로, PHP에 대해 더 많이 알면 다른 여러 언어도 쉽게 배울 수 있습니다.
PHP의 모든 핵심 언어 기능을 익히는 데 30분이면 됩니다. 이미 HTML을 잘 알고 있을 수도 있고, 편집 및 디자인 소프트웨어를 사용하는 방법이나 수동으로 아름다운 웹 사이트를 만드는 방법도 알고 있을 수도 있습니다. PHP 코드는 사이트에 쉽게 추가할 수 있으므로 사이트를 디자인하고 유지 관리할 때 쉽게 PHP를 추가하여 사이트를 더욱 동적으로 만들 수 있습니다.
데이터베이스 연결
PHP는 여러 데이터베이스에 연결하는 기능으로 컴파일될 수 있습니다. PHP와 MySQL은 현재로서는 훌륭한 조합입니다. 데이터베이스에 간접적으로 액세스하기 위해 자신만의 주변 기능을 작성할 수도 있습니다. 이런 방식으로 사용하는 데이터베이스를 변경할 때 이러한 변경 사항에 맞게 코딩을 쉽게 변경할 수 있습니다. PHPLIB는 일반적인 트랜잭션 요구 사항을 제공할 수 있는 가장 일반적으로 사용되는 기본 라이브러리 시리즈입니다.
확장성
앞서 언급했듯이 PHP는 급속한 발전의 시기에 들어섰습니다. 프로그래머가 아닌 사람이 PHP를 추가 기능으로 확장하는 것은 어려울 수 있지만, PHP 프로그래머에게는 어렵지 않습니다.
객체 지향 프로그래밍
PHP는 클래스와 객체를 제공합니다. 웹 기반 프로그래밍 작업에는 객체 지향 프로그래밍 기술이 필요합니다. PHP는 생성자, 추출된 클래스 등을 지원합니다.
확장성
전통적으로 웹페이지의 상호작용은 CGI를 통해 이루어졌습니다. CGI 프로그램의 확장성은 실행 중인 각 CGI 프로그램에 대해 별도의 프로세스를 열기 때문에 이상적이지 않습니다. 해결책은 CGI 프로그램을 웹 서버에 작성하는 데 일반적으로 사용되는 언어(예: mod_perl, JSP)의 인터프리터를 컴파일하는 것입니다. PHP는 이런 방식으로 설치할 수 있지만 CGI를 이런 방식으로 설치하려는 사람은 거의 없습니다. 임베디드 PHP는 확장성이 더 뛰어납니다.
추가 기능
웹 프로그래밍에 더 적합하도록 PHP 개발자는 사용하기 쉬운 레이어가 포함된 많은 주변 인기 기본 라이브러리를 개발했습니다. PHP를 사용하여 Oracle, MS-Access 및 Mysql을 포함한 대부분의 데이터베이스에 연결할 수 있습니다.파리에 그림을 그릴 수도 있고, 이메일을 다운로드하거나 표시할 수 있는 프로그램을 작성할 수도 있습니다. 네트워크 관련 기능도 완료할 수 있습니다. 무엇보다도, PHP 설치에 필요한 기능을 선택할 수 있습니다. Nissan의 Xterra를 인용하자면, PHP는 원하는 모든 것을 할 수 있고 전능합니다!
MySQL 소개
MySQL은 Linux 커뮤니티에서 널리 사랑받는 준상업용 데이터베이스입니다. MySQL은 대부분의 Linux 플랫폼(i386, Sparc 등)뿐만 아니라 일부 비 Linux 및 심지어 비 Unix 플랫폼에서도 실행됩니다.
라이센스 비용
MySQL의 인기는 주로 약간 특이한 라이센스 비용 외에도 허용성에서 비롯됩니다. MySQL 가격은 플랫폼과 설치 방법에 따라 다릅니다. Windows 버전의 MySQL(NT 및 9X)은 어떠한 경우에도 무료가 아니지만, Unix 변형(Linux 포함)용 MySQL은 제3자가 아닌 사용자 자신이나 시스템 관리자가 설치하는 경우 무료입니다. 유급의.
가격
플랫폼 설치 방법 가격
Windows NT, 9X 모두 $200
Unix 또는 Linux 자체 설치 무료
Unix 또는 Linux 타사 설치 $200
애플리케이션 구성 요소 필요 $200
여기에 나열할 수 없을 만큼 다양한 지원 계약이 있습니다. 최신 견적을 보려면 MySQL 웹사이트를 참조하세요.
3. 설치
대부분의 주요 소프트웨어 패키지 형식(RPM, DBE, TGZ)은 MySQL 사이트에서 사용할 수 있으며 다양한 언어 "래퍼"(Wrapper)는 별도의 RPM 형식으로 제공됩니다. RPM 형식으로 설치하는 것은 번거롭지 않으며 초기 구성이 필요하지 않습니다. 초기 스크립트는 rc3.d(예: RedHat RPM)에서 생성되므로 다중 사용자 모드에서 다시 시작할 때 MySQL 데몬이 시작됩니다. MySQL의 데몬(mysqld)은 매우 적은 메모리를 소비하며(RedHat 5.1을 실행하는 Pentium 133에서 각 데몬은 500K 메모리와 또 다른 4M 공유 메모리 오버헤드를 사용함) 서버에서 실제 쿼리가 실행될 때만 프로세스에 로드됩니다. 소규모 데이터베이스의 경우 MySQL은 다른 시스템 기능에 큰 영향을 주지 않고 상당히 쉽게 사용할 수 있습니다.
데이터 유형
필드에서 다양한 데이터 유형을 지원한다는 것은 좋은 점입니다. 공통 정수, 부동 소수점 숫자, 문자열, 숫자는 다양한 길이로 표현되며 가변 길이 BLOB(Binary Large OBject) 유형을 지원합니다. 정수 필드에는 자동 증가 옵션이 사용되며 날짜 및 시간 필드도 잘 표현할 수 있습니다.
MySQL은 상대적으로 흔하지 않은 두 가지 필드 유형인 ENUM과 SET을 제공한다는 점에서 대부분의 다른 데이터베이스 시스템과 다릅니다. ENUM은 파스칼 언어의 열거형과 매우 유사한 열거형입니다. 이를 통해 프로그래머는 'red', 'green', 'blue'와 유사한 필드 값을 볼 수 있지만 MySQL은 이러한 값만 저장합니다. 한마디로 축제. SET은 또한 열거형 유형이지만 단일 필드는 한 번에 여러 값을 저장할 수 있습니다. ) ) 그러나 SET 및 CONTAINS 키워드를 올바르게 사용하면 테이블 연결을 많이 절약하고 성능을 향상시킬 수 있습니다.
5. SQL 호환성
MySQL에는 SQL 표준과 다른 몇 가지 변경 사항이 포함되어 있으며, 대부분은 SQL 언어 스크립팅 언어의 단점을 보완하도록 설계되었습니다. 그러나 다른 확장은 MySQL을 고유하게 만듭니다. 예를 들어 LINK 절 검색은 자동으로 대/소문자를 무시합니다. MySQL은 또한 사용자 정의 SQL 함수를 허용합니다. 즉, 프로그래머는 MySQL에 통합되어 SUM() 또는 AVG()와 같은 기본 함수와 다르지 않게 동작하는 함수를 작성할 수 있습니다. 함수는 공유 라이브러리 파일(.so 파일)로 컴파일된 다음 LOAD FUNCTION 명령을 사용하여 로드되어야 합니다.
몇 가지 일반적인 SQL 기능도 부족하며 하위 선택(쿼리 내의 쿼리)도 없습니다. 뷰도 사라졌습니다. 물론 대부분의 하위 쿼리는 간단한 조인 절로 다시 작성할 수 있지만 때로는 하나의 큰 조인보다 두 개의 중첩 쿼리 측면에서 생각하는 것이 더 쉽습니다. 다시 말하지만, 뷰는 프로그래머에게 where 절을 숨길 뿐이지만 이는 프로그래머가 기대하는 또 다른 편리함입니다.
저장 프로시저 및 트리거
MySQL에는 저장 프로시저(Stored Procedure) 언어가 없는데, 이는 엔터프라이즈급 데이터베이스에 익숙한 프로그래머에게 가장 큰 제약입니다. 다중 문 SQL 명령은 클라이언트 코드를 통해 조정되어야 하며 이는 상당히 강력한 쿼리 언어와 여러 문이 실행될 수 있도록 클라이언트 측에서 테이블을 잠그거나 잠금 해제하는 기능을 통해 달성됩니다.
7. 참조 무결성(Referential Integrity-RI)
MySQL의 주요 결함 중 하나는 표준 RI 메커니즘이 없다는 것입니다. 그러나 MySQL 제작자는 사용자의 요구에 귀를 기울이지 않고 일부 기능을 제공합니다. 해결책. 그 중 하나는 고유 인덱스 지원입니다. 규칙 제한(특정 필드에 대한 고정 범위 제한)이 없다는 점은 많은 수의 데이터 유형으로 보완됩니다. 단순히 검사 제약 조건(동일한 행의 다른 필드에 대한 한 필드의 값에 대한 제한), 외부 키워드 및 종종 RI와 관련된 "계단식 삭제" 기능을 제공하는 것이 아닙니다. 흥미롭게도 SQL 구문 분석기는 이러한 기능이 지원되지 않을 때 이러한 문의 구문을 허용합니다. 이것의 목적은 데이터베이스를 MySQL로 쉽게 이식하는 것입니다. 이는 좋은 시도이며 이 기능에 대한 향후 지원을 위한 문을 열어 두었습니다. 그러나 문서를 주의 깊게 읽지 않는 사람들은 이러한 기능이 실제로 존재한다고 생각하도록 속일 수 있습니다.
7. 보안
처음부터 끝까지 MySQL에 대한 가장 큰 불만은 보안 시스템이 표준보다 복잡하다는 것입니다. 게다가 사용자 권한을 다시 읽기 위해 mysqladmin이 호출될 때만 변경됩니다. 일반적인 SQL GRANT/REVOKE 문은 최신 버전까지는 지원되지 않았지만 적어도 현재는 지원됩니다. MySQL의 작성자는 특정 보안 시스템을 광범위하게 문서화했지만 다른 방법으로는 불가능할 수 있는 학습 곡선이 필요합니다.
Apache php mysql은 기업 네트워크에 가장 적합한 조합입니다.
PHP를 배우면 인터넷에서 많은 튜토리얼을 찾을 수 있습니다. 사실 어떤 프로그램이든 배워서 보관하는 것이 가장 좋습니다. 쓰고 계속 읽으세요.
물론 웹사이트를 만드는 가장 좋은 방법은 많은 코드를 작성할 수 있고 디자인도 할 수 있는 드림위버입니다!
위 내용은 apache php mysql의 내용을 포함하여 apache php mysql php와 php MySQL의 관계를 소개한 내용이므로 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되길 바랍니다.