메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

한빛랩스 - 지식에 가능성을 머지하다 / 강의 콘텐츠 무료로 수강하시고 피드백을 남겨주세요. ▶︎

러닝 PHP

PHP 입문에서 프레임워크를 활용한 실전 프로그래밍까지(PHP 7 기반)

한빛미디어

번역서

절판

  • 저자 : 데이비드 스클라
  • 번역 : 정병열
  • 출간 : 2017-04-01
  • 페이지 : 500 쪽
  • ISBN : 9788968483486
  • eISBN : 9788968483295
  • 물류코드 :2348
  • 초급 초중급 중급 중고급 고급
4.1점 (14명)
좋아요 : 54

PHP 입문에서 프레임워크를 활용한 실전 프로그래밍까지!

 

서버 사이드 웹사이트 구축에 필요한 언어의 세계로 여러분을 안내한다. PHP 5.x부터 시작해 최신 PHP 7에 이르기까지 웹 서버, 브라우저, 데이터베이스, 웹 서비스의 작동 방식을 알려준다. 각 장마다 연습문제를 제공하므로 학습 내용을 온전히 자신의 것으로 만들 수 있다.

 

동적 웹사이트를 구축하고자 하는 입문자, 서버 사이드 프로그래밍을 시작하는 프런트엔드 개발자, PHP로 개발 속도를 높이려는 숙련된 개발자를 모두 아우르는 동시에 국제화, 명령행 PHP, 패키지 관리와 같은 모던 PHP의 영역까지 망라하는 친절한 안내서다.

 

 

detail.jpg

 

 

데이비드 스클라 저자

데이비드 스클라

(David Sclar) 

구글 스태프 소프트웨어 엔지니어. 전에는 Ning 사에서 플랫폼, API, 샌드박스 PHP 런타임을 개발했다. 『Learning PHP 5』(O’reilly, 2004), 『Essential PHP Tools』(Apress, 2004)의 저자이며 『PHP Cookbook』(O’reilly, 2002)의 공저자다. 식도락과 산책을 좋아하며 가끔씩 그 두 가지를 동시에 즐기기도 한다. 예일대학교에서 컴퓨터 과학 학사를 수료했으며 현재 뉴욕에 거주한다. 블로그(http://www.sklar.com/blog)에서 그의 번뜩이는 재기를 엿볼 수 있다.

정병열 역자

정병열

어린 시절 접한 BASIC 언어를 계기로 프로그래머의 길에 들어섰다. 연세대학교 공과대학을 졸업하고 직업 개발자로 다양한 프로젝트를 수행하며 스타트업과 대기업을 오갔다. 현재는 시니어 개발자로 경력을 이어가는 한편 양질의 개발 서적 출간에 일조하고자 노력하는 중이다. 옮긴 책으로는 『자바 개발자를 위한 데브옵스 툴』, 『자바 마이크로서비스를 활용한 SRE, 『진화적 아키텍처』 (이상 한빛미디어) 등이 있다.

[PART I 처음 만나는 PHP]

CHAPTER 1 오리엔테이션과 첫걸음

_1.1 웹 세상에서 PHP의 역할 

_1.2 PHP가 뭐가 그렇게 대단해? 

__1.2.1 PHP는 무료다 

__1.2.2 PHP는 자유롭다 

__1.2.3 PHP는 크로스 플랫폼을 지원한다 

__1.2.4 PHP는 광범위하게 사용된다 

__1.2.5 PHP는 복잡성을 해소한다 

__1.2.6 PHP는 웹 프로그래밍을 위해 만들어졌다 

_1.3 PHP 따라 하기 

_1.4 PHP 프로그램의 기본 규칙 

__1.4.1 시작 태그와 종료 태그 

__1.4.2 화이트스페이스와 대소문자 구분 

__1.4.3 주석 

_1.5 마치며 

 

[PART II PHP 기본기]

 

CHAPTER 2 데이터: 텍스트와 숫자 다루기

_2.1 텍스트 

__2.1.1 텍스트 문자열 정의 

__2.1.2 텍스트 다루기 

_2.2 숫자 

__2.2.1 다양한 수 다루기 

__2.2.2 산술 연산자 

_2.3 변수 

__2.3.1 변수의 연산 

__2.3.2 문자열 내부에 변수 넣기 

_2.4 마치며 

_2.5 연습문제 

 

CHAPTER 3 로직: 조건 판단과 반복 수행

_3.1 참과 거짓 

_3.2 조건 판단 

_3.3 복잡한 조건 설계 

_3.4 반복 실행 

_3.5 마치며 

_3.6 연습문제 

 

CHAPTER 4 데이터 집합: 배열 다루기

_4.1 배열 기초 

__4.1.1 배열 생성 

__4.1.2 적절한 배열명 

__4.1.3 숫자 키 배열 

__4.1.4 배열 크기 구하기 

_4.2 배열 원소 순회 

_4.3 배열 수정 

_4.4 배열 정렬 

_4.5 다차원 배열 

_4.6 마치며 

_4.7 연습문제 

 

CHAPTER 5 논리 집합: 함수와 파일

_5.1 함수 선언과 호출 

_5.2 함수의 인수 전달 

_5.3 함수의 반환값 

_5.4 변수 영역 

_5.5 인수와 반환값 제한 

_5.6 다른 파일의 코드 실행하기 

_5.7 마치며 

_5.8 연습문제 

 

CHAPTER 6 데이터와 로직: 객체 다루기

_6.1 객체 기본 

_6.2 생성자 

_6.3 예외로 문제점 확인하기 

_6.4 객체 확장 

_6.5 속성과 메서드 가시성 

_6.6 네임스페이스 

_6.7 마치며 

_6.8 연습문제 

 

[PART III 동적 웹사이트 구축 실전]

 

CHAPTER 7 사용자와 정보 주고받기: 웹 폼 제작

_7.1 유용한 서버 변수 

_7.2 폼 매개변수 접근 

_7.3 폼 처리 함수 

_7.4 데이터 검증 

__7.4.1 필수 요소 

__7.4.2 숫자와 문자열 요소 

__7.4.3 수치 범위 

__7.4.4 이메일 주소 

__7.4.5 <select> 메뉴 

__7.4.6 HTML과 자바스크립트 

__7.4.7 구문 너머 

_7.5 기본값 표시 

_7.6 전부 합치기 

_7.7 마치며 

_7.8 연습문제 

 

CHAPTER 8 정보 저장: 데이터베이스

_8.1 데이터 조직 

_8.2 데이터베이스 프로그램 접속 

_8.3 테이블 생성 

_8.4 데이터 추가하기 

_8.5 데이터 삽입 보안 

_8.6 데이터 입력 폼 프로그램 

_8.7 데이터 가져오기 

_8.8 반환 결과 형식 변경 

_8.9 데이터 요청 보안 

_8.10 데이터 검색 폼 

_8.11 마치며 

_8.12 연습문제 

 

CHAPTER 9 파일 다루기

_9.1 파일 접근 권한 

_9.2 전체 파일 읽고 쓰기 

__9.2.1 파일 읽기 

__9.2.2 파일 쓰기 

_9.3 파일 일부분 읽고 쓰기 

_9.4 CSV 파일 다루기 

_9.5 파일 권한 확인 

_9.6 오류 검사 

_9.7 외부에서 입력받은 파일명 처리 

_9.8 마치며 

_9.9 연습문제 

 

CHAPTER 10 사용자 추적: 쿠키와 세션

_10.1 쿠키 다루기 

_10.2 세션 활성화 

_10.3 정보 저장과 확인 

_10.4 세션 설정 

_10.5 로그인과 사용자 식별 

_10.6 setcookie()와 session_start()가 페이지 맨 위에 있어야 하는 이유 

_10.7 마치며 

_10.8 연습문제 

 

CHAPTER 11 다른 웹사이트와 통신하기

_11.1 파일 함수를 이용한 URL 간편 접근 

_11.2 cURL을 이용한 URL 상세 접근 

__11.2.1 GET으로 URL 가져오기 

__11.2.2 POST로 URL 가져오기 

__11.2.3 쿠키 사용 

__11.2.4 HTTPS URL 가져오기 

_11.3 API 요청 수신 

_11.4 마치며 

_11.5 연습문제 

 

[PART IV 소프트웨어 개발 기법과 PHP]

 

CHAPTER 12 디버깅

_12.1 오류 발생 위치 제어 

_12.2 구문 오류 수정 

_12.3 프로그램 데이터 조사 

__12.3.1 디버그 출력 

__12.3.2 디버거 사용 

_12.4 전역적 예외 처리 

_12.5 마치며 

_12.6 연습문제 

 

CHAPTER 13 테스팅: 프로그램 검증

_13.1 PHP유닛 설치 

_13.2 테스트 작성 

_13.3 테스트 고립시키기 

_13.4 테스트 주도 개발 

_13.5 참고 자료 

_13.6 마치며 

_13.7 연습문제 

 

CHAPTER 14 알아두면 좋은 소프트웨어 공학 기법

_14.1 소스 관리 

_14.2 이슈 추적 

_14.3 환경 구성과 배포 

_14.4 규모 측정 

_14.5 마치며 

 

[PART V 고급 기술과 프레임워크]

 

CHAPTER 15 날짜와 시간 처리

_15.1 날짜와 시간 출력 

_15.2 날짜와 시간 표현 

_15.3 날짜와 시간 계산 

_15.4 시간대 설정 

_15.5 마치며 

 

CHAPTER 16 패키지 관리

_16.1 컴포저 설치 

_16.2 패키지 추가 

_16.3 패키지 검색 

_16.4 더 많은 정보 

_16.5 마치며 

 

CHAPTER 17 메일 보내기

_17.1 스위프트 메일러 

_17.2 마치며 

 

CHAPTER 18 프레임워크

_18.1 라라벨 

_18.2 심포니 

_18.3 젠드 

_18.4 마치며 

 

CHAPTER 19 명령행 PHP

_19.1 명령행 PHP 프로그램 작성 

_19.2 PHP 내장 웹 서버 

_19.3 PHP REPL 

_19.4 마치며 

 

CHAPTER 20 국제화와 지역화

_20.1 텍스트 처리 

_20.2 정렬과 비교 

_20.3 출력 지역화 

_20.4 마치며 

 

[PART VI 부록: 설치와 연습문제 해답]

 

부록 A. PHP 엔진 설치와 설정

_A.1 웹 호스팅을 통해 PHP 실행하기 

_A.2 PHP 엔진 설치 

_A.3 PHP 설정 지시자 

_A.4 마치며 

 

부록 B. 연습문제 해답

★ 동적 웹사이트 구축에 필요한 모던 PHP 빠르게 익히기!

 

주요 내용

  • PHP와 웹 브라우저, 웹 서버가 상호작용하는 방식 학습
  • 자료형, 변수, 논리 제어, 반복문 등 기본적인 언어 구조 이해
  • 배열, 함수, 객체 사용 방법
  • 웹 폼 작성과 검증
  • 데이터베이스 작업과 세션 관리
  • 다른 웹사이트나 웹 서비스와 상호작용하기 위한 API 접근
  • PHP 웹 애플리케이션 프레임워크를 이용한 신속한 프로젝트 생성

 

 

대상 독자

  • 취미로 자신이나 가족, 비영리 단체 등이 사용할 인터랙티브 웹사이트를 제작하려는 이
  • ISP나 호스팅 업체에서 제공하는 PHP 환경을 이용해 웹사이트를 구축하려는 제작자
  • 동료 개발자와 더 유연하게 소통하기 원하는 웹 디자이너
  • 자신의 클라이언트 사이드 코드를 보완해줄 서버 사이드 프로그램을 직접 만들려는 자바스크립트 숙련자
  • PHP를 이용해 작업 속도를 높이려는 펄, 파이썬, 루비, 기타 언어 개발자
  • 인터랙티브 웹사이트 구축에 가장 많이 사용되는 프로그래밍 언어를 간단하면서 쉬운 설명으로 배우고 싶은 사람

직접 사서 공부하며 느낀점.... 생초보에게는 부적절.. 시간낭비, 절대적으로 코딩에 익숙한 독자에게 유리..

예제코딩이 부분만 소개되어 어디가 시작이고, 종결인지 기본적인 안내가 없어 생초보에게는 소화무리..,

한 주제에 대해 이어지는 코딩예제가 연속적인데도 불구, 내용상 추가, 변경부분이 전체중 어느부분에서 삽입되거나

변경되는지, 혹은 마무리출력이 어떻게 나오는지 이해할 수 없음..

상세안내가 없어 답답한 초보자는 상상을 하거나, 근거없는 추리를 유도하여, 이거저거 시도해보다가 짜증나서 공부할 맛을 잃게 함..

출력찾다가 시간 다감....


 

 

 

책 표지가 깔끔하고 이뻐요!

 

 

 

 

 

 

PHP를 고른 이유가 웹 해킹을 할 때 배워야할 목록? 거기에 있어서

배우려고 했는데, 막상 무슨 언어? 어디에 쓰는 지는 몰랐는데,

이렇게 초반에 <이 책에 대하여>에 쓰여있어서 굉장히 좋았습니다!

 

 

 

 

 

 

 

 

책의 구성 중에서 제가 쭉 읽어보면서 좋았던 것만 뽑아서 보여드리려고 합니다.

 

 

일단 저렇게 예시가 완전 일상적이여서 부담스럽지 않게 다가오더라고요!

 

 

 

 

 

 

 

 

 

참고도 잘 나오고 책이 대체적으로 깔끔합니다!

 

 

 

 

 

 

 

저렇게 <참고>라고 써서 비교해주는 거 너무 좋았어요!

 

 

 

 

 

 

저는 SQL을 아직 안 배웠는데, 여기서 간단하게

이렇게 알려줘서 이해하기 편했습니다!

 

 

 

 

 

 

 

 

<쿠키>를 작년에 정보 보호 수업 들으면서

알게 되었는데 그 때 뭔가 "이런게 있군~" 하면서 그냥

넘어갔었는데, 여기서 다시 보니 반갑고 더 확실히 알 수 있었습니다!

 

 

 

 
 

 

 

 

 

코드 예시? 적어주는 부분이 조금 불편했던 것이,

저는 완전 초보인데, 저렇게 적어놓으면 앞에는 어떻게 해야 결과를

출력할 지 잘 모르겠더라고요...

 

 

 


 

 

 

 

 

책의 내부나 표지나 깔끔한 디자인이고, 개념 설명의 예시가

일상적이어서 좋았습니다!

 

이 책을 1회독 해보니 왜 웹 해킹을 공부할 때 알아야할 것 중에

PHP를 알아야하는지 알게 되었습니다!

 

 

 

 

 

"저는 한빛 미디어의 '나는 리뷰어다!'를 통해

본 리뷰에 사용한 도서를 제공받아 직접 읽어보고

후기를 작성하였습니다."

 

 

 

 

 

.

.

.

 

 

 

 

원본 : http://blog.naver.com/wldm3428/221017988926

 

 

한빛 미디어에서 나온 굉장히 유명한 프로그래밍 출판사 O'REILLY의 'Learnig PHP' 입니다.

 

사실 저는 비 전공자로 시작해서 개발 쪽 꿈을 키우고 있는 학생인데 가장 처음으로 개발이 재미있다고 느꼈을 때가 PHP로 게시판을 만드는 학교 프로젝트를 했을 때였습니다. 

 

그 전에는 코드를 작성해도 그냥 검은 화면에 나오는 무언가를 만들었다 라는 생각이 들지 않았었는데.. 처음으로 내가 아는 무언가를 만들었구나!라는 생각에 그 이후에 프로그래밍을 전문적으로 공부하기 시작했습니다.

 

사실 지금도 제가 주로 하는 부분은 웹 서버 위주로 공부를 하고 있습니다.

 

그래서 추억에 잠겨서 책을 읽어봤는데... 굉장히 재밌었습니다.

 

사실 프로그래밍서를 보면 난이도 측면에서 너무 쉽거나 너무 어려워서

 

일단 책을 샀는데 아 나랑 맞지 않는구나라고 느껴 더 이상 읽지 않는 책들이 있었습니다.

 

이 책은 입문자부터 어느 정도 실력자까지 모두 좋게 읽을 수 있는 책이었습니다.

 

주변에 PHP입문하는 분들께 추천하는 책이라는 생각이 들었습니다. 

러닝 PHP 

(PHP 입문에서 프레임워크를 

활용한 실전 프로그래밍까지,PHP 7 기반)




 

저자 데이비드 스클라

옮김 정병열 

 

읽게 된 동기

ㅡ 원래는 <Hello Coding 그림으로 개념을 이해하는 알고리즘>이라는 책을 읽고 싶었는데

<Learning PHP> 이 책이 리뷰 활동으로 선정이 되어 리뷰를 하게 되었다.

제목을 보고 '아,이것은 대충 보고 훑을 책이 아니겠다'는 부담이 먼저 섰다. 그리고 책을 맞이하는 순간 딱 한빛미디어의 IT도서답다는 생각이 들었다. 디자인과 알찬 구성,두께까지 저자를 자세히는 모르지만 실무에서 자주 들었던 언어인 PHP.

대학교 때 컴퓨터를 전공하며 JSP를 배웠는데 이번 기회를 통해 깊게는 아니더라도 JSP와 다른 PHP에 대해서 알아보기로 하였다.

 


구성

1장ㅡ처음 만나는 PHP

2장ㅡPHP 기본기

3장ㅡ동적 웹사이트 구축 실전

4장ㅡ소프트웨어 개발 기법과 PHP

5장ㅡ고급 기술과 프레임워크

6장ㅡ부록: 설치와 연습문제 해답

 

특징

 

- 간결한 문장과 예제중심으로 이해가 쉽다.

1장에서는 PHP에 대한 특징을 알아보고 2장은 PHP기본기로 어느 책에서나 있듯 언어에 대한 기본적인 문법을 알려주고 있다. 친절하게 이해하기 쉬운 문장과 적절한 예제로 보기 편하며 초보자도 쉽게 이해하며 학습할 수 있는 수준이다.



 

 

 

- 예제 중심으로 PHP 프로그래밍을 확인할 수 있다.

왜 PHP가 동적이고 JSP 보다 빠른지 예제를 보고 한눈에 알 수 있었다.  JSP도 Java Code를 작성하여 DB 연결하여 Data를 접근할 수 있지만  PHP 예제를 보고 이것은 스크립트 언어 같았다. 확연이 JSP와 다른 코딩 방식이었다. 그리고 또 속도까지 빠르다니!
PHP가 얼마나 탄탄하게 구성되어있는지 알 수 있었다.



 

 

마지막 느낌

- PHP 초보자라면 기본기부터 찬찬히 한장 한장 읽어가면 됩니다

- 친절하게 설명되어있어 이해하기 쉽습니다. 마지막장에 예제 파일도 함께 있습니다.

실행하면서 배울 수 있어요

웹디자이너인데 PHP공부가 해보고 싶다면, 러닝PHP.

 

# GOOD! 

PHP를 기본기부터 배우고 싶은 사람이라면, 요 책을 한번 정독하고! 서점에서 추가적으로 필요한 책을 탐색해 보면 좋을것 같다.

한빛에서 나온 뇌를 자극하는 php프로그래밍 / 대림에서 나온 php5웹프로그래밍 책을 예전부터 가지고 있었지만, 시간적으로나 마음적으로 여유가 나질 않아 책장에 콕 박혀 있었는데.. 러닝PHP를 보고 나니 이제 저 책들을 봐도 될 것 같다는 자신감이 쑥쑥 ~  딱 내가 찾던 입문책. 설명이 정말 깔끔하게 나와있는 원하던 책! 

HTML 마크업 책들과 구성이 비슷하면서도 기본기를 확실히 잡아주는 책. 

프로그래밍을 몰라도 예제 하나씩 적어서 출력해보면 금방 이해하게 되는 책. 

비 영어권 국가에서 코드를 배우는 방법은 실제 코드를 하나하나 적어 가며 배우는게 젤 좋은것 같다 생각하기에, 

연습문제는 꼭 풀어보라 권하고 싶다. 연습문제를 해결하다 보면 이해되는 부분이 상당히 많이 있다. 

 

# BAD! 

디자인이나 간단한 마크업 도서만 보던 나에겐 ㅜㅜ 예제 찾기가 힘들었다. 다른 프로그래밍 책도 그런가..  요 부분 빼면 매우 만족. 

예제 8-8 침묵 모드 PHP 파일이 code�8dbs-106.php라는 슬픈현실 ㅜ 번역서라 그런가? 싶어 다른 책을 보니 비슷한것 같다 ㅎㅎ 

 

 

러닝 PHP

 

 - PHP 입문에서 프레임워크를 활용한 실전 프로그래밍까지

 - (PHP 7 기반)

 

 

이전에 '러닝 (Learning)'이라는 제목에 붙었던 

 

오라일리 책중에서 몇 권의 책을 본 적 있습니다. 

 

펄, 파이썬 등의 책이었는데요. 

 

꽤나 긍정적인 경험이었던터라, 이 책 또한 긍정적인 효과를 

 

기대하면 읽어보게 되었습니다.

 

 

 

§책 전체의 구성

 

1부 - 1장

2부 - 2, 3, 4, 5, 6 장

3부 - 7, 8, 9, 10, 11 장

4부 - 12, 13, 14 장

5부 - 15, 16, 17, 18, 19, 20 장

6부 - 부록

 

500쪽의 책이 20개의 장으로 구성되어 있기 때문에 

 

산술적으로는 1개의 장이 25쪽 정도 되겠지만, 

 

분량이라는 관점에서 실제로 확인해 보면 책은 크게 

 

3부분으로 나눌 수 있습니다. 

 

앞 부분 -  1부, 2부

 

중간 부분 - 3부

 

뒷 부분 - 4부, 5부, 6부

 

대략 이런 구성으로 책의 분량이 비슷하게 나뉘어 있습니다.

 

 

실제 1부 - 1장 은 분량이 얼마되지 않기 때문에 

 

앞 부분, 2부 PHP의 기본적인 내용을 확인하고, 

 

중간 부분, 3부에서 그 내용을 통해 동적 웹사이트를 

 

실제로 구축하는 내용이 이 책에서 다루는 

 

전체적인 내용이라고 할 수 있습니다. 

 

뒷부분, 나머지의 경우 PHP를 좀 더 잘 사용하기 위한 

 

내용이 들어 있습니다.

 

 

부제에 나온 것 처럼, 입문 (1부, 2부), 

 

프레임워크를 활용한 실전 프로그래밍 (3부) 이

 

책의 3분의 2를 차지하고 있습니다. 

 

PHP의 기본적인 특징과 사용법에 대해 궁금하다면 

 

여기까지만 봐도 괜찮지만, 여기까지 봤다면

 

얼마남지 않은 뒷부분을 마저 보는 것도 좋을 것 같습니다.

 

 

 

§각 장별 구성

 

각 장별 구성을 살펴보면, 다음처럼

 

<각 장별 설명> + <마치며> + <연습문제> 

 

과 같은 방식으로 되어 있습니다. 

 

<마치며> 항목은 모든 장에 포함되어 있습니다.

 

각 장에서 다룬 내용을 정리해주고 있습니다. 

 

 

<연습문제> 항목은 2장부터 13장 까지만 모두 있고 

 

그 외에는 없습니다.

 

 

이런 구성은 그다지 새로울 것 없는 구성이지만, 

 

개인적으로 책을 볼 때는 <마치며> 항목이 가장 도움이 

 

되었습니다. 저 같은 경우 각 장을 새로 들어갈때마다, 

 

바로 들어가지 않고, <마치며> 항목을 먼저 읽어봤습니다. 

 

이 장에서 어떤 것을 다루고 있는지 일목요연하게 확인할 

 

수 있다는 장점이 있었는데요. 각 장의 내용을 보고 나서

 

다시 <마치며>를 읽어 보면, 확실히 그 장에서 확인한 

 

내용을 좀 더 잘 정리하고 집중할 수 있었습니다.

 

 

 

§특징 ( 혹은 장점 )

 

 

1. PHP 7 기반이다.

 

 사실 PHP 입문자 입장에서, 이 책의 기반이 최신 버전이라는 점은

 

잘 느낄 수 없는 내용입니다. 이전 버전부터 사용해왔던 사람이라면

 

차이점을 잘 알 수 있겠지만, 그렇지 않고서야 일일이 비교해가며

 

알려주지 않는 이상에는 정확히 알 수 없습니다. 

 

그러나 최신 버전을 기반으로 하고 있다는 점만으로도 지금 이 책이

 

내세울 수 있는 장점이라고 생각합니다. 

 

 

2. 프로그래밍 초심자 나 비전문가를 대상독자로 염두에 두었다.

 

기본적으로 책의 앞부분에 나온 대상자들은 모두 해당되겠지만,

 

가장 마음에 들었던 내용은

 

'동료 개발자와 더 유연하게 소통하기 원하는 웹 디자이너' ( 9 쪽) 

 

라는 항목이었습니다. 또한, 역자분의 글 (옮긴이의 말) 에서도 

 

'프로그래밍 자체에 처음 도전하는 문외한에게도 도움이 되는 

 

내용' ( 6 쪽 ) 이라는 말은 우선 도전 의식에 좀 더 힘을 주는 

 

말이었습니다. 

 

전문 개발자가 아니더라도, 

 

또한 프로그래밍을 처음 해보는 사람이더라도

 

PHP 에 대해 궁금한 점이 있는 사람이라면, 

 

이 책이 도전해 볼 만한 가치가 있다는 생각이 들었습니다. 

 

 

실제로 내용을 읽어보면, 프로그래밍 초심자나 

 

비 개발자에게는 어려울 수 있는 부분들이 있습니다. 

 

하지만, 이른바 '넘사벽'과 같은 정도는 아니기 때문에 

 

읽는 재미와 보람을 느낄 수 있을 것 같습니다.

 

 

3. 연습문제의 해답이 있다

 

초중고의 교과서가 아닌 (분야가 무엇이든) 대학교 수준

 

이상의 전문도서를 본적이 있는 사람이라면, 공감할 사항이겠지만,

 

연습문제의 해답이 있다는 것은, 연습문제가 있다는 것보다

 

훨씬 반가움(?)이 앞서는 일입니다. 

 

연습문제를 직접 풀어보기 전에는 안보는 것이 좋다는 상투적인

 

표현보다는 해답이 있다는 사실만으로도 좀 더 편안함을 느끼며

 

책을 읽는 사람은 아마도 저 뿐만은 아니지 않을까 생각합니다. 

 

 

4. 분량의 부담이 덜하다.

 

분량이 많다 적다는 개인적인 차이가 분명히 있을 수 있습니다. 

 

하지만, 제가 읽어본 바로는 실제로 앞 부분의 기본적인 설명과 

 

중간의 실전 프로그래밍까지 300쪽 정도이기 때문에 아주 많은 

 

분량은 아니라는 생각이 들었습니다. 

 

 

§아쉬움 (혹은 단점)

 

1. PHP 7과 이전 버전에 대한 차이점이 정리된 내용이 없습니다.

 

 사실 이 내용은 그 분량이 적지 않기 때문에, 이 자체 만으로도 

 

꽤 양이 많기는 하지만, 부록에 간략하게라도 정리를 해 주었더라면

 

좋았을거 같습니다. 

 

( 책의 앞부분에 이에 대한 참고 URL을 알려주고 있습니다.)

 

 

2. 참고 정보들을 한 곳에 모아 주었더라면 합니다.

 

참고도서, 참고 URL 등이 여럿있는데요, 이것도 부록에 

 

<참고문헌> 이나 <참고도서> 같은 항목으로 모아서 보여줬으면 

 

좋았을 것 같습니다. 

 

 

 

 

§마무리

 

새로운 PHP 기반의 입문서, 적당한 분량과, 너무 어렵지 않은

 

난이도, 더 넓은 PHP의 세상으로 나아가기 위한 디딤돌로서 

 

좋은 시작이 될 수 있으리라 생각합니다.

 

 

 

 

 

* PHP 7 설명서 X, PHP 7을 사용한 PHP 웹개발 입문서

* 갖출 것은 다 갖춘 책, 하지만 한 권으로는 부족한 책 

* PHP 프레임워크를 사용하기 전에 거쳐가면 좋을 책 

* 연습문제가 좋은 책 

 

추천하고 싶은 사람

프론트엔드 경험이 있으면서 백엔드 과정에 관심이 있는 사람

개발에 대한 이해가 있으며, PHP를 시작해보고 싶은 사람

충분한 개발 지식이 있으며, 빠르게 PHP 기본을 다룬 후 프레임워크를 사용하고자 하는 사람 

 

추천하고 싶지 않은 사람

프로그래밍 입문자 

PHP 사용경험이 있으며 PHP7의 새로운 기능에만 관심이 있는 사람

 

 

Summary

 

  당연한 이야기지만, 어떤 프레임워크를 사용하려면 해당 프레임워크가 사용하는 언어에 대한 기초 이상의 이해가 필요합니다. 요즘 라라벨과 같은 프레임워크로 PHP가 다시 소생하고 있는 시점에서 그런 프레임워크를 사용하기 전에 거쳐가면 좋을 책입니다.

   국내 처음으로 소개된 PHP7 서적 심지어 Oreily 서적이라 많은 PHP사용자 분들께서 PHP7과 기존 PHP5 간의 차이를 알려주는 책을 생각하셨겠지만..., 안타깝게도 이 책은 PHP7의 신기술을 안내하는 그런 책이 아닙니다. 전반적으로 PHP 입문 나아가 웹개발 입문서 서적이며 언어와 버전으로써 PHP7을 사용한 서적입니다.

 가장 적절한 독자는 어느 정도 개발지식이 있고 PHP 프레임워크를 사용하기 직전인 분들 ​이라고 생각합니다. 입문적이지만, 입문적이지만은 않고, 깊이가 있는 듯 하지만, 너무 깊이 있지도 않아 처음부터 이 책으로 프로그래밍에 입문하시는 것은 적절하지 못하다고 생각합니다. 최소한 입문자는 넘어서신 분들이 대상독자라고 생각합니다.

    컨텐츠 면에서 단순히 PHP 언어 문법을 넘어서서 상당히 많은 내용을 압축적으로 다루고 있습니다. 웹 구축에 관한 기본적인 사항들, 간략하지만 기본적인 프레임워크들에 대한 설명, 그리고 무엇보다 이 책의 목차를 보며 가장 신선한 충격을 받았던 디버깅, 테스트, 소프트웨어 공학까지 다룹니다.  물론 다양한 컨텐츠를 담으려하다보니 설명적인 부분에서 부족하다고 생각하거나 입문자가 보면 오해를 만들 수 도 있을만한 내용이라고 생각이 드는 부분도 있었습니다. 그래서 역으로 어느 정도 경험이 있으신 분들이 PHP를 처음 배우고 프레임워크를 쓰시기 전에 보고 가시면 아주 좋을 거 같다 생각되었습니다. 풀이 순서에서도 특색을 보이는 데 PHP 설치, IDE소개 등 기본적인 환경설정에 관한 소개 없이 바로 PHP에 관한 내용을 풀어나갑니다. PHP 언어 기초에서도 가장 먼저 문자열과 문자열과 관련된 기본 함수들을 다루고 변수로 넘어가 풀이 난이도 곡선이 갑자기 높았다 떨어지는 듯한 구조를 가지고 있습니다.  입문자로 막연하게 '웹 서비스 만들어보고 싶다'하시는 분들에겐 적합하지 않지만, 어느정도 기본적인 지식을 갖고 라라벨과 같은 PHP 프레임워크를 사용하기 직전인 분들에겐 매우 적합한 점검소가 될것 같습니다. 

​    만약 이 책으로 처음 PHP를 접하시는 경우라면, '생활코딩'과 같은 온라인 강의 또는 학습 자료를 선행하시고 본격적으로 프레임워크 등을 활용해 개발을 하시기 전에 한번 학습해보시면 매우 탄탄한 로드맵이 될것 같습니다

 

 

Contents

​

 

러닝 php 1.jpg

 

 

    책의 구성이 상당히 흥미로운 책입니다. 우선 일반적인 개발 입문서적과 다르게 PHP 설치, PHP 개발환경들이 부록으로 다뤄지거나 상당히 뒷부분에서 다뤄집니다.(p330에 가서야 처음 IDE에 관한 내용이 나옵니다.)​ 초반부 소개, 추천사를 보면 이 책을 입문자 내지는 초급자를 위한 책으로 보고있는데 개인적으로 프로그래밍 입문자를 위한 책은 아니라고 생각합니다. 다른 웹 프로그래밍들을 해본 경험이 있지만, PHP는 처음인 그런분들이라면 모르겠지만, 처음 언어로 PHP를 선택하신 케이스라면 상당히 학습이 어려우실것 같습니다.  그런 분이시라면 적어도 '생활코딩'과 같은 온라인 학습소를 이용하셔서 PHP 설치도 해보시고 기본적인 내용을 가볍게 학습하신 후 읽어보시길 권합니다.

 

 

    이처럼 조금 당황스러운 전개 구조를 가지고 있고 설명부분에서도 그렇게 친절하다 할 수는 없지만, 전체적인 컨텐츠의  구성은 상당히 만족스러운 책이었습니다.  한마디로 표현하면, 갖출건 다 갖춘 책!이라 할 수 있겠습니다. 우선 디버깅, 테스트, 소프트웨어 공학을 따로 장을 할애하고 있습니다. 상당히 충격적이었고, 이 책은 진짜 제대로 알려주고 싶어한다는 느낌이었습니다. 많은 입문 서적을 보았지만 저런 부분까지 다루는 책은 정말 많이 보지 못했기 때문에 상당한 감동까지 받기도 했습니다.  

   참고라는 형태로 들어가있는 부분들도 상당히 좋았습니다. 특히 데이터베이스에서  기본적인 SQL을 대부분 다뤄주면서, 학습에 상당히 많은 도움을 받을 수 있었습니다. 설명에 있어서 조금 들쭉 날쭉하다는 느낌이 있긴 했지만, 확실히 이런부분에서는 초급자를 타겟으로 했다는 느낌이었습니다.  그리고 많은 내용이 압축적으로 들어가 가볍게 쑥쑥 읽어가기 어렵지만, 분명 그 내용들은 초급자가 중급자로 넘어가기 위해 필수적인 사항들이고, 책이 그 징검다리 같은 역할을 해준 다는 것입니다..

   

    책에서 제시되는 예제는 두 가지 타입이 있습니다. 하나는 책에서 설명을 위해 사용된 예제, 또 하나는 학습한 내용의 복습을 위해 제시된 연습문제와 그 답안입니다. 책에서 설명을 위해 사용된 예제는 매우 평이한 편입니다. php를 잘 모르더라도, 프로그래밍에 익숙하신 분이라면 수도 코드 읽듯이 읽으실 수 있을지도 모르겠습니다. 반면 연습문제로 제시되는 문제들은 난이도가 있는 것은 아니지만, 충분히 학습사항을 점검해보기에 좋은 예제들이라고 생각이 됩니다. 

   두 가지 타입의 예제가 각각 설명을 쉽게 이해할 수 있게 해주고, 학습한 내용을 짚어보고 가기엔 좋지만, 결정적인 단점은 해당 예제들만 학습해서는 웹서비스를 만들기 상당히 어려울거 같다는 것입니다. 이 책으로 전체의 흐름과 내용을 보기에는 매우 좋지만, 이 책으로만 웹서비스를 만들겠어! 는 불가능하다 판단됩니다. 그래서 제목이 러닝 PHP인 것같습니다.

 

 

Conclusion

 

1. PHP를 이용한 웹개발을 배우기에 매우 좋은 책입니다.

2. 내용이 매우 알찹니다.

3. 프로그래밍 입문자를 위한 책은 아닙니다.(적어도 PHP가 무엇인지 가볍게 학습 하시고 나서 보시길 권합니다)

4. 이 책 한 권만으로는 안됩니다. 

5. 정말 간단하게, 네트워크 이론, 객체 지향, 데이터베이스, 디버깅, 테스팅, 소프트웨어 공학, 프레임워크 등을 다룹니다. 징검다리로 매우 좋을 것 같습니다. 

 

 

 

 

 ​

 

 

 

입문에서 실전까지 한권으로 볼 수 있는 러닝 PHP 책이 나왔습니다

 
이 책입니다.
일단 책을 받은 것은 4월 중순이 지나서의 이야기인데 3주가 지나서 근 4주가 되어가는 시점에 리뷰를 쓰고 있습니다.
소규모 개발팀은 언제나 일에 치여서 사는데다, 저번달부터는 학교 강의까지 가면서 더욱 바빠졌습니다.
그래서 그제서야 이 책을 펼치고 오늘에야 리뷰를 올립니다.
 

 

 

IMG_3828.jpg

 

독수리 그림이 그려져 있는 <러닝 PHP> 도서입니다. 믿고 보는 한빛미디어 책입니다.

한빛미디어의 기술 서적들이 대체로 기술서적이 다 그렇듯 가격이 장난 없지만 빵빵한 예제가 있어서 따라 공부하기 편하죠.

 

 

IMG_3829.jpg

 

32,000원이라는 가격이지만 두께라던가, 종이가 얇아서 페이지가 많고 예제가 빵빵하며 구성이 잘 되어 있습니다.

원래 웹디자인 일을 하다가 게임기획으로 온지라, 웹 업무에 대해서 문외한은 아니기에 PHP 책도 같이 신청을 했는데,

아무래도 이런 책들은 저보다는 좀 더 이쪽을 더 파고들 생각이 있는 사람들에게 좋지 않을까 싶기도 합니다.

우리팀 프로그래머가 자기도 PHP에 관심이 있다길래, 당첨되면 같이 본다는 생각으로 신청하기는 했지만요.

 

 

IMG_3830.jpg

 

초판 1쇄가 4월 1일에 발행이 된, 이제 발행된 지 한달 보름 지난 따끈한 책입니다.

이게 무슨 문학도서는 아니기 때문에 초판본을 가지고 있다는 게 특별히 의미는 있지 않겠지만요.

 

 

IMG_3831.jpg

 

PHP에 관심이 있어서 이 책을 구입할 생각을 하고 있다면, 이 부분이 가장 중요하다고 생각합니다.

이 책의 대상 독자.

취미로 인터렉티브 웹사이트를 제작하려는 사람, PHP환경의 웹사이트를 구축하려는 사람.

PHP소프트웨어 플러그인이나 확장 기능을 만들고자 하는 사람. 동료 개발자와 원활한 소통을 원하는 웹디자이너. 등등..

 

말이 웹디자이너지 전 코딩쪽도 같이 맡아서 HTML과 CSS를 썼는데, PHP는 처음입니다만...

고로 이 리뷰는 PHP를 난생 처음 접해보는 사람의 시점이라고 생각하셔도 됩니다.

책의 대상 독자가 입문자부터 개발 경력자까지 다양합니다.

직접 읽어본 바로는 대체로 예제를 사용해서 쉽게 풀어쓰는 방식은 입문자를 위한 구성인데,

그래도 코드 분석하고 이해하면서 따라 가야 진도를 제대로 따라잡을 수 있을 것 같다는 생각이 듭니다.

 

 

IMG_3832.jpg

 

사용한 PHP 버전은 7.0.0이고 출판당시 최신 버전은 7.0.16에서 테스트도 완료되었다고 합니다.

최신 버전에서 실제 구동이 되는지 검증까지 마쳤으니,

뭔가 문제가 생기면 그건 '내가 뭔가 실수했군.' 이라고 빠르게 깨달을 수 있겠네요.

 

 

IMG_3833.jpg

 

한빛미디어의 기술서적들의 친절함이 <러닝 PHP>에서도 그대로 드러납니다.

책의 예제 프로그램을 전부 다운로드 받을 수 있으니, 전체 코드를 내려받아서 분석을 해보는 것도 좋습니다.

직접 따라해보는 것도 물론 공부가 되기는 하는데, 코드 분석도 기본 실력이 있어야 읽어도 뭔 소린지 알 수 있는 거라서요.

 

입문자를 기준으로 만들어진 책이다보니, 책 안에는 그림이 다수 들어가 있습니다.

 

 

IMG_3834.jpg

 

IMG_3835.jpg

 

클라이언트와 서버간 통신에 PHP가 관여하는 경우와 관여하지 않는 경우의 차이점을 그림으로 설명하고 있습니다.
 

 

IMG_3836.jpg

 

안녕, 헬로월드!

하지만 PHP로 고작 헬로월드 따위의 텍스트를 출력하는 것은 대단한 낭비죠. 책에서도 그 사실을 언급하고 있습니다.

웹에서 단순 텍스트를 출력하는 것은 HTML로도 충분하니까요.

 

 

IMG_3837.jpg

 

정말 한결같은 예제의 주제. 책의 시작부터 끝까지 예제는 요리에 관련된 것들로 쓰이고 있습니다. 일관성이 있죠.

//은 주석입니다. 코드에 넣어도 작동하지 않지만, 코드를 알아보기 쉽도록 넣어놓은 해석이라고 생각하면 됩니다.

입문자를 위한 책이라고 생각되는 건 이 친절하게 달려있는 주석도 한 몫합니다.

그리고 예제가 요리나 음식에 대한 거라서 지루하지 않다는 것도 이 책의 장점으로 꼽을 수 있을 것 같아요.

 

 

IMG_3838.jpg

 

세트메뉴 1번 치킨과 저녁식사로 귀결되는 으르렁거림. 이 아니라 예제.
 

 

IMG_3839.jpg

 

그놈의 음식 타령은 변수를 설명할 때도 계속됩니다.
 

 

IMG_3840.jpg

 

이 책의 또 다른 좋은 점은, 어쩐지 '수학 문제집' 같은 구성입니다. '어쩐지'입니다.

각 파트마다 연습문제가 있어요.

 

 

IMG_3841.jpg

 

기본기부터 실전 프로그래밍까지 한 권 안에서 다루는데, '마치며'에서 한 번 더 정리를 해주고,

'연습문제'에서 스스로 생각해 볼 수 있는 시간을 줍니다.

아무래도 셀프 분석에 익숙하지 않고 주입식 교육과 문제집 뜯어먹기에 익숙한 사람들이 알아서 코드를 분석하거나

단락에 있는 예제를 파고들기란 어려울텐데, 모든 단락에서 연습문제를 제공하므로써 중고교 시절의 향수를 불러 일으킵니다.

참으로 한국 교육 친화적인 구성이 아닐 수 없습니다.

 

 

IMG_3843.jpg

 

보통의 다른 책들은 해당 책에서 다루는 언어를 다룰 툴이나 엔진 설치를 책 맨 앞쪽에서 다루고 넘어가는데,

이 책은 할 말 다 해주고 난 뒤, 맨 뒤에 실어놓았습니다.

일단 난 엔진부터 설치하고 싶어! 라고 생각하면 뒤부터 보고 따라하시면 됩니다.

 

하지만 중고교 문제집 풀던 버릇대로, 연습문제 해답을 먼저보고 연습문제를 풀려고 하지 맙시다.

예제 코드를 다운로드 받아서 코드분석을 하는 것은 좋지만, 연습문제 답까지 미리 볼 거면 공부하는 의미가 없겠죠.

 

 

IMG_3844.jpg

 

내가 처음 배열을 배울 때, 농어, 잉어, 고치고기, 가자미나 치킨 같은 걸로 배웠다면, 공부하는게 그렇게 싫지 않았을텐데.....

 

재미있는 예제로 입문부터 실전까지 한권으로 파고들 수 있는 좋은 책, <러닝 PHP>.

개인적으로 표지의 독수리는 마음에 안들지만, 이게 이 시리즈 책들의 아이덴티티이니 그러려니 합니다.

무튼, 책은 입문자 기준으로 매우 흥미롭게(지겹지 않게) 되어 있으니 PHP를 팔 요량이라면, 한번 이 책으로 파보셔도 되겠습니다.

그럼 이만.

 

 

 

'러닝PHP'는 프로그래밍을 전혀 모르는 사람도 읽을 수 있는 책이다. 이 책 초반 2개의 파트는 초보 프로그래머도 읽을 수 있게 매우 자세하게 PHP 기초를 설명한다. 텍스트, 숫자, 변수, 조건문, 반복문, 배열, 함수, 객체 등을 다루는데, 어느 정도 서버사이드 웹프로그래밍을 해본 사람이라면 무슨 내용이 있는지 눈으로 쭉 한번 훑어보고 나중에 찾아보면 될 것 같다. 그래도 편리한 최신 PHP문법을 설명하는 부분도 있기 때문에 시간될 때 한번은 꼭 보고 넘어가는 것이 좋을 것 같다.

 

이 책의 하이라이트는 파트3 '동적 웹사이트 구축 실전'이다. 이 부분을 읽는다면 앞으로 PHP 코딩을 이렇게 해야겠구나 생각하게 될 것이다. 웹프로그래밍 경험이 있어서 그런지 앞쪽 내용은 좀 시시했는데 '웹 폼 제작'부분부터는 바짝 정신 차리고 읽었다. 웹 폼을 하나하나 만들어가면서 나중에는 코드의 양이 꽤나 길어지는 것을 볼 수 있었다. 유지보수를 위해 코드를 나누면서 코딩을 하는데 나중에는 편할지 모르겠으나 초보자가 완벽하게 이해하는 데는 시간이 조금 걸릴 듯. 하지만 꼼꼼하게 만들어진 코드이라 믿을만하고 재사용하기가 편해 바로 프로젝트에 붙여넣기 해도 괜찮을 것 같다.

 

웹 폼을 다루는 방법을 배우고 나면 데이터베이스, 파일, 쿠키와 세션 등을 설명한다. 이 책이 모든 PHP 코드의 표준이 될 수는 없겠지만 그래도 초보자가 따라하기에는 괜찮은 내용이라 생각한다. 개인적으로는 mysqli로 DB를 접근을 해서 그런지 PDO 객체로 DB를 다루는 부분이 신선하고 좋았다. 다음부터는 mysqli 함수말고 이걸로 데이터베이스 프로그래밍을 해야겠다.

 

러닝PHP(Learning PHP) 책 리뷰 (PHP 프로그래밍 입문 책 추천)

파트4, 5에서는 디버깅, 테스팅, 패키지관리, 프레임워크 등을 다룬다. 좀 더 고급 프로그래머로 성장하기위해 필요한 내용인데, 러닝PHP가 기초 책이라 그런지 여기에 대한 내용이 조금 부족하다. 개인적으로 패키지관리 도구인 컴포저와 라라벨 프레임워크에 대한 설명이 적어 아쉬웠다. 이런 것들에 대해 맛만보고 넘어가는 느낌이라서 자세한 공부는 인터넷이나 다른 책들을 찾아봐야겠다.

 

마지막 부록에는 PHP엔진을 설치하는 방법과 연습문제 해답이 들어있다. 연습문제 해답을 보면 러닝PHP가 연습문제에 많은 공을 들인 책이라는 것을 알 수 있다. 책을 읽는 속도는 좀 느려질지 모르나 PHP를 제대로 공부하고 싶은 사람에게는 큰 도움이 될 것 같다.

 

'러닝PHP' 참 괜찮은 책이지만 다만 조금 아쉬운 것은 책을 그대로 따라해도 남들에게 보여줄만한 결과물(웹사이트)이 없다는 것이다. 하나의 파트를 더 만들어 배운 내용으로 프로젝트를 하나 진행했으면 더 좋았을 것 같다. 비록 책이 더 두꺼워지고 가격은 올라갔겠지만. 그럼에도 불구하고 최신 스타일로 PHP 프로그래밍을 배우고 싶은 사람에게 러닝PHP를 우선 추천하고 싶다.

러닝 PHP.jpg 독자와 줄다리기를 잘하는 느낌입니다.
각 장마다 내용의 균형을 잘 잡고 있다고 생각합니다.

기본으로 알아야 할 부분과 책의 내용 이해에 필요한 설명하고, 좀 더 파고들어 가기 직전에서 멈춥니다.
그렇지 않았다면, 책이 분량이 전혀 달라졌을 겁니다.


기본(Part 1, 2), 실전(Part 3), 알아야 할 내용들(Part 4, 5), 크게 세부분으로 나눌 수 있습니다.

기본에서는 웹프로그래밍 언어로서 PHP가 가지는 특징들 위주로 설명합니다.
6장에서 객체를 설명하는데, 딱 책의 내용을 이해할 수 있을만큼만 얘기합니다.
객체 지향 프로그래밍을 전혀 모르는 상태라면, ‘이렇게도 하는구나’ 하는 정도만 이해하고 넘어가도록 하고 있습니다. 파고들면 끝이 없지만...

실전은 웹사이트 구축에서 주로 사용하는 부분입니다.
폼 처리에서 입력값 검증할 때, PHP의 기능을 활용하여 처리하도록 하고 있습니다.
데이터베이스 처리는 PDO만 이용합니다.(만세~)
단일 사이트에서 DB 처리에만 매달렸던 예전과 달리, 다른 사이트와 정보 교류가 많아진 최근 환경에서
파일 다루기와 cURL 사용은 좋은 길잡이가 된다고 생각합니다.

알아야 할 내용들은 더이상 미룰 수 없고, 알면 알수록 도움이 되는 내용들을 소개하고 있습니다.
디버그, 테스트, 소스/이슈관리, 프레임워크, 명령행 PHP, 국제화.
PHP유닛 설명을 언더바로 연결한 긴이름 클래스로 하고 있는 건 아쉽습니다(최근 안정화 버전은 네임스페이스를 적용하여 예전 버전처럼 긴 이름 클래스를 사용하지 않습니다).
소스를 따라하면 에러 메세지를 통해 긴 이름을 사용하지 않는다고 알려줍니다.
‘어떡하지?’ 하다가, ‘네임스페이스를 사용하라 말이구나’ 하고 찰떡같이 알아들으면 됩니다.


대상독자는 다른 언어로 웹개발 경험이 있는 개발자와 php를 사용하고 있는 개발자, 어떤 식으로든 개발 경험이 있는 사람이라고 생각합니다.

다른 책과 다른 두드러진 특징은 연습문제의 답이 있습니다.
다른 사람은 어떻게 문제를 풀어 나갔는지, 같은 문제를 풀어 나간 나와 다른 생각의 흐름을 볼 수 있습니다. 연습문제의 답을 알 수 없는 답답함을 지워줍니다.
하지만, ‘답은 거들뿐!’.
이해와 숙련은 오로지 독자의 몫, 답에 얽매여서는 곤란합니다.(음… 오글오글)

 

트렌디한 PHP를 시작하거나, 몸에 베인 PHP 를 리모델링하다.

개발자에게 친숙한 동물 그림 표지 책. PHP7 기반으로 이제 PHP 입문하시는 초보 개발자 분들께 적합하다고 생각되는 책입니다. 학교 졸업한지 오래 되지는 않았지만, 그때 제가 접한 책은 한권을 끝내면 게시판 하나를 만들 수 있는 책이었습니다. PHP 를 시작하는 분들께 권할 만한 책이 많지 않다고 생각했었는데 이 책은 권하고 싶습니다.

무료 호스팅 또는 유료 호스팅에는 PHP 기반이 많지만 5.x 초반 호스팅이 많습니다. 하지만 PHP7 을 사용하는 홈페이지나 환경도 많아졌기 때문에 PHP7 기반으로 시작하는게 좋다고 생각합니다.


첫 장에서 그림으로 또 글로 PHP 에 관해 설명이 나와있는 부분이 좋았습니다. 흥미를 유발시키는 부분이랄까요, 그 다음 예제부분이 기다려지는 느낌이었습니다.

한 번씩은 다뤄봐야 하지 않나, 싶은 것들을 모두 담고 있습니다. 어느 챕터하나 건너뛰지 않고 쭉 달리다 보면 기본기를 잘 다질 수 있을 것 같습니다.

PART2 에서는 배열, 함수, 객체 순으로 진행되고 있고 PART3 에서는 폼을 만들고, 데이터베이스를 연동하고, 파일과 쿠키, 세션을 다루게 됩니다.

보통 책들은 이 부분까지 설명을 합니다. 이 책은 그 뒷부분이 더 재밌습니다.

디버깅, 테스팅, 소스 관리 등 책에서 챕터로 만나기 어려웠던 부분을 다루어 주고 있어서 입문자에게 더 좋은 것 같습니다. 더 뒷부분에는 프레임워크 설명도 나와있기 때문에 입문 이후로 프레임워크 사용까지 겸할 수 있습니다.


모든 챕터에는 마지막에 “마치며” 와 “연습문제”가 있습니다. “마치며” 부분은 정리도 잘 되어있고 필요한 부분을 자신이 되돌아보는 시간을 가지게 해주었습니다. “연습문제”는 이 문제에 이 대답이 필요해! 라는 기준같은 것도 없었고 뒤의 해설도 주석이 함께 있어서 이해하기 쉬웠습니다.


사실 코딩에 정답은 없지만 제가 배워오고 찾아보았던 코딩 스타일이 달라서 처음엔 당황했었습니다. 아직 3년차 이지만 ‘이런 방식으로도 코딩이 가능하구나’ 를 알게되어 아는 부분도 다시 해보게 됐습니다. 처음에 입문자에게 추천한다고 했지만 중급자도 한 번 씩 참고해서 볼 수 있는 책이라고 생각합니다.

결론적으로 말하자면, 이 책은 PHP초보 개발자와 기초를 좀 더 확실히 다져서 라라벨 같은 인기 프레임워크에 도전 하려는 초중급 개발자에게 최고의 교과서라고 생각합니다.

 

구글의 엔지니어인 데이비드 스클라가 알려 주는 쉽고 놀라운 PHP 언어만의매력을 꼭 한번 체험해 보길 바랍니다.

 

1. 기본 정보

 

(1) 제목: 러닝 PHP (PHP입문에서 프레임워크를 활용한 실전 프로그래밍까지)

(2) 저자: 데이비드스클라

(3) 번역: 정병열

(4) 발행: 2017 04 01

(5) 출판사: 한빛미디어

 

2. 누가 이 책을 읽어야 할까?

 

이 책은 다음과 같은 사람들에게 매우 유용합니다.

 

(1) PHP 개발을 이제 막 시작하는 초보 개발자, 그래서 훌륭한 지침서가 필요한 개발자

(2) 아직도 PHP 5.2이하의구닥다리 환경에서 개발하고 있는 프로그래머

(3) 워드프레스, XE와같은 유명 PHP CMS의 확장 기능을 개발하고자 하는 개발자

(4) PHP 코드를 이해하고 동료 개발자와의 협업을 원활하게 하고자하는 프론트엔드 개발자와 디자이너

 

3. 지갑을 열게 하는 이 책만의 장점

 

(1) 번역이 깔끔하여 읽고 이해하는데 전혀 지장이 없습니다.

(2) PHP 7의 최신 내용을 담고 있는 기본서이자 업무에 즉시적용이 가능한 실용서입니다.

(3) 예제 소스는 PHP 표준권고(PSR)를 준수함으로 올바른 코딩 스타일을 익히는데 도움이 됩니다.

(4) 초보 프로그래머를 위해 PHP프로그래밍의의 기본 규칙에서 데이터(문자, 숫자, 변수 등) 다루기까지 상세히 설명하고 있습니다.

(5) DB 조작을 위한 PDO 객체, 다국어 홈페이지 구축을 위한 국제화와 지역화, 예외처리와 디버깅등 홈페이지 구축에 필요한 필수 주제를 자세히 다루고 있습니다

(6) 각 장의 말미에 지금까지 다룬 내용을 핵심만 짧게 요약하여기술해 줍니다.

(7) 각 주제를 완벽하게 학습하도록 도와주는 연습문제와 해답풀이를제공합니다. (연습문제를 꼭 풀어 보세요.)

 

4. 함께 읽으면 좋아요.

 

이 책을 통해서 PHP의 문법, 함수, DB조작, 패키지 설치, 디버깅등을 익히고 나면 실제 간단한 웹사이트를 스스로 구축할 수 있습니다.

 

단만 현장에서 여러 개발자와 협업을 통해 비즈니스용 시스템을 구축하기 위해서는 고급 개발방법에 대한 심화학습이요구됩니다. 특히 요즘에는 다양한 프레임워크 기반의 현대적인 PHP7 기술로 개발을 해야 합니다.

 

객체지향 코딩, 코드 재활용을 위한 트레이트 사용, 협업을 위한 네임스페이스와 PSR 표준 코딩법, Composer에 의한 컴포넌트 관리 그리고 PHP의 최적화 방법등이 이에 해당됩니다.

 

그래서 열거한 기술들을 자세히 살펴 볼 수 있는 책들을 아래에 소개합니다.

 

* Modern PHP: 조시 록하트, 한빛미디어

* 만들면서 배우는CodeIgniter 프레임워크: 변종원, 한빛미디어

* 쉽게 배우는 라라벨5 프로그래밍: 정광섭, 위키북스

* 라라벨로 배우는 실전 PHP 웹프로그래밍: 김주원, 제이펍

 

5. 목차 별 핵심내용

 

개발에 필요한 필수 지식 중에 이 책에서 주목해야 할 주제에 대해서 간략하게 소개하고자 합니다. 1장에서 7장까지의 내용은 기초 중에 기초인 변수, 조건문, 반복문, 배열, 함수, 파일, 객체에대한 내용이지만 정말 딱 필요한 핵심만 짚어 설명하고 있으므로 부담 없이 읽어 보면 됩니다. , 연습문제는 반드시 풀어 보길 당부 드립니다.

 

참고로 6장의 주제인 객체(Object)은별도의 서적을 봐야 할 정도로 방대한 내용이고 고급 주제입니다. 아쉽게도 국내에는 PHP 객체지향을 다룬 책이 없습니다. 원서를 참고하든지 Java 언어 관련 책을 참조해야 합니다.

 

08. 정보 저장: 데이터베이스

 

PHP 관련 도서를 볼 때 가장 불만스러웠던 점이 MySQL에 대해 너무 많은 분량을 할애한다는 것입니다. 분명 PHP 서적인데 MySQL에 대한 분량이 거의 절반인 경우도 많습니다. 이런 관점에서 이 책은 적절하게 이 장에서만 MySQL을 이용한데이터 조작CRUD를 상세히 다루고 있습니다.

 

특히 DB를 다룰 때 mysqli 확장보다 PDO를 사용하여 설명한 것이 큰 장점이라 생각합니다.  그리고 SQL injection 공격에대비한 Prepared 구문에 대해서도 다루고 있습니다.

 

09. 파일 다루기

 

파일 조작이 데이터베이스보다 중요도가 떨어진다고 생각하겠지만 요즘 개발에서 다양한 형식의 파일을 다룰 일이 많습니다. 예들 들어 서로 다른 시스템에서 데이터를 주고 받을 때 Json 형식을사용한다든지, 다국어를 위한 랭귀지 파일을 읽고 수정하기 쉬운 csv형식으로 제작한다든지, 설정 내역을 키-값 형식의 ini 파일에 저장하는 경우가 이에 해당됩니다.

 

그래서 이 장에서는 파일 조작형태에 따라 유용한 내장 함수에 대해서 설명하고 있습니다. , 전체 파일을 읽고 쓰는 함수(file_get_contents(),file_put_contents() 함수), 파일 일부분을 읽고 쓰는 함수(file(), fopen(), fget(), fput(), feof(), fclose()), csv 파일 관련함수(fgetsvc(), fputcsv()), 파일 권한 체크 함수(is_readable(),is_writable()) 그리고 외부에서 입력 받은 파일명에서 불필요한 문자를 제거하여 안전하게 사용하는 보안 처리에 대해서 다루고있습니다.

 

10. 사용자 추적: 쿠키와 세션

 

정보 보안 차원에서 쿠키 사용을 권장하지 않지만, 개인정보가 아닌사용자 경험을 임시 저장하는 방법으로 쿠키가 널리 사용되고 있습니다. 이러한 간편한 쿠키 조작을 위한쿠키 저장, 쿠키 읽기, 쿠키 삭제 등에 대해서 다룹니다. 마찬가지로 서버에 저장되는 세션 조작을 위해 세션 저장, 세션 읽기, 세션 유지 및 삭제 등에 대해서 상세히 배우게 됩니다.

 

12. 디버깅

 

오류의 종류에 대해 학습하고 실제 오류의 예제를 살펴 볼 수 있습니다. 간단한디버깅 출력을 위한 print, var_dump(), error_log() 함수에 대해서 살펴보고, PHP에서 제공하는 phpdbg디버거를 이용한 프로그램 디버깅에대해서 알아봅니다. 실무에서는 phpdbg보다 Xdebug 디버거를 많이 사용하지만 이에 대해서는 별도로 설명하지 않습니다.

 

그리고 try~ catch 예외 처리에서도 잡지 못하는 예외를 처리하기위한 전역 예외 처리 함수인 set_exception_handler()에 대해서도 배웁니다.

 

15. 날짜와 시간 처리

 

PHP 실무를 하다 보면 반복적으로 사용하는 함수가 날짜, 시간 관련 함수입니다. 이 장에서는 전통적인 date()와 같은 날짜 함수보다 새로운 DateTime 클래스를이용한 진보된 날짜 처리 테크닉을 알려 줍니다.

 

기본적인 날짜 출력 객체인 DateTime 클래스, 날짜 출력형식을 지정하는 format() 메서드, 부분 문자열로 날짜/시간을 지정하는 setDate(), setTime() 메서드, 두 날짜 사이의 간격을돌려주는 diff() 메서드 등에 대해서 설명합니다.

 

16. 패키지 관리

 

현대적인 PHP로 개발하고 있느냐 아니냐의 잣대가 되는 것이 바로이름공간(Namespace)과 이 장에서 설명하는 패키지 의존성 관리 도구인 Compose의 사용유무일 것입니다.

 

composer는 사용법이 매우 간단합니다. 특히 많은 콤포넌트를 사용하더라도 자동 로딩을 보장하고 패키지 사이의 버전 의존성을 쉽게 관리할 수 있습니다. 그리고 이미 만들어진 안정된 콤포넌트를 설치하여 활용하면 개발 기간을 획기적으로 단축 시킬 수 있으므로 composer 사용은 필수라고 해도 과언이 아닙니다.

 

이 장에서는 composer의 설치 방법, 패키지 저장소인 패키지스트에서의 패키지 검색, 다운로드 방법 그리고내 시스템에 composer를 이용하여 다운로드 받은 패키지를 실제 설치하는 방법 등에 대해서 배우게됩니다.

 

17. 메일 보내기

 

앞 장에서 composer 사용법을 익혔다면 이번 장은 정말 쉽습니다.

PHP에서 제공하는 mail() 함수는너무 단순해서 복잡한 메일 형식을 보낼 때 개발자가 추가의 코딩을 해야 하는 노력이 필요합니다.

 

하지만 composer를 통해 스위프트(swiftmailer) 라는 메일러를 설치하면 몇 개의 객체 메서드를 통해 다양한 기능의 메일 발송을 쉽게 구현할수 있습니다. 이러한 메서드의 자세한 사용 방법은 이 책에서 제공하지는 않지만 제작사의 온라인 매뉴얼을참조하면 쉽게 여러 가지 기능을 구현할 수 있습니다.

 

18. 프레임워크

 

이 장에서 설명하는 주제인 프레임워크는 별도의 책 한 권에 담기에도 방대한 분량이므로 해당 프레임워크에 대한서적을 별도로 구매해서 학습해야 합니다. 다만 이 책에서 소개하는 프레임워크는 현재 PHP 개발자들 사이에서 가장 주목 받고 있는 프레임워크 3총사(라라벨, 심포니, 젠드)에 대해서 간략하게 설명합니다. 참고로 국내에서는 라라벨과 CodeIgniter 프레임워크 사용자가 많습니다.

 

19. 명령행 PHP

 

명령 행 PHP PHP CLI라고합니다. 주로 콘솔에서 사용하는 대화형 셸을 PHP 언어로구현할 때 필요한 기술입니다. 일반 PHP 웹 프로그램과별 차이는 없고 콘솔에서 입력 받은 인수를 저장하고 있는 $_SERVER[‘argv] 배열만 익혀 놓으면됩니다.

 

그리고 잘 사용하지는 않지만 PHP가 내장하고 있는 소형 내장 웹서버와 PHP REPL에 대해서 배우게 됩니다. (실무에서는 흔하게 사용되지는않습니다.) 다만 예제에 사용된 smplexml_load_file()함수가 XML 파일 사용 시 자주 사용되는 유용한 함수이므로 예제를 주의 깊게 보면 명령행에서 원격의 XML파일을 조작하는 팁을 익히게 됩니다.

 

20. 국제화 지역화

 

다국어 홈페이지를 개발할 때 접하게 되는 문제는 이 장에서 설명하는 국제화와 지역화에 대한 경험과 개념이 부족해서발생하게 됩니다.

 

8 페이지 분량에 다국어 개발에 필요한 핵심 개념이 모두 담겨 있으니꼭 읽어 보고 실전에 활용했으면 좋겠습니다.

 

 

우선 텍스트 처리를 위해 mb_strlen(), ms_substr()와같은 mbstring 확장 함수에 대해 배우게 됩니다. 문자열정렬을 위해 로케일에 따른 Collator 클래스와 sort(),asort(), strcmp() 등의 정렬 메서드의 사용법을 배우게 됩니다.

 

개요

대상 독자

기술적으로 전문가가 될 필요는 없는 사람
이 책에서 나를 부르고 있다. ㅋ

 

특징

입문서 성격

입문서를 표방하고 있고
내용도 입문서이긴 한데…

 

PHP7 기반

PHP7 기반의 서적이 필요한 시기
현재 시점에서야 PHP5 기반의 사이트가 많겠지만

네임드 CMS들도 점점 PHP7을 지원하고 있는 추세이고
구버전의 ”End Of Life”를 생각한다면
새로 시작하는 사람은 PHP7을 학습하는 것도 좋다고 생각함

PHP7 을 기술한 서적은 아직 없어보이는 시점이기 때문에 나름 적절하다고 할 수 있겠다.

 

연습문제

각 챕터 마다 연습문제를 가지고 있다.
(해당 챕터에서 무엇을 배웠는지에 대한 간략한 (항목)정리도 있다)
연습문제가 있는 것은 그리 새로운것이 아니지만

세상에 해답을 같이 두고 있다.
본문 전체의 약 20% 정도 분량이 챕터별 연습문제의 해답 이다.

보통

문제는 내긴함
근데 스타일이 다 틀린데 정답이 어딨나. ㅋ
나머지는 알아서 생각해 봐야지

라는 형태였기 때문에 나름 신선하다.
신선한것 뿐만 아니라 아주 바람직 하다는 생각.

 

지식 외 저자의 경험 측면 (일부지만…)

할당 VS 비교 설명에서

==, = 사용의 실수를 방지 하기 위해
조건식의 경우 값을 왼쪽에 두라는 아이디어

!!! 생각도 못해봤다..
물론 본인은 [echo ”hello world”;] 한줄만 구현 가능한 비개발자 이기 때문에 그렇기도 하지만..
이 책의 대상 독자는 입문자 아니겠나…!

 

함수 설명의 경우에도

  • 어떤 이름으로 선언하는 것이 좋은가
  • 어떤 경우 에러가 발생 하는가
  • 어떻게 하면 그 에러를 방지 하는가
  • 전역변수 지역변수 차이점 비교 예제

이런 형태로 설명이 되어있다.
좋은 역시나 좋은 내용임

하지만 내용 전체가 그런것은 아니고… 일부만…
그래도 그것이 어디인가!

 

 

 

아쉬운점

PHP 확장 모듈에 대한 설명 관련

  • PEAR
  • PECL

에 대한 설명이 없다.

대신 composer 라는 것으로 설명을 하고 있는데
저자 성향상 composer 가 더 나은 방향이라고 판단을 했다 하더라도

PEAR 에 대한 언급이 있고
저자의 경험으로 비추어 추천하는 바가 있으니
병행 또는 대체에 대한 내용을 기술 하는게 맞다고 본다.
(적어도 입문자 에게는…)

그리고 완전한 대체를 위해 composer 만을 설명한 것으로 가정해도 설명이 너무 적다.

 

 

마무리

사실 (중)후반부의 간략한 내용때문에 저자의 의도와는 다르게 난이도가 좀 높아지는 느낌을 받았다.
그럼에도

  • 저자의 경험이 어느정도 들어 있고
  • PHP7 기반

의 장점이 있으므로 한번쯤 볼만하다.

혹 좀더 재미난 학습을 위해서는 ”Head First PHP & MySQL”도 추천한다.. ;;;;

PHP를 배우고 사용하려는 분들에게 프레임워크는 하나의 벽이다.

시중에 소개된 프레임워크들은 사용할 수는 있으나 그 소스를

볼 수 없으므로 고수준의 PHP를 익히는데 한계가 있다. 이 책은 

그런 의미에서 PHP 사용자들에게 기초를 익히는 데 있어서나 

프레임워크를 이해 하고 사용하려는 고급 수준의 면에 있어서나 

모든 PHP 사용자들에게 큰 도움이 되리라 여겨진다.

결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원 무료배송
닫기

리뷰쓰기

닫기
* 상품명 :
러닝 PHP
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
러닝 PHP
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
러닝 PHP
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실

최근 본 상품1