본문 바로가기
PHP

PHP 시작

by MIRO_O 2022. 5. 17.

PHP (Hypertext Preprocessor) 이란?

PHP 란 C언어를 토대로 만들어진 서버 측에서 실행되는 서버 사이드 스크립트 언어(server-side script) 이다.

원래는 동적인 웹 페이지를 만들기 위해 설계 되었다. 

HTML 소스 문서 안애 PHP로 작성된 코드가 있으면, 웹 서버는 해당 PHP 코드를 해석하여 자동으로 HTMl 문서를 생성한다.

이에따라 PHP를 사용하면 동적으로 빠르게 HTML 문서를 만들 수 있다.

 

* 스크립트(Script) 언어 : 소스 코드를 컴파일하지 않고도 실행할 수 있는 프로그래밍 언어

                                일반적으로 빠른 성능이 필요하지 않은 웹 애플리케이션을 만드는데 이용된다.

                                크게 서버사이드 스크립트 / 클라이언트 사이드 스크립트로 구분된다.

                             

서버 사이드 (Server-Side) 

서버 (제공자) 쪽에서 수행하는 처리를 의미한다.

브라우저에서 요청한 HTMl문서에 서버 사이드 스크립트 언어가 포함되어 있다면, 서버사이드 스크립트 부분을 서버가 처리하여 처리 결과를 브라우저에 보낸다. 

서버 사이드는 클라이언트로 보내기 위한 HTML, javascript 등이 담긴 웹 페이지를 만든다.

더불어 사용자 유효성, DB 관련된 작업들도 수행한다.

대표적인 서버 사이드 스크립트 언어로는, ASP, PHP, JSP, PYTHON, PERL, RUBY 등이 있다.

( 서버 사이드 언어를 중점으로 다루는 개발자를 백엔드라 부른다. )

 

클라이언트 사이드 (Client-Side)

클라이언트 (사용자) 쪽에서 수행하는 처리를 의미한다.

클라이언트가 입력한 것을 수신해 HTML 로 만들어 웹 브라우저에 띄울 수 있다.

클라이언트 사이드에서 자주 사용되는 스크립트 언에로는 JavaScript, VBScript, JScript 등이 있다.

( 클라이언트 사이드 언어를 중점으로 다루는 개발자를 프론트 엔트라 부른다. )

 

php 장단점

장점 단점
오픈 소스로 무료이다
( 공식 PHP 리소스에서 다운로드: www.php.net)
실시간으로 처리해야하는 경우 적합하지 않다.
모든 운영 체제에서 구현이 가능하며, 웹 브라우저의 버전과 종류에 영향을 받지 않는다. 작은 프로젝트에 간단한 동적 사이트를 위한 언어기 때문에, 복잡한 사이트 제작에 있어서는 효율적이지 않다.
광범위한 데이터베이스를 지원한다 (MySQL, mSQL, Oracle, Sybase...)  보안에 안전하지 않은 언어 구조를 가졌다.(??)
코드 작성이 비교적 쉬우며 문법이 간단하다. 코드가 직관적이다 PHP 의 처음 의도는 간견함이었지만 업데이트 할수록 코드가 방대해져 처음 의도한 모습이 사라졌다
인터프리터 방식으로 처리속도가 빠르다.( 높은 생산성)  
프로그램 코드가 보여지지 않기때문에 자바스크립트에 비해 보안성이 뛰어나다  
텍스트 처리에 있어 HTML 문서처리에 용이한 언어이다  
배우기 쉬우며 서버측에서 효율적으로 실행된다.  
거의 모든 서버와 호환된다 (Apache, IIS)  

 

PHP 파일

PHP 파일에는 텍스트, HTML, CSS, JAvascript, PHP 코드를 포함할 수 있다.

PHP 코드는 서버에서 실행되며, 결과는 일반 HTML 으로 브라우저에 나타난다.

PHP 파일의 확장자는" .php" 이다.

 

PHP를 사용해 할 수 있는 것들...

동적 체이지 컨텐츠를 생성할 수 있다.

서버에서 파일에 대한 Create, open, read, write, delete, close  등을 할 수 있다.

Form 데이터를 수집할 수 있다.

데이터베이스에서 데이터를 추가, 수정, 삭제하는것이 가능하다.

쿠키 (Cookies)를 보내거나 받을 수 있다.

사용자 접근(User-Access)을 제어할 수 있다.

데이터를 암호화 (encrypt) 할 수 있다.

 

'PHP' 카테고리의 다른 글

[PHP] 줄 바꿈 상수 PHP_EOL 사용해보기  (0) 2022.08.09
[PHP] 한국 시간 설정하기 / php.ini /timezone  (0) 2022.08.09
[PHP] var_dump() 함수  (2) 2022.05.31