서브메뉴

본문

쉽게 배우는 라라벨5 프로그래밍 (견고하고 확장성 있는 PHP 웹 애플리케이션 개발)
쉽게 배우는 라라벨5 프로그래밍 (견고하고 확장성 있는 PHP 웹 애플리케이션 개발)
저자 : 정광섭
출판사 : 위키북스
출판년 : 2016
정가 : 28000, ISBN : 9791158390365

책소개


『쉽게 배우는 라라벨 5 프로그래밍』은 개발자들이 라라벨을 활용해 쉽고 빠르게 견고한 웹 애플리케이션을 개발할 수 있게 안내한다. 프레임워크 사용에 익숙하지 않은 PHP 개발자를 위해 기본 개념을 자세히 설명하고, 예제와 설명을 따라 하면서 자연스럽게 라라벨 프레임워크의 핵심 기능을 익히도록 구성했다. 나아가 실전 프로젝트를 진행하고 서비스 배포까지 해보면서 실제 웹 애플리케이션을 만들고 배포하는 전반적인 과정을 체험할 수 있게 구성했다.

목차


01장: 라라벨 소개
1.1 모델-뷰-컨트롤러 패턴
1.2 유연한 데이터베이스 지원
1.3 보안을 고려한 설계
1.4 가볍고 익히기 쉬운 템플릿 엔진
1.5 간편 URL
1.6 컴포넌트 기반의 확장성
1.7 의존성 주입과 제어 역전
1.8 설정보다 관례 패러다임
1.9 우아한 문법과 코딩 표준
1.10 국제화 지원
1.11 손쉬운 테스트

02장: 개발 환경 구축
2.1 가상 머신과 Vagrant 설치
Vagrant란?
Vagrant 설치
2.2 홈스테드 구성
라라벨 박스 생성
환경 구성
박스 구동 및 중지
2.3 데이터베이스 설정
2.4 Nginx와 php-fpm 재시작
2.5 HTTP 개요
HTTP 이해의 필요성
피들러 설치
HTTP 통신 엿보기
HTTP 요청 엿보기
HTTP 응답 엿보기
2.6 가상 호스트의 추가 및 변경

03장: 라라벨과의 만남
3.1 라라벨 프로젝트 만들기
라라벨 설치
환경 구성
url
3.2 라라벨 디렉터리 구성
3.3 URL 라우팅
3.4 HTTP 응답 처리
3.5 뷰
3.6 블레이드 템플릿
변수 출력
제어문
레이아웃과 상속
블레이드 디버깅

04장: 명령행, 컨트롤러, 고급 라우팅
4.1 서비스 프로바이더와 파사드
서비스 프로바이더
파사드
라라벨 패키지 설치
4.2 HTTP 예외 처리
4.3 artisan
애플리케이션을 정비 모드로 전환하기
단독 실행 서버 구동하기
atrisan을 이용한 모델 생성
tinker를 이용한 대화형 디버깅
4.4 컨트롤러
기본 컨트롤러와 라우트
암시적 컨트롤러
RESTful 리소스 컨트롤러
tinker를 이용한 컨트롤러 테스트
4.5 미들웨어
미들웨어란?

05장: 마이그레이션과 시딩
5.1 데이터베이스 마이그레이션
마이그레이션 생성
스키마 빌더
5.2 데이터베이스 시딩
시드 생성
5.3 모델 팩토리
모델 팩토리 생성
Persistence 데이터 생성

06장: 컬렉션
6.1 컬렉션 생성
6.2 주요 컬렉션 메서드

07장: 엘로퀀트 ORM
7.1 관례
테이블과 모델명
데이터베이스 연결 정보
7.2 CRUD 실행하기
모델 검색하기(Read)
모든 데이터 읽기
모델 입력과 갱신(Create/Update)
대량 할당 예외 처리
모델 삭제(Delete)
7.3 쿼리 스코프
쿼리 스코프 추가
동적 쿼리 스코프
7.4 모델 이벤트
7.5 접근자와 변경자
7.6 테이블 관계
일대일 관계
일대다 관계
다대다 관계
연결을 통한 다수 관계
다형성 관계
7.7 연관 모델 삽입
참조키 자동 삽입
포함 관계 갱신
다대다 관계 삽입
부모 모델의 타임스탬프 갱신
7.8 연관 모델 삭제
삭제 시 단계적으로 삭제
자식 객체를 삭제한 후 부모 객체 삭제
모델 이벤트로 처리

08장: 일정관리 서비스 만들기
8.1 서비스 개요
8.2 프로젝트 생성
8.3 스키마 설계와 마이그레이션
8.4 화면 설계
8.5 메시지 지역화
8.6 외부 패키지를 이용한 기능 확장
패키지 저장소
라라벨 패키지 설치

09장: 사용자 등록과 로그인
9.1 아이디와 비밀번호를 이용한 인증
9.2 사용자 계정 등록 페이지
9.3 깃허브를 통한 인증
9.4 세션
세션 설정
세션 사용

10장: 프로젝트와 태스크 등록하기
10.1 스캐폴딩 생성 및 관계 설정
컨트롤러와 모델 생성
모델 간 관계 설정
데이터 시딩
10.2 리소스 컨트롤러와 라우팅
컨트롤러 등록
인증 미들웨어 연결
중첩 리소스
10.3 프로젝트 기능 구현
인덱스 구현
show 구현
디버그바를 이용한 디버깅
프로젝트 편집 기능 구현과 CSRF/메서드 스푸핑
생성 기능 구현
삭제 구현
10.4 할일 기능 구현
프로젝트별 태스크 인덱스
수정 기능 구현
태스크 생성 기능 구현
10.5 메인 화면 구현
10.6 비중첩 Task 컨트롤러
검색 기능 구현
10.7 로깅

11장: 서비스 개선
11.1 즉시 로딩
N+1 문제
즉시 로딩
11.2 리소스 권한 검사 미들웨어
11.3 페이지 처리
11.4 데이터 검증하기
컨트롤러에서 처리
폼 요청 검증
검증 규칙
사용자 정의 검증 규칙

12장: 외부 서비스와의 연계
12.1 이메일
메일 드라이버 설정
이메일 전송
12.2 비밀번호 재설정
12.3 주기적으로 만료 기한 통보하기
cron 설정
artisan 명령어 작성
스케줄러 설정
12.4 레디스와의 연동
레디스 맛보기
세션 교체
카운팅 적용

13장: 라라벨 배포
13.1 배포 환경 선택
13.2 우분투 서버에 배포
서버 설정
애플리케이션 배포
13.3 AWS EC2에 배포

14장: php 5의 특징
14.1 네임스페이스
14.2 간결한 배열
14.3 트레이트
14.4 클래스 자동 로딩
14.5 익명 함수
14.6 동적 프로퍼티/메서드 생성
14.7 ::class 키워드를 이용한 클래스 이름 결정
14.8 타입 힌팅
14.9 PHP 표준 권고(PSR)

15장: 컴포저
15.1 프로젝트를 수행할 때 겪는 문제들
라이브러리 설치 관리 문제
의존성 지옥
15.2 유의적 버전
15.3 컴포저의 해결책
15.4 컴포저를 이용한 의존성 관리
15.5 의존 패키지의 버전 지정
15.6 프로젝트 참여자의 의존성 일치시키기
15.7 자동로더