본문 바로가기

코딩공부/WEB2 - PHP

PHP 등장 & 수업의 목적

아래 사이트에는 순사한 HTML로 index.html, 1~3.html 총 4개의 웹페이지로 이루어져 있다. 총 1억 개의 페이지가 있다고 상상해보자

하나의 페이지를 추가한다면??

각 페이지의 목록마다 수작업으로 새로 추가한 4.html 파일의 링크를 추가해줘야한다. n개의 페이지가 있다면 n번 반복 작업 필요.

HTML의 불만

html을 직접 타이핑해서 웹페이지를 수동으로 만드는 것에 지쳤다.

사이트 방분자에게 웹페이지가 보관된 폴더를 공개할 수 없었기 때문에, 웹사이트의 소유자만이 콘텐츠를 생산할 수 있었다.

=> "html 작성을 기계에게 시키고 싶다."

이런 맥락에서 PHP, JSP, ASP, Django, Ruby on Rails, Node.js 기술들이 출현

 

사이트의 운영자가 컨텐츠의 내용을 작성해서 php에게 넘기면 php는 사용자 대신에 컨텐츠를 html로 자동으로 만들어진다.

사이트 운영자는 컨텐츠에 전념할 수 있게 된다.

 

PHP의 목표

웹페이지가 많아질수록, 웹사이트의 규모가 커질수록 순수한 html만으로는 점점 커지는 규모의 복잡성, 생산성의 한계에 직면하게 된다.

이러한 생산성의 한계를 php로 극복할 수 있다.

PHP를 이용해서 웹페이지를 만들면, 사용자에게는 똑같이 보이지만 내부적으로는 훨씬 더 효율적으로 바뀌었다.

 

최종적으로 3개의 웹페이지를 다음의 URL로 보여줄 수 있다. 1개의 파일(index.html)로 3개의 웹페이지를 표현하고 있다.

단 하나의 파일인 index.php 파일이 id값으로 들어온 값에 따라서 서로 다른 웹페이지를 출력하고 있다.

http://127.0.0.1/index.php?id=coffee
http://127.0.0.1/index.php?id=tea
http://127.0.0.1/index.php?id=bread

 

PHP가 적용된 사이트이다. index.php 파일의 내용이다.

index.php

 

 index.php 라는 단 하나의 파일만 있고, data 디렉터리에 CSS, HTML, JavaScript라는 3개의 파일이 들어있다. 그리고 각 파일에는 본문 내용만 저장되어 있다.

 

data 디렉터리에 PHP 파일의 본문 내용만 적어서 추가를 하고, index.php 페이지를 reload 해보면 자동으로 글 목록에 PHP가 추가되고 목록을 클릭하면 PHP 본문이 출력되는 것을 확인할 수 있다.

 

새로운 페이지를 추가하고 싶다면 'data'라는 디렉터리 안에다가 추가하고 싶은 파일을 본문 내용만 작성해서 저장하면, index.html에 새로 추가한 파일이 목록에 추가된다. 몇 개의 웹페이지가 존재하던지 새로 추가하나 파일의 항목이 모든 웹페이지에 추가되는 폭발적인 효과를 얻게 된다. => PHP 기술을 도입하면 생산성이 비약적으로 향상된다.