이미 소장하고 있다면 판매해 보세요.
|
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 처리 메소드를 매개변수와 함께 호출하기 ____________라이브러리, 모델, 헬퍼 로딩 ___그 밖의 명명 규칙 ___정리 3장 컨트롤러 사용법과 유효 범위 ___CI 컨트롤러의 유효 범위 ___사용자 정의 CI 컨트롤러 _________CI 컨트롤러 확장 ___CI 컨트롤러 사용 예 ______예제 1: 기본 홈페이지 컨트롤러 _________컨트롤러 파일 _________뷰 파일 _________설정 파일 ______예제 2: 첨부파일과 함께 이메일 전송하기 _________컨트롤러 파일 ______예제 3: 관리자와 일반 사용자 로그인 _________컨트롤러 파일 _________모델 파일 _________예제를 위해 데이터베이스에 업로드할 SQL 파일 _________login_view 파일 _________login_in_view 뷰 파일 ___정리 4장 라이브러리 ___CI 라이브러리의 유효 범위와 사용법 _________사용 가능한 CI 라이브러리 ______예제 1: 내장 라이브러리 사용 _________컨트롤러 파일 _________뷰 파일 ______예제 2: 구글 맵 CI 라이브러리 래퍼 사용 _________컨트롤러 파일 _________뷰 파일 ______예제 3: 플리커 AIP 래퍼 라이브러리 구축 _________flickr_wrapper.php 라이브러리 파일 _________flickr_recent.php 컨트롤러 파일 _________flickr_recent_view.php 뷰 파일 ______예제 4: 링크드인 API 래퍼 구축 _________프로젝트 요구사항 _________인증 흐름 _________linkedin_handler.php 라이브러리 파일 _________linkedinfo.php 컨트롤러 파일 _________linkedin-me.php 뷰 파일 ___정리 5장 헬퍼 ___CI 헬퍼의 유효 범위와 사용법 _________사용 가능한 CI 헬퍼 ____________CI 시스템 내장 헬퍼 ____________CI 제3자 헬퍼 ______예제 1: 내장 헬퍼 사용 _________컨트롤러 파일 _________뷰 파일 ______예제 2: 제3자 헬퍼 사용(SSL 헬퍼) _________헬퍼 파일 _________컨트롤러 파일 _________뷰 파일 ______예제 3: 자신만의 헬퍼 구축(my_download 헬퍼) _________헬퍼 파일 _________컨트롤러 파일 _________뷰 파일 ___정리 6장 모델 ___CI 모델의 유효 범위 _________모델의 경로 _________모델 로딩 _________모델의 메소드 사용 _________데이터베이스 연결 _________비즈니스 로직 ___객체 관계 매핑 _________간단한 ORM 사용 예제 ______예제 1: CRUD 예제 _________컨트롤러 파일 _________모델 파일 _________뷰 파일 ______예제 2: 비즈니스 로직 예제 _________컨트롤러 파일 _________모델 파일 _________뷰 파일 ______예제 3: 페이스북으로부터 데이터 가져오기 _________컨트롤러 파일 _________모델 파일 _________뷰 파일 ___정리 7장 뷰 ___CI 뷰의 유효 범위 _________CI 뷰에서 사용하는 리소스의 경로 _________렌더링 흐름 _________뷰의 유연성 ___라이브러리와 헬퍼 접근 _________폼 _________AJAX _________파서 설정 _________jQuery 같은 클라이언트 라이브러리와의 통합 _________뷰 렌더링에 사용하는 플러그인 ______예제 1: 구글 맵을 활용한 HTML 5 위치 서비스 _________컨트롤러 파일 _________뷰 파일 ______예제 2: AJAX와 jQuery UI를 활용한 사용자 피드백 _________ajax_handler.php 컨트롤러 파일 _________users_model.php 모델 파일 _________logged_in_view.php 뷰 파일 ___정리 부록 찾아보기 |
|
저자 서문
이 책은 엘리스 랩(Ellis Labs)의 코드이그나이터 플랫폼상에서 웹 애플리케이션을 효율적으로 개발하는 법을 가르치는 데 목표를 두고 있다. 코드이그나이터는 객체지향적 모델-뷰-컨트롤러(MVC, Model-View-Controller) 개발 플랫폼이다. MVC에 대한 더 자세한 사항은 http://en.wikipedia.org/wiki/Model-viewcontroller를 참고하라. 이 책을 쉽게 이해하려면 최소한 PHP 프로그래밍 언어, 그중에서도 PHP 객체지향 프로그래밍(PHP OOP)과 그 사용 방법, 그리고 MySQL과 친숙해야 한다. 코드이그나이터(이 책에서는 주로 CI라고 부른다)는 애플리케이션 개발 플랫폼으로서 PHP를 사용해 웹사이트와 웹 애플리케이션을 개발하는 사람들을 위한 도구다. 코드이그나이터는 영리한 애플리케이션 개발 프레임워크로, 고성능과 적은 용량이 뒷받침하는 유연하고도 확장 가능한 핵심부를 갖고 있다. 코드이그나이터는 OSL 3.0 오픈소스 라이선스를 지원하며, 엘리스 랩이 개발, 관리하며 전 세계의 개발자들이 참여하는 강력한 생태계로 이뤄져 있다. 코드이그나이터의 첫 공개 버전은 2006년 2월 28에 나왔으며, 웹 애플리케이션 개발자들로부터 매우 좋은 반응을 얻었다. 2010년 11월에는 유명한 깃허브(GitHub) 커뮤니티 프로젝트에서 코드이그나이터 개발 프로젝트를 추가하면서 점점 더 많은 전 세계 개발자들의 관심을 얻고 있으며, 이에 따라 더 정교하고 더 많은 기능을 가진 애드온을 제공하는 사람들이 나타났다. 잠시 뒤 소개하겠지만, 고급 웹 애플리케이션을 개발하는 데 있어 MVC 개발 패턴과 객체지향 개발 프레임워크에 기반한 웹 개발 트렌드가 점점 더 강해지고 있다. 코드이그나이터가 바로 그런 프레임워크다. 코드이그나이터가 갖고 있는, 작지만 고성능의 OOP 핵심부로 인해 코드이그나이터의 인기는 점점 상승하고 있다. 이 OOP 핵심부를 이용해서 독창적이고 재사용 가능하며 명확한 명명 규칙(naming conventions)을 가진 애플리케이션을 만들 수 있다. 또한 사용자 클래스가 CI 클래스를 상속하기 때문에 이 모든 기능을 확장하는 작업도 매우 용이하다. 이와 함께 점점 더 많은 애플리케이션 플러그인과 추가 라이브러리들이 이용 가능해지고 있다(여기에는 CMS나 쇼핑 카트, 테이블 데이터 내비게이터 같은 애플리케이션 위주 솔루션에서 사용할 수 있는 뷰/컨트롤러/모델/라이브러리/헬퍼 등이 포함된다). MVC라는 개념은 정보의 표현과 이 정보와 상호작용하는 사용자를 분리하는 사용자 인터페이스를 지원하는 애플리케이션 프레임워크 혹은 개발 패턴을 의미한다. 그동안 성공적인 웹 애플리케이션 개발에서 MVC를 개발 구조로 채택해왔다. 모델(Model)은 애플리케이션 데이터로 구성하며 이를 조작하는 서비스를 제공한다. 컨트롤러(Controller)는 주로 웹 브라우저를 이용하는 사용자로부터 받아들이는 입력을 처리한다. 그리고 이 웹 브라우저가 뷰를 출력한다. 브라우저는 컨트롤러로부터 HTTP 프로토콜을 통해 이미 렌더링한 뷰를 전달받아 출력한다. 컨트롤러가 애플리케이션의 심장이다. 이 컨트롤러가 모델/데이터베이스 업데이트, 비즈니스 관련 계산을 수행하고, 뷰를 그려서 사용자에게 보여주며, 또한 클라이언트가 보낸 AJAX(Asynchronous JavaScript and XML) 비동기 요청을 처리한다. 뷰(View) 코드는 사용자 입력 로직과 표현할 대상을 정의한다. 컨트롤러는 이를 HTML과 자바 스크립트의 형태로 브라우저에게 제공해 그리게 한다. 브라우저는 이 뷰 코드를 HTTP 응답을 통해 전달받아 직접 렌더링한다. 이 컨텐츠를 실행하는 브라우저는 텍스트, 차트, 다이어그램, 이미지가 섞인 데이터를 사용자에게 제공한다. 드루팔(DRUPAL) 같은 오래된 CMS(Content Management System, 컨텐츠 관리 시스템)처럼 CMS의 기능성과 관리에 중점을 둔 기존의 웹 개발 플랫폼도 있다. 컨텐츠 중심의 프로젝트에서는 이런 플랫폼이 매우 유용할 수도 있다. 하지만 프로젝트가 새로운 많은 기능을 개발해야 하는 경우, 즉 많은 입력과 특화된 UI 동작이 필요한 웹 애플리케이션을 만들어야 하는 경우에는 이런 플랫폼이 그다지 매력적이지 못하다. 프로젝트의 요구사항이 작은 용량과 빠른 반응성과 고성능을 요구한다면 코드이그나이터가 훌륭한 결과를 보여줄 수 있다. 그러므로 유연성, 코드 재사용, 가벼운 기반구조, 개발자의 창의력 발휘, 명확한 코드, 고성능, 최소한의 용량, 빠른 학습 곡선의 관점에서 요약하자면 코드이그나이터가 최상의 선택으로 보인다. 더욱이 점점 더 커지고 있는 전 세계적인 개발자 커뮤니티 덕분에 언제나 활발한 개선 작업이 이뤄진다는 장점도 있다. 옮긴이의 말 이 책은 최근 PHP 개발자들에게 많은 각광을 받고 있는 코드이그나이터 프레임워크에 관한 서적이다. 코드이그나이터 프레임워크는 최근 유행하는 MVC 구조를 채택하고 있다. 명시적으로 컨트롤러, 모델, 뷰의 구조를 사용하며, 그 외 라이브러리와 헬퍼라는 지원 시스템을 통해 내, 외부에 존재하는 리소스를 참조한다. 또한 이 책은 많은 유용한 예제를 제공한다. 예를 들어 페이스북, 플리커닷컴(flickr.com) 같은 유명한 소셜 네트워크와 연동하는 예제는 실제 웹사이트 구축 시에 많은 참고가 되리라 생각한다. 이 책의 예제를 무리 없이 사용하려면 먼저 최소한의 웹 서버와 데이터베이스를 설정할 수 있어야 한다. 저자가 사용하는 MySQL과 phpMyAdmin을 사용하길 권하며(PHP는 물론 기본 사항이다), 간단한 웹 서버, PHP.ini, 데이터베이스 서버에 관한 기본적인 설정을 할 수 있으면 좋다. 각 장에서 예제를 실행하는 데 필요한 설정 사항을 간단하게나마 각주로 밝혀놓았으니 서버 설정 연습도 할 겸 참고하기 바란다. 모쪼록 이 책을 통해 코드이그나이터에 대해 많은 정보를 얻길 기원한다. --- 본문 중에서 |
|
이 책에서 다루는 내용
* 코드이그나이터 설치, 각 리소스 디렉토리 익히기 * 자신만의 첫 웹 애플리케이션 개발 * 자신만의 코드이그나이터 라이브러리 정의 * 코드이그나이터 컨트롤러 메소드를 이용한 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)을 설명한다. 이 뷰의 유효 범위와 정의, 그리고 컨트롤러를 이용한 그리기를 할 때 필요한 실제적인 방법과 요령을 이 장에서 다룬다. 부록에서는 개발자 커뮤니티 환경을 비롯해, 코드이그나이터 자료와 관련된 추천 외부 자료를 제시한다. |