
현재 우리는 총 4개의 웹 페이지로 이루어져 있는 사이트를 보고 있습니다. 여기서 우리가 웹 페이지를 하나 추가해보겠습니다. 그런데, 상상력을 발휘해야겠습니다. 현재 우리 사이트의 웹 페이지가 1억 개라고 꼭 상상해주세요. 그러면 1억 개의 리스트가 있는 상황에서 단 하나의 웹 페이지를 추가했을 때 어떤 절망감을 느끼게 될 것인지를 상상력으로 시뮬레이션 해봅시다.

4.html 이라는 파일에 PHP 에 대한 내용을 추가했습니다. 그리고 이 새로운 html 을 우리의 웹 사이트에 추가하려고 합니다. 그러면 당연히 우리의 웹 페이지 리스트에 새로운 웹 페이지로 이동하는 링크를 생성해주어야하고, 그것 뿐만이 아니라 1억 개의 모든 웹 페이지의 페이지 리스트를 업데이트 해주어야 합니다. 어떤가요..? 정말 괴롭지 않을까요? 심지어 이런 페이지 수정이 자주 일어난다면..?
즉, 웹 페이지가 커질수록 순수 HTML 만으로는 복잡성을 감당하기 어려운 수준으로 넘어가게 됩니다. 이러한 생산성의 한계에서 충분히 절망한 사람에게 PHP 와 같은 기술이 주어진다면 그 사람은 행복해질 것입니다.

현재 이 페이지는 PHP 가 도입된 상태입니다. 외부적으로 보기에는 전혀 달라진 것이 없는 페이지입니다. 이게 중요합니다. 외부적으로는 달라진 것이 없지만 내부적으로는 큰 차이가 생겨났다면 그 기술은 도입해볼 만한 기술일 확률이 높기 때문입니다.

위 페이지에서 3개의 웹 페이지를 링크를 통해서 표현하고 있었는데, 이전과 다르게 인터넷 주소과 달라진 것을 확인할 수 있습니다. 화면에 표시되는 것은 전혀 달라진 것이 없었는데 말이죠. 그런데 몇 개의 파일로 3개의 웹 페이지를 표현하고 있나요? 정답은 1개 입니다.
바로 index.php 라는 단 하나의 파일로 3개의 웹 페이지를 표현하고 있습니다. 그리고 하나의 웹 페이지가 id 에 따라서 여러 페이지를 표현하고 있습니다. 즉 찍어내고 있다는 말입니다. 이것이 PHP 가 갖는 중요한 효과입니다.
우리가 1억 개의 웹 페이지가 있더라도, 여러 번 웹 페이지 리스트의 수정이 이루어지더라도 우리는 하나의 페이지로 1억 개의 페이지를 구현하고 있었기 때문에 하나의 페이지만 수정하면 1억 개의 페이지가 수정되는 정말 엄청난 효과를 가질 수 있게 되었습니다.

이것이 PHP 의 문법입니다. 우리가 아직 PHP 문법을 배우지는 않았기 때문에 문법은 무시하고 구성만 보겠습니다. data 라는 폴더 아래에 HTML, CSS, JavaScript 라는 폴더가 있습니다.

그리고 각각의 파일 안에는 HTML 의 본문만, CSS 의 본문만, JavaScript 의 본문만 들어있는 것을 확인할 수 있습니다. 그리고 제가 data 라는 저기에다 PHP 라는 파일을 추가해봅시다.

놀랍게도 php 라는 파일만 추가했을 뿐인데 웹 페이지 리스트에 PHP 라는 새로운 목록이 추가가 되었고 PHP 를 클릭하면 PHP 에 대한 설명이 추가되어있고, 심지어 다른 웹 페이지의 페이지 리스트도 자동으로 업데이트가 되어 있는 것을 확인할 수 있습니다. 즉, 우리가 새로운 페이지를 추가하고 싶다면 우리가 추가하고 싶은 파일만 생성한 다음 넣어주고 싶은 본문만 적으면 자동으로 나머지 작업이 처리되는 폭발적인 효과를 얻을 수 있게 된다는 것입니다.
우리가 PHP 라는 기술을 도입하면 1억 개의 웹 페이지로 구성된 웹 사이트에 하나의 웹 페이지를 추가하는 것이 아무런 일이 아니게 됩니다. 이미 1억 개 웹 페이지로 구성된 웹 사이트에 공통적으로 바꾸고 싶은 내용이 있다면 index.php 라는 단 하나의 HTML 파일을 수정하게 되면 1억 개 웹 페이지 전부가 다 바뀌는 정말 폭발적인 효과를 얻을 수 있게 됩니다.
어떤가요? 순수한 HTML 로 구성된 홈페이지와 PHP 를 도입한 홈페이지는 생산성이 비약적으로 향상된다는 것이 이해가 된다면, 그리고 어떻게 향상 되는지에대해 궁금하다면 여러분은 우리 수업을 들을 준비가 된 것이라고 볼 수 있습니다.
출처 : 생활코딩 https://opentutorials.org/course/3130
'[생활코딩] Server > WEB2-PHP' 카테고리의 다른 글
| 1. 수업 소개 (0) | 2023.07.10 |
|---|