PHP란?
PHP(PHP: Hypertext Preprocessor)는 C언어를 기반으로 만들어진 서버 측에서 실행되는 서버 사이드 스크립트 언어입니다. PHP는 동적 웹 페이지를 쉽고 빠르게 만들 수 있도록 해주는 데 그 목적이 있으며 PHP로 작성된 코드를 HTML 코드 안에 추가하면 웹 서버는 PHP 코드를 해석하여 동적 웹 페이지를 생성합니다.
Dynamic Web Page는 서버가 사용자의 요청을 해석하고 해당 데이터를 가공하여 생성하는 웹 페이지를 의미합니다. 따라서 사용자는 상황에 따라 달라지는 웹 페이지를 볼 수 있습니다.
1. PHP 장단점
1-1. 장점
- 주요 운영체제와 대부분의 웹 서버에서 지원합니다.
- 다른 프로그래밍 언어보다 직관적으로 코드를 작성할 수 있어서 작성해야하는 코드의 양이 적습니다.
- 텍스트 처리에 특화되어 있어 HTML 문서 처리에 적합합니다.
1-2. 단점
- 간단한 사이트를 제작하기 위해 만든 언어로 복잡한 사이트를 만드는데 효율적이지 않습니다.
- 보안에 안전하지 않은 언어 구조를 가지고 있습니다.
2. 웹 프로그래밍 언어
웹 시스템 중 서버측에서 실행되는 서버 사이드 언어를 웹 프로그래밍 언어라고도 부릅니다. 이런 웹 프로그래밍 언어 중 많이 사용되는 언어에는 PHP, JSP, ASP.NET이 있습니다. PHP는 아직 소규모나 개인 사이트에 이용되고 있습니다. 이유는 JSP에 비해 보안에 취약하여 대체되고 있기 때문입니다.
언어 | 운영체제 | 웹 서버 | 제조사 | 속도 | 이식성 |
PHP | 리눅스, 윈도우 | Apache 등 | 오픈 소스 | 빠름 | 보통 |
JSP | 리눅스, 윈도우 | Tomcat, Jeus 등 | Oracle | 느림 | 좋음 |
ASP.NET | 윈도우 | IIS | Microsoft | 보통 | 나쁨 |
PHP는 웹 시스템인 클라이언트 / 서버 환경에서 동작하는 서버 사이드 스크립트 언어입니다. 첨부된 그림은 PHP의 동작 원리를 간략하게 보여줍니다.
① 클라이언트가 웹 브라우저를 통해 웹 서버에 원하는 웹 페이지를 요청합니다.
② 웹 서버는 클라이언트가 요청한 웹 페이지의 로직 및 데이터베이스와의 연동을 위해 PHP 파서(parser)에 이에 대한 처리를 요청합니다.
③ PHP 파서는 데이터베이스와의 연동이 필요하면 데이터베이스와 데이터의 처리를 수행합니다.
④ PHP 파서는 웹 페이지의 로직 및 데이터베이스와의 작업 처리 결과를 웹 서버로 전달합니다.
⑤ 웹 서버는 전달받은 데이터로 웹 페이지를 완성하여 사용자에게 응답을 전송합니다.
3. PHP 코드영역
PHP 코드는 웹 페이지의 어느 부분에나 위치할 수 있습니다. 따라서 PHP 파서가 PHP 코드를 인식하기 위해서는 그 시작과 끝을 알려줄 필요가 있습니다. PHP 코드 영역을 알려주는 방식에는 다음 예시가 있습니다.
1. PHP 권장 스타일 : <?php ... ?>
2. HTML 스크립트 스타일 : <script language = "php"> ... </script>
3. SGML 스타일 : <? ... ?>
4. ASP 스타일 : <% ... %>
그러나 주의할 점이 있습니다. PHP 권장 스타일과 HTML 스크립트 스타일은 그 어떤 상황에서도 정확히 인식되지만 SGML 스타일과 ASP 스타일은 PHP.ini 설정 파일의 특정 태그를 활성화했을 경우에만 정확히 인식이 됩니다. 따라서 서버별 이식성 문제 등을 피하기 위해 PHP 권장 스타일을 사용하는 것을 권장합니다.
<?php
echo "Hello, PHP";
?>
PHP는 C언어를 기반으로 만들어졌기 때문에 마지막은 세미클론으로 종료됩니다. 그러나 JS 처럼 꼭 세미클론을 붙히지 않아도 자동으로 세미클론을 적용하기 때문에 아래의 예제도 정상적으로 동작합니다.
<?php
echo "Hello, PHP"
?>
그리고 EJS와 다르게 종료영역을 생략할 수 있습니다.
<?php
echo "Hello, PHP";
코드를 작성하다보면 필연적으로 주석을 사용하게 됩니다. 주석이란 코드 내에 삽입된 일종의 설명문입니다. 언어별로 주석을 사용하는 방법은 다르며 PHP는 다음과 같은 주석스타일을 사용할 수 있습니다.
1. 한 줄 C언어 스타일 : //주석문
2. 여러 줄 C언어 스타일 : /*주석문*/
3. 한 줄 쉘 스타일 : #주석문
PHP의 출력에 있어서 가장 중요한것은 echo() 함수일 것입니다. echo() 함수는 C언어의 출력문과 같이 HTML 스트림에 문자열을 출력합니다. 이런 echo() 함수는 실제 함수가 아니므로 인수를 전달할 때 괄호를 사용해도 되고 생략할 수 있습니다. 그리고 주의할 점으로 가변 길이 인수와 함수 문맥으로 사용할 수 없습니다. 또한 두 개 이상의 인수를 전달할 때는 반드시 괄호를 사용하지 않아야 합니다.
특징으로 PHP는 키워드, 클래스, 함수, 사용자 함수 이름의 대소문자를 구분하지 않습니다. 따라서 ECHO나 echo나 모두 같은 동작을 실행합니다. 다음은 예시입니다.
<?php
echo "Hello, PHP";
echo ("단순 인수를 전달에는 가로는 무관합니다!<br>");
ECHO "대소문자 구분을 하지않습니다!";
echo "a","b";
?>
'PHP' 카테고리의 다른 글
[PHP] 기타 제어문과 연관 배열 (0) | 2023.03.02 |
---|---|
[PHP] PHP 연산자 (2) (0) | 2023.02.28 |
[PHP] PHP 연산자 (1) (0) | 2023.02.28 |
[PHP] PHP 상수 (0) | 2023.02.28 |
[PHP] PHP 변수 (0) | 2023.02.27 |