2024년에 PHP를 다시 돌아보며 느낀 점들

PHP는 웹 개발에 오랫동안 사용되어온 언어로, 간단한 웹사이트부터 복잡한 웹 애플리케이션까지 다양하게 활용될 수 있습니다. SSR(Server-Side Rendering)을 기본적으로 지원하며, 저렴한 웹호스팅에서도 구동 가능해 제작 비용을 절감할 수 있습니다. 또한 내장 기능이 풍부해 라이브러리 의존도가 낮은 편입니다.

2024년에 PHP를 다시 돌아보며 느낀 점들
Photo by Ben Griffiths / Unsplash

과거에는 홈페이지를 만든다고 하면, 으례 방명록과 게시판을 달기 쉽상이었고, 그때 가장 인기 있었던 것이 제로보드였습니다.

그땐 PHP가 뭔지도 모르고 그저 단순히 HTML, CSS를 겨우 만지작거리던 수준에서 가지고 놀았었습니다. 그러다가 본격적으로 PHP에 대해서 관심을 갖게된 건 워드프레스때문이었습니다.


워드프레스는 혼자서도 홈페이지를 만들기에 참 훌륭한 도구입니다. 다만, 제한된 기능 안에서만 움직여야한다는 점이 아쉽게 다가오곤 했습니다.

그래서 2018년즈음에는 학원에서 직장인을 대상으로 한, 2달짜리  PHP 단과과정을 잠깐 들었었습니다.

그때 처음 객체지향 프로그래밍 , MVC 패턴 같은 것들을 접했습니다. PHP를 배우는것 이상으로 객체지향 프로그래밍이라는걸 처음 접했던 경험이라, 그 부분이 참 도움이 되었던 것 같습니다.


그 뒤로 모던 자바스크립트가 급부상하게 되면서 node.js리액트와 같은 혁신적인 도구들에 더 관심이 쏠린 덕분에 PHP는 뒷전이 되었습니다.

아무래도 PHP는 언어가 후졌다는 인식때문에 더더욱 외면하게 되었었죠. 그런데 최근에는 PHP에 관심이 가기 시작했습니다.

일단 제가  PHP에 대해서 매력을 느낀 점들은 아래와 같습니다.


SSR? PHP가 원래부터 하던 일이었다.

최근 자바스크립트를 기반으로 NEXT.js를 활용하는 사례들이 많습니다. 나름 기술에 대해서 트렌디하게 적용된다는 곳에서 정말 많이 쓰이는 것이 리액트 기반으로 SSR이 가능한 NEXT.js입니다.

그런데 개인적으로 React/ NEXT.js 는 공부하다보면 버전이 바뀌어있고, 강의들으면서 따라 진행하다보면 latest 버전으로 설치했다가 낭패를 보는 경우가 종종 일어났습니다. 더군다나 라이브러리와 리액트/넥스트.js의 버전이 맞지 않으면 벌어지는 여러가지 이슈, 게다가 버그도 잦았죠.


NEXT.js를 쓰는 가장 큰 이유는 SSR인데 버그도 많고, 버전도 자주 바뀌고, Page라우팅 방식에서 App라우팅 방식으로 바뀌는 등, 새로운 개념으로 해마다 다르게 바뀌는 NEXT.js를 따라간다는게 정말 학습하는 사람으로서는 버거운 느낌을 지우기 어렵습니다.

그에 비해서 PHP는 기본이 SSR이니까 그런 스트레스는 없습니다.  구닥다리라고 느낄지 모르지만, 지나치게 빠르게 변화하는 것보다, 오래토록 안정적인 것도 나쁘지 않다고 여겨지는 요즘입니다.


PHP는 정말 아무데서나 돌아간다.

PHP의 가장 큰 장점 중 하나가 시쳇말로 월 500원짜리 웹호스팅에서 돌아간다는 것입니다.  기본적으로 아주 저렴하게 서비스되는 웹호스팅들을 보면 거의 Linux/ Apache / MySQL(MariaDB)/ PHP 환경은 기본적으로 제공됩니다.

NEXT.jsREACT.jsvercel이나 netlify와 같은 서비스로 처음엔 무료로 시작할 수 있기는 합니다만, 어딘가 종속된다는 느낌을 지우기 어려운데, PHP는 그에 비하면 꽤 자유로운 폭넓은 선택지가 존재합니다.


express.js와 같은 프레임워크를 사용한다면, 배포가 훨씬 더 복잡하죠. AWS와 같은 서비스를 추가로 공부하지 않는 이상 단순하게 배포하기는 어렵습니다.

물론 PHP라라벨과 같은 프레임워크를 사용한다면, 단순하게 저렴한 웹호스팅에 서비스한다는게 좀 무리가 따르긴 합니다만, 아주 간단한 랜딩페이지에 폼을 제공하는 수준의 서비스를 만든다면, PHP만큼 단순하고 강력한 도구도 없는 것 같습니다.


PHP는 취업이 목표가 아닌 사람에겐 꽤 훌륭한 도구이다.

사실 PHP를 다시 돌아보게 된 이유는 이게 가장 컸습니다. PHP의 점유율은 전세계적으로 봤을때 76.2%의 점유율을 보이고 있습니다.

Usage Statistics and Market Share of PHP for Websites, May 2024
How many websites are using PHP

하지만 우리나라는 뭐니뭐니해도 자바죠.

취업이 목표라면 PHP자바에 비해서 대우나 일자리가 그리 좋은 선택지가 아닙니다.

대기업에서는 라라벨을 사용한다고 하지만, 개인적인 생각으로 라라벨과 같은 모던한 프레임워크를 다룰 정도의 PHP 개발자라면 이미 JAVA도 할 줄 알고, 그냥 어느정도 경지(?)에 다다른 사람일 경우인 것 같습니다. PHP 하나만 하는 사람은 아닐거라고 생각하는거죠


그런데 PHP는 중소기업을 대상으로 한다면, 꽤 괜찮은 언어입니다.

통계상 우리나라 기업의 99%는 중소기업입니다.

대기업/공공기관 또는 대기업 하청/협력업체 등을 목표로 한다면 JAVA가 현실적인 대안일테지만, 중소기업을 상대로 가벼운 홈페이지를 만들어주는 일이라면, 꽤 훌륭한 언어가 PHP라고 생각합니다.

취직보다는 아르바이트나 소소한 규모의 작은 Side hustle 에 목표를 둔다면 말이죠. 개인적으로는 이쪽을 염두에 두고 있어서 PHP를 다시 눈여겨보게 되었습니다.


PHP는 웬만한것은 다 내장되어있습니다.

express.jsNext.js 같은 것으로 웹사이트를 만들때는 뭔가 많은 라이브러리를 찾아서 깔아야하고, 그 라이브러리 특징을 파악하고 익숙해지는데까지 시간이 필요합니다.

그런데 또 유행이 바뀌고(?) 서로 이거써라 저거써라 추천하는데 휩쓸려서 라이브러리를 찾아 방황하다보면, 개발을 하는건지 라이브러리 체험단(?)을 하는건지 모를정도로 혼란을 겪곤합니다.


그런데 PHP자바스크립트에 비하면 내장된 기능들이 이미 꽤 쓸만한 것들이 많습니다. validation 체크할때나, 데이터베이스 관련된 것 등등 PHP 자체적으로 해결되는 것들이 자바스크립트보다는 많습니다. 그래서 아직 학습도중이라 섵부른 판단일 수 있지만, 라이브러리를 찾아서 헤매던 스트레스는 자바스크립트보다 덜한 것 같습니다.


종합적으로 보자면 PHP 의 장점은 아래와 같습니다

  • SSR에 대한 고민 필요 없음
  • 저렴한 웹호스팅에서도 동작(제작 예산절감)
  • 오래토록 사용된 신뢰도 높은 언어

물론 단점도 있습니다.

  • 문제 있는 레거시 코드가 많아 참고 자료가 많은데도 불구하고 쓸만한 자료는 드물다는 문제
  • 높은 자유도가 보안 이슈로 연결되기 쉽다는 문제
  • 국내 특성상 타 언어에 비해 상대적으로 낮은 임금
  • 위의 단점들로 인해 생겨난 PHP라는 언어에 대한 부정적인 인식