이호진의 PHP 시리즈 : 넘버원


넘버원 PHP
요즘들 어서는 전공자 외에 비전공자도 프로그램에 관심이 많아지고, 초등학생부터 고등학교까지 폭넓게 컴퓨터 프로그래밍을 배우려고 하는 학생들이 많습니다. 이러한 현상은 한때의 잠시 유행이 아니라 앞으로의 미래사회 준비를 위한 갈급함일 것입니다.

프로그래밍을 배우고 이를 응용하는 것은 매우 유익하고 매력적인 분야일 것입니다. 아이폰 개발사로 알려진 애플의 창업자 故스티프잡스는 어느 TV 인터뷰에서 이런 이야기를 했습니다.

“모든 국민이 자신의 인생에서 일정기간을 할애하여 프로그래밍을 배워야 한다.”
프로그래밍은 ‘자신의 사고 과정을 보여 주는 거울’ 이며 ‘자신의 사고하는 법을 습득할 수 있는 방법’ 이라고 부연 설명하였습니다.
필자도 이 책에서 많은 사람들이 프로그래밍을 배우고 학습하고 많은 사람들과 소통을 하기 위한 다양한 방법과 기술들을 소개하는 목적이기도 합니다.

학습하기 쉬운 언어


PHP는 처음 프로그램을 접하고 학습을 하는데 매우 쉬운 언어 입니다. 간략하게 프로그램의 동작을 이해하고 코드를 동작해 보기 위해서 추천을 합니다. 또한 C언어의 구조와도 유사하기 때문에 다른 언어들을 향후 학습을 하기 위해서 기초 언어로도 매우 적합합니다.

PHP는 오랜 역사와 현재 많은 사용되는 대표 언어 입니다. 필자가 처음에 PHP를 접한 것은 2000년초 PHP 3.x버전부터였습니다. 그때는 웹 서비스도 초창기였고 서버 및 인터넷 환경이 지금보다 좋지 않았습니다. 또한 PHP가 세월이 흘러서 이렇게까지 발전하고 전 세계 수많은 개발자와 기업에서 사랑받는 언어가 될 것이라고는 생각지 못했습니다.

PHP는 5.x 7.x 로 나날이 업그레이드되면서 최신 스타일의 코딩 기법들을 도입하기 시작했습니다. 다른 고급 언어에서 탑재하고 있는 객체지향 및 네임스페이스 등 오픈소스와 패키지, 라이브러리들과 결합하여 통합 운영할 수 있는 환경으로 탈바꿈하고 있습니다. PHP는 현대적인 프로그램 개발 방법 및 코딩 스타일을 접목함으로써 앞으로 더 오랜 시간 인기를 끌 것으로 예상합니다.

대상독자


기초를 위한 학습서:

무슨 일이든 기초가 중요합니다. 아마 이 책 1권을 읽고 있는 독자들은 대부분 프로그래밍을 처음 시작하거나 기존에 개발을 하면서 느꼈던 기초학습을 보완하고자 일 것이라 생각이 듭니다. 이러한 기초학습 지식이 부족한 것은 많은 사람들이 체계적으로 전공분야를 학습하지 못한 상태에서 개발 시장에 빠르게 진입을 하기 때문 입니다. 이제 갓 시작하는 전공자, 비전공자들이 프로그램 코딩을 학습하면서 실력이 향상되지 않는 이유는 기초부분이 부족해서일 것이라 생각이 됩니다.


웹개발을 위한 언어:

PHP는 웹 응용프로그램을 빠르고 쉽게 만들 수 있는 최적의 언어입니다. 또한 웹 디자이너, 마크업 등 프로그램 언어에 대한 비전공자를 대상으로 합니다. 또한 프로그램 언어를 다시 한 번 체계적으로 배우고자 하는 분들에게 추천합니다. 초보자를 대상으로 언어 및 프로그램 체계를 설명함으로써 프로그래밍 입문을 도와드립니다.
PHP는 서버 사이드 언어입니다. 프론트 쪽 이외에 서버 사이드 웹 애플리케이션 개발로 전향하려고 하는 독자들에게 이 책은 적합합니다. PHP는 워드프레스, 드루팔, 라라벨, 코드이크나이터, 심포니, 제로보드, 그누보드 등 다양한 CMS 및 프레임워크 등이 PHP로 작성되어 있습니다. 이 책은 이러한 프레임워크 및 CMS를 도입하고 사용하기 위한 기본 참고서가 될 것입니다.


서버사이드 개발자:

요즘에는 모바일 및 웹 서비스의 인기로 서버 사이드 개발 또한 중요해졌습니다. 대부분의 웹 서비스의 처리는 서버 언어로 처리를 하고 결과나 데이터를 웹 브라우저, 안드로이드, iOS 등의 애플리케이션으로 전달합니다.
PHP는 수 많은 서비스를 처리하고 운영하는 웹 언어로 더 부각되었습니다. 특히, 페이스북 등 큰 서비스가 PHP로 개발하고 운영된다는 소식은 PHP에 힘을 더 실어줬습니다. 그리고 전 세계 수많은 웹 사이트의 CMS 관리 툴인 워드프레스가 PHP로 개발된 점 또한 PHP의 범용성에 대해 많은 기여가 됐습니다.
더불어 요즘 PHP는 웹 언어에서 시작했지만 IoT 및 하드웨어 제어를 위한 언어로도 사용하려고 하는 노력이 보이고 있습니다.


책의방향


최신버젼:

이 책은 PHP 7.x 기반으로 설명되어 있습니다. 최신버전의 PHP는 기존보다 문법의 규약을 세부화 하고 좀더 모던한 PHP코드 개발을 위한 다양한 환경을 제공합니다. 또한 기존 PHP 프로그래머라고 해도 좀더 기초 지식을 탄탄하게, 추가적인 기능을 학습하면서 최신의 스타일 코딩을 할 수 있도록 학습합니다. 일부 최신 기능은 구형 버전에서는 동작하지 않을 수 있습니다.


간략한 실습환경:

PHP 내장 웹서버를 소개하며, 모든 테스트를 최소 설치환경에서 실습하고 학습할 수 있도록 간소화 하였습니다.
PHP는 웹 기반의 프로그램을 개발하는 데 최적화되어 있는 언어입니다. 책의 기본적인 예제는 웹 브라우저를 통해 실행 및 결과를 확인할 수 있습니다. 하지만 간략한 기능 테스트를 위해서 복잡한 개발 서버 환경을 구축하는 것은 어려운 부분이 있습니다. 그러한 어려움을 해소하기 위해 PHP 내장 서버를 사용합니다.


콘솔환경:

이 책에서 설명하는 예제들은 브라우저가 아닌 콘솔상에서도 쉽게 실행하고 결과를 출력할 수 있습니다. “c:\설치경로\ php 예제파일” 형태로 실행하면 콘솔상에서 예제를 테스트할 수 있습니다.


설명범위:

이 책에서는 웹 페이지 예제 및 소스에 같이 적용되어 있는 HTML, CSS, javascript, jquery 등은 설명하지 않습니다. 이와 관련된 내용은 관련 서적을 참조하기를 바랍니다. 하지만 이러한 코드를 최대한 적게 사용하면서도 PHP 학습을 할 수 있도록 구성했습니다.


간결한 코드:

책에서 설명한 특정기능을 학습하기 위해서 짧은 코드들로 구성을 하였습니다. 전반적으로 10~20줄 이내의 코드들로 쉽게 소스를 이해하고 학습을 할 수 있습니다.


책 소스코드:

본 책의 예제코드는 깃허브를 통해서 다운로드 받을 수 있습니다. 깃허브 주소는 다음과 같습니다. https://github.com/infohojin/php