PHP는 다른 프로그래밍 언어와 달리 도구(Tool)로서 만들어졌다 프로그래밍 언어로 발달한 특이한 경우이기 때문에 PHP를 다른 프로그래밍 언어의 시각에서 바라보면 이해하기 힘든 측면이 많다. PHP가 어떤 관점에서 문제를 해결하기 위한 방법을 제공하는지는 초기의 PHP인 PHP/FI 소스 코드를 살펴보면 알 수 있다.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
<!--include /text/header.html-->

<!--getenv HTTP_USER_AGENT-->
<!--ifsubstr $exec_result Mozilla-->
  Hey, you are using Netscape!<p>
<!--endif-->

<!--sql database select * from table where user='$username'-->
<!--ifless $numentries 1-->
  Sorry, that record does not exist<p>
<!--endif exit-->
  Welcome <!--$user-->!<p>
  You have <!--$index:0--> credits left in your account.<p>

<!--include /text/footer.html-->

PHP/FI 소스 코드를 보면 PHP로 HTML을 출력하는 것이 아니라 HTML 출력을 제어하는 코드로서 PHP가 존재하고 있다. MVC에 비유하자면 뷰(View) 안에 모든 것을 다 집어넣었다고 볼 수 있는데, 요즘처럼 웹이 크고 복잡하지 않았기 때문에 저 당시로서는 매우 손쉽고 빠르게 동적 웹페이지를 개발하는데 유용했으리라는 것을 짐작 할 수 있다.

이처럼 PHP는 순수한 정적 HTML 페이지에 로직을 추가 할 수 있는 개념으로서 만들어졌던 것이고, 그 흔적은 아직도 <?php ...code... ?> 같은 다른 프로그래밍 언어 사용자들이 보기에는 불필요하고 불편한 기능으로 남아있다. 하지만 이런 점 때문에 PHP는 HTML에 로직을 섞어쓰는게 합리적인 선택인 경우에 다른 서버 사이드 웹프로그래밍 언어보다 효율적이라고 볼 수 있다.

웹이 성장하면서 이렇게 HTML 안에 각종 코드를 적는 것이 더 이상 권장 할만한 방법이 아니게 되었지만, PHP의 이런 관점에 대해 한 번쯤은 알아두는 것이 PHP를 사용하든 하지않든 꼭 필요한 일이라 생각한다.