soominkim Study
article thumbnail
Published 2023. 2. 27. 20:50
[PHP] PHP 개요 PHP
728x90

 

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 동작원리

① 클라이언트가 웹 브라우저를 통해 웹 서버에 원하는 웹 페이지를 요청합니다.

② 웹 서버는 클라이언트가 요청한 웹 페이지의 로직 및 데이터베이스와의 연동을 위해 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";
?>
728x90

'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
profile

soominkim Study

@soominkim

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

검색 태그