웹마스터 팁

[mics'php] 1. PHP란?

2003.04.16 19:48

TheMics

mics'php


1. PHP란?

1.1. PHP

1.1.1. PHP의 유래
PHP는 Hypertext Preprocessor의 약자로, 웹 프로그래밍 언어입니다.
* 추가 해설: PHP가 무엇의 약자인가 하는 것은 굉장한 논란거리입니다. 심지어는 책의 저자들조차 이를 제대로 알지 못하는 경우가 많습니다. PHP는 최초에 Personal Home Page Tools에서 유래되었다고 합니다. 이후 PHP3이 개발되면서 PHP라는 이름에 의미를 부여하는 공모전이 실시되었는데, 여기서 당선된 것이 Professional HTML(혹은 Hypertext) Preprocessor라고 합니다. 여기서는 PHP.net에서 언급한 Hypertext Preprocessor의 약자로 하겠습니다. 지적해 주신 Union Milkyway님게 감사드립니다.
PHP 공식 사이트인 php.net에서는 PHP를 웹을 위해 HTML으로 출력하는 다목적인 스크립트 언어라고 설명하고 있습니다. PHP는 1994년에 Rasmus Lerdorf라는 사람이 개인 홈페이지에서 사용하기 위해 최초로 만들었습니다. 1995년에는 "Personal Home Page Tools"라는 이름으로 외부에 공개되었는데, PHP의 이름이 여기서 유래되었다고도 합니다. 그 해 여름에 PHP가 업그레이드 되어 PHP/FI Version 2라는 이름으로 공개되었고, 1997년에는 PHP Version 3(PHP3)이 등장하였습니다. 이때부터 PHP는 아파치 서버에 탑재되어 많은 사람들에게 널리 알려지게 되었습니다. 곧 Zend 엔진을 탑재한 PHP 4가 등장, 처리 속도를 획기적으로 향상시켰는데, 이것이 현재의 PHP입니다.
웹 프로그래밍 언어란?
 웹 프로그래밍 언어는 결과물은 웹브라우저를 통해 HTML로 출력하는 프로그래밍 언어입니다. PHP, JSP, ASP, ColdFusion 등이 있습니다.

Zend 엔진이란?
 Zend 엔진은 스크립트 해석 엔진으로 원래 PHP용으로 개발된 것은 아니였습니다. 그러나 PHP에 탑재돠면서 속도·성능을 획기적으로 향상시켰습니다. 또한 중간 해석기인 Zend Optimizer가 있는데, 이 역시 PHP서버의 부하를 줄여 주고 속도 향상을 시켜줍니다.


1.1.2. PHP의 특징

1. 웹 언어이다.
PHP는 C나 비주얼 베이직처럼 PC프로그래밍을 위한 언어가 아니라 웹 프로그래밍을 위한 언어입니다. 웹 프로그래밍은 http:로 시작하는 웹사이트에서 보여지는 페이지를 프로그래밍하는 것입니다.

2. 서버사이드 언어이다.
다소 어려운 말입니다만, 서버사이드 언어라는 것은 자바스크립트처럼 웹브라우저에서 따로 해석하는 것이 아니라 웹 서버에서 스크립트를 해석, 출력해주는 것입니다. 즉, 소스보기를 해도 그 소스가 보이지 않고 웹 브라우저에 따른 출력차이가 없습니다. 다만 자바스크립트처럼 새로고침하지 않고 그때그때 이벤트에 따른 프로그램의 동작은 불가능합니다.
이벤트란?
 이벤트는 쉽게 말해 웹브라우저에서 일어나는 모든 일을 가리킵니다. 문서의 로드는 물론 우리가 하는 행위, 즉 키보드의 입력, 마우스 클릭, 새로고침 등이 모두 이벤트입니다.


3. 인터프리트 언어이다.
인터프리트 언어는 컴파일이 필요하지 않은 프로그램 언어를 말합니다. 대부분의 웹 프로그램 언어가 이 형식으로, 그냥 웹에서 실행시킬 수 있습니다.
컴파일이란?
 컴파일은 프로그래밍된 소프트웨어를 실행 가능한 형태로 만들어 주는 것입니다. PC프로그램은 exe형태로 만들어주게 되고, 그 소스도 우리가 볼 수 있는 스크립트가 아니라 기계어로 변환, 암호처럼 보이게 됩니다.


1.1.3. PHP의 장점

4. 다양한 데이터베이스를 지원한다.
PHP는 수많은 데이터베이스를 지원, 선택의 폭을 넓혀줍니다. 가장 많이 쓰이는 MySQL을 비롯, PostgresSQL, mSQL등의 무료 DB와 오라클, 인포믹스, Sybase등의 상용 데이터베이스를 지원합니다. 또한 ODBC를 통한 사용도 가능합니다.
데이터베이스란?
 데이터베이스란 자료를 체계적으로 모아두고 사용자의 요구에 따라 수정, 편집, 추가 등 자유로운 작업을 할 수 있는 사물함이라 할 수 있습니다.

ODBC란?
 ODBC는 Open Database Connectivity의 약자로 여러 데이터베이스를 공통으로 사용할 수 있도록 개발된 것입니다. 즉, 이를 이용하면 해당 언어에서 지원하지 않는 데이터베이스도 ODBC를 통해 사용할 수 있게 됩니다.


5. 속도가 빠르다.
일반적인 웹상에서의 실행은 물론, 데이터베이스 처리 속도 역시 빠른 속도를 자랑합니다. 특히 PHP는 많은 사람이 동시에 접속할 때에는 가장 빠르다는 C보다 뛰어난 속도를 냅니다.

6. 무료이다.
PHP는 물론 PHP를 사용하기 위해 필요한 다른 여타 소프트웨어도 모두 무료로 배포되므로 매우 경제적입니다.

7. 많은 OS 를 지원한다.
리눅스는 물론 윈도우즈, 유닉스, 솔라리스 등에서 작동이 가능합니다.

8. 기타 웹에서 사용되는 다양한 환경을 지원한다.
파일 업로드는 물론 쿠키, 세션, HTTP 인증, 심지어 이미지 파일과 플래시의 생성까지 지원합니다. 이들은 추후에 다루며 설명하겠습니다.

1.1.4. PHP의 제약점

9. 컴파일 언어에 비해 느리다.
이는 인터프리트 언어의 어쩔 수 없는 단점으로, 서버에서 한번 더 해석을 해 주어야 하기 때문입니다.

10. 파일이 300,000줄을 넘어서는 안된다.
이는 제약이기는 하나 문제될 것은 없습니다. 아무리 복잡한 프로그래밍을 하더라도 30만줄에 달하기는 어렵습니다. 이는 거의 무제한이라고 보면 되고, 만약 30만줄을 넘더라도 파일을 분리해 프로그래밍하면 됩니다.

이런 내용들은 사실 크게 중요하지는 않습니다. 그저 이런 거구나, 하고 넘어가시면 되겠습니다.


노골적인 광고 : http://micsland.com