백엔드/PHP [PHP] PHP 정의 2022. 2. 26. 19:25

백엔드/PHP [PHP] PHP 정의 2022. 2. 26. 19:25

들어가기전

 

코딩교육 티씨피스쿨

4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등

tcpschool.com

※ 이 문서는 위 사이트의 최종 문서를 기준으로 설명하고 있는 글입니다. 각 버전마다 차이점이 존재할 수 있습니다.

 

PHP란 무엇인가?

 

PHP(PHP: Hypertext Proccesser PHP: 하이퍼텍스트 프리프로세서)라는 프로그래밍의 일종입니다. 

본래의 기능으로는 동적인 웹 페이지를 만들기 위해 설계되었으며 이를 구현하기 위해서 PHP로 

 

작성된 코드를 HTML 소스 문서안에만 넣으면 PHP 기능이 있는 웹 서버에서 해당 코드를 인식하여 

작성자가 원하는 웹 페이지를 생성할 수 있습니다. 

 

웹 시스템(web System)

우리가 매일 사용하고 있는 인터넷에는 인터넷을 구성하는 시스템인 웹 시스템(web system)이 있습니다.

이러한 웹 시스템에는 다음 그림과 같은 클라이언트(client)와 서버(Server)로 구성됩니다.

서버(Server)를 간단하게 설명하자면 웹 서비스를 제공해주는 컴퓨터를 의미하고 

클라이언트(Client)란 서버가 제공해주는 웹 서비스를 이용해 사용자 또는 사용자의 기기(브라우저)를 

지원 해주는 도구 입니다. 


클라이언트 사이드와 서버 사이드

웹 시스템에서의 처리는 클라이언트와 서버 중 어느 쪽에서 수행되는 작업인가에

따라서 다음과 같이 구분할 수 있는데

  • 클라이언트 사이드(client-side)
  • 서버 사이드(server-side)

클라이언트 사이드(Client-side)란 클라이언트 측에서 수행하는 처리를 의미합니다. 

웹 시스템에서 브라우저는 서버에서 수신한 HTML 문서를 해석해 사용자의 화면에 그려주는 역할을 담당합니다. 이러한 클라이언트 사이드에서 자주 사용되는 스크립트 언어로는 JS를 대표적으로 뽑을 수 있습니다.

 

서버 사이드(Server-side)란 서버 측에서 수행하는 처리를 의미합니다.

브라우저가 요청한 HTML 문서에 서버 사이드 스크립트 언어의 코드가 포함되 있다면, 서버는 이러한 부분을 

자신이 처리하고 그 결과를 브라우저에 보내주는 역할을 합니다.


그래서 PHP란?

PHP(PHP: Hypertext Preprocessor)는 C언어를 기반으로 만들어진 서버 측에서 실행되는 서버 사이드 스크립트 언어로 동적인 웹 페이지를 쉽고 빠르게 만들 수 있도록 해주는 데 목적을 두고 있습니다.

 

PHP로 작성된 코드를 HTML 코드안에 추가한다면, 웹 서버에서는 해당 PHP 코드를 해석한 뒤 

동적인 웹 페이지를 생성합니다.


PHP의 특징

PHP에는 다음과 같은 장점을 가지고 있는데

  • 주요 운영체제와 대부분의 웹 서버에서 제공 
  • 다른 프로그래밍 언어보다 직관적으로 코드를 작성할 수 있어, 작성해야 하는 코드량이 적음 
  • 텍스트 처리에 특화되어 HTML 문서 처리에 적합

반면 단점으로는 

  • 간단한 사이트를 제작하기 위해 만든 언어로써 복잡한 사이트를 만들때에는 효율적이지 못함 
  • 보안에 안전하지 않은 언어 구조를 가지고 있음 

PHP의 동작 원리

웹 프로그래밍 언어

 

웹 시스템 중 서버 측에서 실행되는 서버 사이드 언어를 웹 프로그래밍 언어라고도 부릅니다.

이러한 웹 프로그래밍 언어 중 가장 많이 사용되는 언어로는

  • PHP
  • JSP
  • ASP.NET

예전만 해도 많은 상업용 사이트에서 PHP를 사용했지만, 보안 상 취약점으로 인한 JSP나 ASP.NET으로 대체되고 있습니다. 하지만 아직도 소규모 기업이나 개인 사이트에는 대부분의 사이트가 PHP를 사용하고 있는 경우도 드물게 있습니다.

 

언어 운영체제 웹 서버 제조사 속도 이식성
PHP 리눅스,윈도우 Apache 등 오픈 소스 빠름 보통
JSP 리눅스,윈도우 Tomcat,Jeus 등 Oracle 느림 좋음
ASP.NET 윈도우 IIS Microsoft 보통 나쁨

 

PHP는 웹 시스템인 클라이언트 / 서버 환경에서 동작하는 서버 사이드 스크립트로써 

다음 그림에서는 PHP의 동작 원리를 보여주는 그림입니다.

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

② : 웹 서버는 클라이언트가 요청한 웹 페이지의 로직 및 데이터베이스와의 연동을 위해 PHP 파서(parser)에 이에 대한 처리를 요청합니다.

③ : 이때 PHP 파서는 데이터베이스와의 연동이 필요하면 데이터베이스와 데이터의 처리를 수행합니다.

④ : PHP 파서는 웹 페이지의 로직 및 데이터베이스와의 작업 처리 결과를 웹 서버로 전달합니다.

⑤ : 웹 서버는 전달받은 데이터로 웹 페이지를 완성하여 웹 브라우저로 응답을 전송합니다.

 

PHP 문법 

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 World";
?>

들어가기전

 

코딩교육 티씨피스쿨

4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등

tcpschool.com

※ 이 문서는 위 사이트의 최종 문서를 기준으로 설명하고 있는 글입니다. 각 버전마다 차이점이 존재할 수 있습니다.

 

PHP란 무엇인가?

 

PHP(PHP: Hypertext Proccesser PHP: 하이퍼텍스트 프리프로세서)라는 프로그래밍의 일종입니다. 

본래의 기능으로는 동적인 웹 페이지를 만들기 위해 설계되었으며 이를 구현하기 위해서 PHP로 

 

작성된 코드를 HTML 소스 문서안에만 넣으면 PHP 기능이 있는 웹 서버에서 해당 코드를 인식하여 

작성자가 원하는 웹 페이지를 생성할 수 있습니다. 

 

웹 시스템(web System)

우리가 매일 사용하고 있는 인터넷에는 인터넷을 구성하는 시스템인 웹 시스템(web system)이 있습니다.

이러한 웹 시스템에는 다음 그림과 같은 클라이언트(client)와 서버(Server)로 구성됩니다.

서버(Server)를 간단하게 설명하자면 웹 서비스를 제공해주는 컴퓨터를 의미하고 

클라이언트(Client)란 서버가 제공해주는 웹 서비스를 이용해 사용자 또는 사용자의 기기(브라우저)를 

지원 해주는 도구 입니다. 


클라이언트 사이드와 서버 사이드

웹 시스템에서의 처리는 클라이언트와 서버 중 어느 쪽에서 수행되는 작업인가에

따라서 다음과 같이 구분할 수 있는데

  • 클라이언트 사이드(client-side)
  • 서버 사이드(server-side)

클라이언트 사이드(Client-side)란 클라이언트 측에서 수행하는 처리를 의미합니다. 

웹 시스템에서 브라우저는 서버에서 수신한 HTML 문서를 해석해 사용자의 화면에 그려주는 역할을 담당합니다. 이러한 클라이언트 사이드에서 자주 사용되는 스크립트 언어로는 JS를 대표적으로 뽑을 수 있습니다.

 

서버 사이드(Server-side)란 서버 측에서 수행하는 처리를 의미합니다.

브라우저가 요청한 HTML 문서에 서버 사이드 스크립트 언어의 코드가 포함되 있다면, 서버는 이러한 부분을 

자신이 처리하고 그 결과를 브라우저에 보내주는 역할을 합니다.


그래서 PHP란?

PHP(PHP: Hypertext Preprocessor)는 C언어를 기반으로 만들어진 서버 측에서 실행되는 서버 사이드 스크립트 언어로 동적인 웹 페이지를 쉽고 빠르게 만들 수 있도록 해주는 데 목적을 두고 있습니다.

 

PHP로 작성된 코드를 HTML 코드안에 추가한다면, 웹 서버에서는 해당 PHP 코드를 해석한 뒤 

동적인 웹 페이지를 생성합니다.


PHP의 특징

PHP에는 다음과 같은 장점을 가지고 있는데

  • 주요 운영체제와 대부분의 웹 서버에서 제공 
  • 다른 프로그래밍 언어보다 직관적으로 코드를 작성할 수 있어, 작성해야 하는 코드량이 적음 
  • 텍스트 처리에 특화되어 HTML 문서 처리에 적합

반면 단점으로는 

  • 간단한 사이트를 제작하기 위해 만든 언어로써 복잡한 사이트를 만들때에는 효율적이지 못함 
  • 보안에 안전하지 않은 언어 구조를 가지고 있음 

PHP의 동작 원리

웹 프로그래밍 언어

 

웹 시스템 중 서버 측에서 실행되는 서버 사이드 언어를 웹 프로그래밍 언어라고도 부릅니다.

이러한 웹 프로그래밍 언어 중 가장 많이 사용되는 언어로는

  • PHP
  • JSP
  • ASP.NET

예전만 해도 많은 상업용 사이트에서 PHP를 사용했지만, 보안 상 취약점으로 인한 JSP나 ASP.NET으로 대체되고 있습니다. 하지만 아직도 소규모 기업이나 개인 사이트에는 대부분의 사이트가 PHP를 사용하고 있는 경우도 드물게 있습니다.

 

언어 운영체제 웹 서버 제조사 속도 이식성
PHP 리눅스,윈도우 Apache 등 오픈 소스 빠름 보통
JSP 리눅스,윈도우 Tomcat,Jeus 등 Oracle 느림 좋음
ASP.NET 윈도우 IIS Microsoft 보통 나쁨

 

PHP는 웹 시스템인 클라이언트 / 서버 환경에서 동작하는 서버 사이드 스크립트로써 

다음 그림에서는 PHP의 동작 원리를 보여주는 그림입니다.

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

② : 웹 서버는 클라이언트가 요청한 웹 페이지의 로직 및 데이터베이스와의 연동을 위해 PHP 파서(parser)에 이에 대한 처리를 요청합니다.

③ : 이때 PHP 파서는 데이터베이스와의 연동이 필요하면 데이터베이스와 데이터의 처리를 수행합니다.

④ : PHP 파서는 웹 페이지의 로직 및 데이터베이스와의 작업 처리 결과를 웹 서버로 전달합니다.

⑤ : 웹 서버는 전달받은 데이터로 웹 페이지를 완성하여 웹 브라우저로 응답을 전송합니다.

 

PHP 문법 

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 World";
?>
Scroll to Top