PHP와 Laravel

2022-03-16 22:27:32
Won Reeh

인터넷에서는 PHP를 조롱하거나 무시하는 경우가 많다.

그러나 모두가 알다시피 전세계적으로 무수히 많은 사이트가 PHP로 구축되어 있다. 과거의 날코딩이나 HTML과 로직이 뒤죽박죽되는 개발방식을 버리고, 모던 PHP 개념을 따르게 되면 완성도 높은 웹서비스를 구현할 수 있다. 특히 PHP 8.0 부터는 정말 좋아졌다.

내가 PHP를 처음 시작한 때를 떠올려보면... 2000년대 초반. 초고속 인터넷 붐과 개인 홈페이지 개발이 유행을 하던 시절이었다.

홈페이지에 방명록이나 게시판 등을 달기위해서는 링크만 하면 되는 '슈퍼보드'같은 무료게시판이 존재했었고,

이보다 한 단계 수준을 높이려면 CGI를 지원하는 호스팅서비스에 CGI방식으로 구현된 오픈소스들을 가져다가 설치하곤 했다.

그러다가는 문득 내가 직접 만들어야겠다는 생각이 들었고, 서점에 가서 책을 한권 구입 하였다.

그 책의 제목은 클릭하세요 CGI와 PHP (윤석범 저; 대림; 1999) 이었다.

클릭하세요 CGI와 PHP

  • 이미지 출처: 알라딘

이 책의 분량을 보면 Perl CGI가 거의 70% 였었고 30% 정도가 PHP에 대한 내용이었다. 사실 이때는 PHP가 뭔지 잘 몰랐었고 CGI라는 단어만 보고 구입한 책이었다. 그런데 몇일 간 책을 보면서 공부를 하다보니 Perl 보다 PHP가 어딘가 모르게 훨씬 좋아 보이는 것이었다.

실제 실행을 해봐도 CGI는 뭔가 조금만 잘못해도 무작정 500 에러를 띄우는데 비해서, PHP는 훨씬 유연하게 동작 되었다.

재미난 점은 입문자에게는 장점인 이 유연함이 나중에는 단점이 되어버린다.

그렇게 책을 통해 PHP의 기본기를 익히고나서는 PHPSCHOOL에서 정보를 얻으며 방명록, 게시판, 카운터, 투표, 회원관리 등 이런 것들을 하나씩 만들었고, 'Kerz Board'라는 식의 이름을 붙여가며 나만의 솔루션을 만드는 즐거운 시간들을 보냈었다. 그 후로 JSP, ASP도 맛을 조금씩 보긴했지만, 여러가지 사정으로 웹개발에 흥미를 잃게 되었다.

세월이 흘러.. 나는 공공도서관에서 일을 하게 되었다. 그리고 어느날 새로 들어온 책 중에서 라라벨(Laravel) 과 관련된 책을 우연히 보게 되었다.

그 책은 라라벨로 배우는 실전 PHP 웹 프로그래밍 (김주원 저; 제이펍; 2016) 이라는 책이었는데, 대충 훑어 본 것 만으로도 내가 알고 있던 PHP와는 다른 모습이었고, 라라벨 프레임워크가 굉장히 멋지다는 생각이 들었다.

일단 한권 소장해야겠다는 마음이 들어서 부랴부랴 구매를 하였지만, 공공도서관에서의 나의 업무는 IT 인프라 운영관리가 주력이라 개발과는 거리가 멀었고, 한동안 먹고 살기 바빠서 취미삼아라도 볼 일이 없었다. 거실의 책장에 꽃혀 먼지만 쌓여가고 있었다.

그러던 어느날, 오랜만에 1인 개발로 웹서비스를 구축해야 할 일이 생겼다. 어떤 프레임워크를 선택할까 하던 도중 가장 먼저 생각난 것이 라라벨이었다. 스프링은 괜히 장황한 느낌이고, 간편하고 혼자 빠르게 개발하기에는 라라벨이 좋아 보였다. 그리곤 책장에 꽂혀있던 그 책을 다시 꺼내 들었다.

그렇게 마주하게 된 라라벨은 커다란 만족감을 주었다. 서비스에 필요할 만한 요소들은 프레임워크안에 대부분 내장되어있고 간단히 적용가능한 패키지들이 많았다. 인증, 스케쥴러, 큐, 워커 등도 내장 되어있는 진정한 의미의 풀 스택 프레임워크 였다.

혼자서 프론트엔드/백엔드를 나눠서 만들게 되면 회의감이 들 때가 있다. 2인 이상이 할 때는 REST API의 강점이 있지만, 혼자 개발 하는 경우에는 한 단계가 레이어가 더 추가 되는 느낌이다. 그런데 라라벨과 Inertia를 결합하면 REST API없이 Vue나 React 화면을 라라벨의 데이터와 쉽게 연동하여 동적으로 갱신 할 수 있다.

물론 인원을 충원할 계획이라면 귀찮아도 분리해서 개발하는게 좋을 수 있다. 하지만 빠른 결과물이 목적이라면 Inertia를 추천하고 싶다.

아무튼, 모두의 우려와는 달리 PHP는 건재하며, 라라벨은 완성도 높은 프레임워크라는 것이다.