책 소개
코드이그나이터는 PHP 기반의 MVC 프레임워크로 사용이 간편하고 탁월한 성능으로 인해 많은 관심을 받고 있다. 이 책은 코드이그나이터의 다양한 컴포넌트에 대해 설명한다. 일반적인 MVC 구조의 핵심을 이루는 모델, 뷰, 컨트롤러에 대해 자세히 다루며 이와 함께 라이브러리, 헬퍼에 대한 자세한 정보를 제공한다. 책 속에 있는 다양한 예제는 각 컴포넌트를 사용하는 방법을 보여준다. 페이스북, 플리커 같은 외부 API 사용법부터 jQuery/AJAX 연동 예제까지, 실제 개발에도 유용하게 참고할 수 있는 예제를 수록했다.
이 책에서 다루는 내용
■ 코드이그나이터 설치, 각 리소스 디렉토리 익히기
■ 자신만의 첫 웹 애플리케이션 개발
■ 자신만의 코드이그나이터 라이브러리 정의
■ 코드이그나이터 컨트롤러 메소드를 이용한 AJAX 호출 처리
■ 컨트롤러, 헬퍼 사용법
■ 코드이그나이터 명명 규칙
■ 모델을 통한 데이터베이스 접근법, 헬퍼를 이용한 그 밖의 리소스 사용법
이 책의 대상 독자
이 책은 객체지향 MVC 개념과 코드이그나이터 플랫폼을 이용해 PHP 웹 애플리케이션을 작성하는 데 관심이 있는 PHP 웹 개발자를 위해 쓰여졌다. 이 책의 내용을 이해하려면 최소한 PHP 프로그래밍, 특히 PHP 객체지향 프로그래밍과 MySQL에 대한 어느 정도의 지식이 있어야 한다.
이 책의 구성
1장 ‘시작’에서는 웹 기반 애플리케이션과 함께 코드이그나이터 프레임워크를 소개한다.
2장 ‘설정과 명명 규칙’에서는 여러 예제와 함께 CI 프로젝트 내에서 필수적인 설정과 사용법, 옵션과 함께 CI의 이름 명명 규칙, 스타일, 철학 등을 살펴본다.
3장 ‘컨트롤러 사용법과 유효 범위'에서는 CI의 컨트롤러와 CI 컨트롤러를 확장한 사용자 정의 컨트롤러를 살펴본다. 명확한 설명을 위해 여러 예제와 함께 CI 컨트롤러 클래스의 서비스, 역할, 정의, 사용법, 범위 등을 살펴본다.
4장 ‘라이브러리’에서는 CI 프레임워크상의 라이브러리를 살펴본다. 라이브러리의 역할, 정의, 사용법, 범위 등을 여러 예제와 함께 학습한다. 라이브러리를 정의하고 사용하는 방법을 보여주는 예제를 보여준다.
5장 ‘헬퍼’에서는 CI 헬퍼와 사용자 정의 헬퍼의 재사용 가치, 정의 규칙, 유효 범위, 사용법 등을 소개한다. 헬퍼를 정의하고 사용하는 방법을 다룬 예제를 제공한다.
6장 ‘모델’에서는 CI 모델과 사용자 정의 모델의 재사용 가치, 정의 규칙, 범위, 사용법 등을 다룬다. 모델을 정의하고 CI 모델을 확장, 사용하는 방법을 보여준다.
7장 ‘뷰’에서는 클라이언트 측에서 시각적인 화면을 생성하고 HTTP를 통해 사용자와 상호작용하는 CI의 뷰 개념을 설명한다. PHP에서의 뷰와 그 범위, 시각적인 컨텐츠(HTML/CSS), 그리고 클라이언트 브라우저를 위한 프로그램(JavaScript/AJAX/jQuery)을 설명한다. 이 뷰의 유효 범위와 정의, 그리고 컨트롤러를 이용한 그리기를 할 때 필요한 실제적인 방법과 요령을 이 장에서 다룬다.
부록에서는 개발자 커뮤니티 환경을 비롯해, 코드이그나이터 자료와 관련된 추천 외부 자료를 제시한다.
목차
목차
- 1장 시작
- 코드이그나이터 설치
- CI 폴더 살펴보기
- 필수 요소
- 예제 1: Hello World
- 컨트롤러 파일
- 뷰 파일
- 예제 2: 복잡한 매개변수를 뷰에 전달하기
- 컨트롤러 파일
- 뷰 파일
- 예제 3: 모델을 이용해 데이터베이스에 질의한 후 그 결과를 뷰에 렌더링하기
- 컨트롤러 파일
- 모델 파일
- 뷰 파일
- 예제 4: 대화형 연락처 폼
- 컨트롤러 파일
- 뷰 파일
- 정리
- 2장 설정과 명명 규칙
- CI 디렉토리 구조
- config.php
- database.php
- routes.php
- 자신만의 설정 정의와 사용
- CI 명명 규칙의 이해와 사용
- 주요 리소스 명명 규칙
- 컨트롤러 정의 명명 규칙
- 주요 리소스 명명 규칙
- 예제 1: 컨트롤러의 index 메소드 호출
- 예제 2: 매개변수 없이 컨트롤러의 calc 메소드 호출하기
- 예제 3: 매개변수와 함께 컨트롤러 메소드 호출하기
- 예제 4: AJAX를 통해 AJAX 처리 메소드를 매개변수와 함께 호출하기
- 라이브러리, 모델, 헬퍼 로딩
- 그 밖의 명명 규칙
- 정리
- CI 디렉토리 구조
- 3장 컨트롤러 사용법과 유효 범위
- CI 컨트롤러의 유효 범위
- 사용자 정의 CI 컨트롤러
- CI 컨트롤러 확장
- CI 컨트롤러 사용 예
- 예제 1: 기본 홈페이지 컨트롤러
- 컨트롤러 파일
- 뷰 파일
- 설정 파일
- 예제 2: 첨부파일과 함께 이메일 전송하기
- 컨트롤러 파일
- 예제 3: 관리자와 일반 사용자 로그인
- 컨트롤러 파일
- 모델 파일
- 예제를 위해 데이터베이스에 업로드할 SQL 파일
- login_view 파일
- logininview 뷰 파일
- 예제 1: 기본 홈페이지 컨트롤러
- 정리
- 4장 라이브러리
- CI 라이브러리의 유효 범위와 사용법
- 사용 가능한 CI 라이브러리
- 예제 1: 내장 라이브러리 사용
- 컨트롤러 파일
- 뷰 파일
- 예제 2: 구글 맵 CI 라이브러리 래퍼 사용
- 컨트롤러 파일
- 뷰 파일
- 예제 3: 플리커 AIP 래퍼 라이브러리 구축
- flickr_wrapper.php 라이브러리 파일
- flickr_recent.php 컨트롤러 파일
- flickrrecentview.php 뷰 파일
- 예제 4: 링크드인 API 래퍼 구축
- 프로젝트 요구사항
- 인증 흐름
- linkedin_handler.php 라이브러리 파일
- linkedinfo.php 컨트롤러 파일
- linkedin-me.php 뷰 파일
- 정리
- CI 라이브러리의 유효 범위와 사용법
- 5장 헬퍼
- CI 헬퍼의 유효 범위와 사용법
- 사용 가능한 CI 헬퍼
- CI 시스템 내장 헬퍼
- CI 제3자 헬퍼
- 사용 가능한 CI 헬퍼
- 예제 1: 내장 헬퍼 사용
- 컨트롤러 파일
- 뷰 파일
- 예제 2: 제3자 헬퍼 사용(SSL 헬퍼)
- 헬퍼 파일
- 컨트롤러 파일
- 뷰 파일
- 예제 3: 자신만의 헬퍼 구축(my_download 헬퍼)
- 헬퍼 파일
- 컨트롤러 파일
- 뷰 파일
- 정리
- CI 헬퍼의 유효 범위와 사용법
- 6장 모델
- CI 모델의 유효 범위
- 모델의 경로
- 모델 로딩
- 모델의 메소드 사용
- 데이터베이스 연결
- 비즈니스 로직
- 객체 관계 매핑
- 간단한 ORM 사용 예제
- 예제 1: CRUD 예제
- 컨트롤러 파일
- 모델 파일
- 뷰 파일
- 예제 2: 비즈니스 로직 예제
- 컨트롤러 파일
- 모델 파일
- 뷰 파일
- 예제 3: 페이스북으로부터 데이터 가져오기
- 컨트롤러 파일
- 모델 파일
- 뷰 파일
- 정리
- CI 모델의 유효 범위
- 7장 뷰
- CI 뷰의 유효 범위
- CI 뷰에서 사용하는 리소스의 경로
- 렌더링 흐름
- 뷰의 유연성
- 라이브러리와 헬퍼 접근
- 폼
- AJAX
- 파서 설정
- jQuery 같은 클라이언트 라이브러리와의 통합
- 뷰 렌더링에 사용하는 플러그인
- 예제 1: 구글 맵을 활용한 HTML 5 위치 서비스
- 컨트롤러 파일
- 뷰 파일
- 예제 2: AJAX와 jQuery UI를 활용한 사용자 피드백
- ajax_handler.php 컨트롤러 파일
- users_model.php 모델 파일
- loggedinview.php 뷰 파일
- 정리
- CI 뷰의 유효 범위
- 부록
도서 오류 신고
정오표
정오표
2015.6.2 수정사항