Top

Laravel 웹 애플리케이션 개발 [PHP 개발자를 위한 모던 웹 프레임워크]

  • 원서명Laravel Application Development Cookbook (ISBN 9781782162827)
  • 지은이테리 마튤라
  • 옮긴이오진석
  • ISBN : 9788960775695
  • 35,000원
  • 2014년 06월 23일 펴냄
  • 페이퍼백 | 376쪽 | 188*235mm
  • 시리즈 : acorn+PACKT, 웹 프로페셔널

책 소개

요약

라라벨(Laravel)은 웹 장인들을 위한 PHP 프레임워크라는 슬로건하에 테일러 오트웰(Taylor Otwell)에 의해 주도적으로 개발된 모던 PHP 프레임워크다. 현재 라라벨은 PHP 개발자 커뮤니티에서 가장 주목받고 인기를 얻고 있는 프레임워크로 자리매김함에 따라, 수많은 전용 패키지들과 각종 학습 자원들이 인터넷에 시시각각 공개되고 있으며 앞으로는 더욱 많은 사용자층을 확보할 전망이다. 이 책은 라라벨을 이용해 애플리케이션을 만들 때 겪어야 하는 다양한 문제를 총망라하여 그 해법을 제공한다.

이 책에서 다루는 내용

■ 아파치에서 가상 호스트와 개발환경 설정
■ 사용자 인증 시스템 설정
■ RESTful 컨트롤러 사용
■ 애플리케이션 디버깅과 프로파일링
■ 아마존 S3 클라우드에 콘텐츠 저장
■ artisan 명령 행 툴 사용
■ 라라벨 애플리케이션에 자바스크립트와 제이쿼리 사용
■ 라라벨 단위 테스트

이 책의 대상 독자

이 책은 중급 PHP 개발자를 위한 것이다. 다양한 PHP 프레임워크나 라라벨 버전 3의 기초 지식이 있다면 이 책을 읽는 데 도움이 되며, MVC 구조와 객체지향 프로그래밍에 대한 지식이 있다면 그 또한 유익할 것이다.

이 책의 구성

1장, ‘라라벨 설정과 설치’: 라라벨을 설치해서 동작하게 하는 여러 방법을 다룬다.

2장, ‘폼 사용과 입력 값 수집’: 라라벨에서 폼을 사용하는 다양한 방법을 살펴본다. 라라벨의 폼 클래스 사용법과 몇 가지 기본 검증법을 다룬다.

3장, ‘애플리케이션 인증’: 사용자를 어떻게 인증하는지를 살펴본다. OAuth, OpenId, 그리고 여러 소셜 네트워크 서비스를 이용한 사용자 인증법을 다룬다.

4장, ‘데이터 저장과 사용’: 데이터에 관련된 모든 내용을 살펴본다. MySQL 데이터베이스가 아닌 그 밖의 데이터 소스를 사용하는 방법도 포함한다.

5장, ‘URL과 API를 위한 컨트롤러와 라우트 사용’: 라라벨에서 하는 다양한 라우팅 방법과 API를 만드는 기초적인 방법을 소개한다.

6장, ‘뷰 출력’: 라라벨에서 뷰가 어떻게 동작하는지를 살펴본다. 트윅(Twig) 템플릿 시스템과 트위터 부트스트랩 사용법 등을 설명한다.

7장, ‘콤포저 패키지 생성과 사용’: 애플리케이션에서 패키지 사용법과 커스텀 패키지 생성법 등을 설명한다.

8장, ‘Ajax와 jQuery 사용’: 라라벨에서 제이쿼리를 사용하는 방법과 비동기 호출 방법에 대한 다양한 예제를 제시한다.

9장, ‘보안과 세션의 효율적 사용’: 애플리케이션 보안 관련 주제와 세션 및 쿠키 사용법을 다룬다.

10장, ‘애플리케이션 테스트와 디버깅’: PHPUnit과 코디셉션(Codeception)을 이용한 애플리케이션 테스트 방법을 다룬다.

11장, ‘애플리케이션에서 외부 서비스 활용’: 다양한 외부 서비스들을 소개하고 애플리케이션에서 활용하는 방법을 알아 본다.

저자/역자 소개

저자 서문

라라벨(Laravel)은 가장 빠르게 성장하는 PHP 프레임워크 중 하나다. 문법이 직관적이고 쉽게 읽을 수 있으며 훌륭한 문서도 갖추고 있으므로, 무척 짧은 기간에 완벽하게 동작하는 웹 애플리케이션을 쉽게 구축할 수 있다. 또한 라라벨의 네 번째 버전이 최신 PHP 기능들을 제공하므로, 프로그래머는 다양한 요구사항에 아주 쉽게 맞출 수 있고, 필요시에 매우 복잡한 사이트도 쉽게 개발할 수 있다. 라라벨의 기술은 단순성과 고급성이 잘 조화를 이룬다.

이 책이 다루는 내용은 라라벨로 할 수 있는 일 중 일부에 지나지 않는다. 따라서 이 책을 다양한 업무 처리에 쓸 예제 코드가 있는 출발점으로 생각해 주길 바란다. 그런 다음에 예제들을 입맛에 맞게 고치거나 살을 붙이거나 조합해서 자신만의 애플리케이션을 만들어 보자. 가능성은 무한대다.

라라벨의 가장 뛰어난 장점들 중 하나로는 의견 교환을 들 수 있다. 어떤 문제에 막혀있는 상황에서 구글 검색으로도 도움을 받지 못할 때가 있다. 라라벨 개발자 모임에는 항상 도와 줄 사람들이 있다. IRC(Freenode의 #laravel)나 포럼(http://forums.laravel.io)에서 도움을 줄 회원들을 만날 수 있고, 트위터로도 많은 라라벨 사용자와 연락할 수 있다.

라라벨 코딩으로 행복을 누리길!

저자 소개

테리 마튤라(Terry Matula)

라라벨을 지원하는 웹 개발자로, 텍사스 오스틴에서 활동한다. 애플 IIe 컴퓨터에서 오레곤 트레일(Oregon Trail) 게임을 처음 하던 시절부터 컴퓨터 광팬이었다. 아주 어렸을 때 베이직 언어로 프로그래밍을 시작해, 스콧 애덤스(Scott Adams)와 같은 간단한 게임을 코모도어(Commodore VIC-20) 컴퓨터로 만들었다. 그 이후로도 줄곧 플래시/액션스크립트, ASP.NET, PHP와 수많은 PHP프레임워크를 이용해 개발자로 일해 왔는데, 그 중에 라라벨이 지금까지 가장 선호하는 PHP 프레임워크다. 웹 개발과 관련한 각종 팁을 다루는 개인 블로그 http://terrymatula.com를 운영한다.

옮긴이의 말

이 책을 번역하게 된 가장 큰 동기를 부여해 준 사람은 laracasts.com이라는 라라벨 튜토리얼 서비스를 운영 중인 제프리 웨이(Jeffrey Way)다. 라라벨의 든든한 지원군이기도 한 그는, 직접 코딩을 하면서 명료한 발음으로 전개하는 천재적인 강의로 개발자들의 큰 사랑을 받는 신선하고 매력적인 개발자다. 무엇보다도 제프리 웨이를 통해 얻은 진정한 영감과 가치로는 그의 천재성이 열정적인 노력의 산물이라는 사실을 직접 확인할 수 있었다는 점과, 그로 인해 나도 생산적인 동기를 지니고 늘 새로운 목표를 세울 수 있었다는 점을 꼽을 수 있다.

라라벨은 루비 온 레일스의 액티브 레코드에 상응하는 Eloquent ORM을 지원하며, 루비 온 레일스에서 처음 대중화된 DB 마이그레이션과 시드(seed) 기능도 제공한다. 또한, 전체 프레임워크가 의존성 관리 도구(dependency managing tool)인 콤포저(Composer)의 패키지들로 모듈화되어 있어서, 콤포저 명령을 사용해 손쉽게 의존성 충돌 없이 업데이트할 수 있다. 그것뿐만 아니라 RESTful 라우팅 기능은 모바일용 API를 제작하는 데 최적의 환경을 제공하며, 뷰 작업을 간결하게 할 수 있는 블레이드(Blade) 템플릿 엔진도 라라벨의 또 다른 자랑거리다.

특히 손쉬운 의존성 주입(dependency injection) 기능으로 단위 테스트(unit test)를 할 수 있다는 점은 테스트 주도 개발(TDD, test driven development)에 유리하다. 아울러 이미 1,000개가 넘는 라라벨 전용 패키지들을 쉽게 자신의 프로젝트에 적용할 수 있다는, 간과할 수 없는 장점도 있다. 아마도 가장 대중적이고 유행하는 개발 패턴들을 적용하기에 적합한 최신 프레임워크를 찾는 PHP 개발자라면, 전 세계 PHP 개발자들이 열광하는 라라벨에 주목하기 바란다.

옮긴이 소개

오진석

미국 남가주 대학교(University of Southern California) 전산학 석사를 졸업하고 현재 웹 애플리케이션과 iOS 애플리케이션을 개발하고 있는 현업 LAMP/LEMP 기반 풀스택(full-stack) 소프트웨어 엔지니어다. 애플리케이션 개발과 관련된 관심과 열정을 갖고 있는 다양한 분들과 교류를 원하며, 개인 블로그(http://sagage.com)를 통하여 연락할 수 있다.

목차

목차
  • 1장 라라벨 설정과 설치
  • git 서브 모듈로 라라벨 설치
  • 아파치에서 하는 가상 호스트 설정과 개발환경 설정
  • 클린 URL 만들기
  • 라라벨 설정
  • 라라벨을 서브라임 텍스트 2로 사용
  • IDE에서 라라벨 자동 완성 기능 설정
  • 클래스 이름과 파일을 매핑하는 오토로더 사용
  • 네임스페이스와 디렉토리를 사용한 고급 오토로더 만들기

  • 2장 폼 사용과 입력 값 수집
  • 소개
  • 간단한 폼 생성
  • 폼 입력 값 수집 후 그 밖의 페이지에서 출력
  • 사용자 입력 값 검증
  • 파일 업로더 생성
  • 업로드한 파일 검증
  • 오류 메시지 변경
  • 폼에 허니팟 삽입
  • 리댁터를 사용한 이미지 업로드
  • 제이크롭으로 이미지 자르기
  • 자동완성 텍스트 입력 필드 생성
  • 캡차 스타일 스팸방지기 만들기

  • 3장 애플리케이션 인증
  • 소개
  • Auth 라이브러리 설치와 설정
  • 인증 시스템 생성
  • 로그인한 사용자의 정보를 가져와 변경
  • 페이지 접근 제한
  • HybridAuth 패키지로 OAuth 설정
  • OpenID로 로그인
  • 페이스북으로 로그인
  • 트위터로 로그인
  • 링크드인으로 로그인

  • 4장 데이터 저장과 사용
  • 소개
  • 마이그레이션과 스키마를 사용한 데이터 테이블 생성
  • Raw SQL 문을 사용한 질의
  • Fluent를 사용한 질의
  • Eloquent ORM을 사용한 질의
  • 모델 내에서 자동 인증 기능 사용
  • Relationship을 이용한 고급 Eloquent 기능 사용
  • CRUD 시스템 생성
  • Eloquent를 사용해 CSV 자료 불러오기
  • 데이터 소스로 RSS 사용
  • 속성을 사용한 테이블 칼럼 이름 변경
  • 라라벨에서 Eloquent 이외의 ORM 사용

  • 5장 URL과 API를 위한 컨트롤러와 라우트 사용
  • 소개
  • 기본 컨트롤러 생성
  • 클로저를 사용한 라우트 생성
  • RESTful 컨트롤러 생성
  • 고급 라우팅 사용
  • 라우트 상에 필터 사용
  • 라우트 그룹 사용
  • 라우트로 RESTful API 만들기
  • 네임드 라우트 사용
  • 라우트 안에서 서브도메인 사용

  • 6장 뷰 출력
  • 소개
  • 기본 뷰의 생성과 사용
  • 데이터를 뷰로 전달
  • 다른 뷰나 중첩 뷰 안에 뷰를 로딩
  • 애셋 추가
  • 블레이드 사용
  • 트윅 템플릿 엔진 사용
  • 고급 블레이드 사용법 활용
  • 콘텐츠의 다국어 지원 210
  • 라라벨에서 메뉴 만들기
  • 부트스트랩 사용
  • 네임드 뷰와 뷰 콤포저 사용
  • 소개

  • 7장 콤포저 패키지 생성과 사용
  • 패키지를 내려받아 설치
  • Generators 패키지 사용
  • 라라벨에서 콤포저 패키지 생성
  • Packagist에 콤포저 패키지 등록
  • Packagist에 등록하지 않은 패키지를 콤포저에 추가
  • 커스텀 artisan 명령 생성
  • 소개

  • 8장 에이잭스와 제이쿼리 사용
  • 다른 페이지로부터 데이터 받기
  • JSON 데이터를 반환하는 컨트롤러 설정
  • 에이잭스 검색 함수 생성
  • 에이잭스로 사용자를 생성하고 검증
  • 체크박스로 데이터 필터링
  • 에이잭스 뉴스레터 등록 박스 만들기
  • 라라벨과 제이쿼리를 사용해 이메일 전송
  • 제이쿼리와 라라벨을 사용해 정렬 가능한 테이블을 생성
  • 소개

  • 9장 보안과 세션의 효율적 사용
  • 데이터 암호화와 복호화
  • 패스워드와 데이터를 해시 처리
  • 폼에서 CSRF 토큰과 필터를 사용
  • 폼에서 커스텀 검증 기능을 사용
  • 쇼핑 카트 구축
  • 레디스를 이용한 세션 저장
  • 세션과 쿠키 사용
  • 안전한 API 서버 생성
  • 소개

  • 10장 애플리케이션 테스트와 디버깅
  • PHPUnit 설치와 설정
  • 테스트 케이스의 작성과 실행
  • 컨트롤러 테스트를 위한 마커리 사용
  • 코드셉션을 사용한 인수 테스트 작성
  • 애플리케이션의 디버깅과 프로파일링
  • 소개

  • 11장 애플리케이션에서 외부 서비스 활용
  • 큐 생성 후 Artisan을 이용해 실행
  • 파고다박스 클라우드 호스팅 서비스 사용
  • 스트라이프 PG 서비스 이용
  • GeoIP 검색과 커스텀 라우팅 설정
  • 메일침프 서비스를 이용해 이메일 발송
  • 아마존 S3 서비스를 활용해 클라우드 콘텐츠 사용

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안