"The Yii Book" Table of Contents

Below you'll find the initial, proposed table of contents for the book. Note that these contents are subject to change.

The version of the book you would buy today includes all the sections highlighted in green. The book is currently approximately 406 pages in PDF format. (I've numbered the current version of the book 0.9).

People that have purchased the book can always download the latest version. If you have any questions, see the FAQ page.

Excerpts

Over time I'll post excerpts of the book online. When I do so, I'll post a link to the excerpted material in the TOC below.
  • Introduction excerpt
    • Why Frameworks?
    • Why Yii?
    • What You'll Need
    • About This Book
    • Getting Help

Part 1: Getting Started

  • Chapter 1: Fundamental Concepts
    • Object-Oriented Programming
    • The MVC Approach
    • Using a Web Server
    • Command Line Tools
  • Chapter 2: Starting a New Application
    • Downloading Yii
    • Testing the Requirements
    • Installing the Framework
    • Building the Site Shell
    • Testing the Site Shell
  • Chapter 3: A Manual for Your Yii Site
    • The Site's Folders
    • Referencing Files and Directories
    • Yii Conventions
    • How Yii Hands a Page Request
  • Chapter 4: Initial Customizations and Code Generations
    • Enabling Debug Mode
    • Moving the Protected Folder
    • Basic Configurations
    • Developing Your Site
    • Building Components with Gii

Part 2: Core Concepts

  • Chapter 5: Working with Models
    • The Model Classes
    • Establishing Rules
    • Changing Labels
    • Watching for Model Events excerpt
    • Relating Models
  • Chapter 6: Working with Views
    • The View Structure
    • Where Views are Referenced
    • Layouts and Views
    • Editing View Files
    • Working with Layouts
    • Alternative Content Presentation excerpt
  • Chapter 7: Working with Controllers
    • Controller Basics
    • Using Views
    • Using Models
    • Handling Forms
    • Basic Access Control
    • Understanding Routes excerpt
    • Tapping Into Filters
    • Showing Static Pages excerpt
    • Exceptions
  • Chapter 8: Working with Databases
    • Debugging Database Operations
    • Database Options
    • Using Active Record
    • Using QueryBuilder
    • Using Database Active Objects
    • Choosing an Interface Option
    • Common Challenges
  • Chapter 9: Working with Forms
    • Understanding Forms and MVC excerpt
    • Creating Forms Without Models
    • Using CHtml
    • Using "Active" Methods
    • Using CActiveForm
    • Using Form Builder
    • Common Form Needs
  • Chapter 10: Maintaining State
    • Cookies
    • Sessions
  • Chapter 11: Authenticating Users
    • Fundamentals of Authentication
    • Authentication Options
    • The UserIdentity State
    • Authorization
    • Working with Flash Messages
  • Chapter 12: Working with Widgets
    • Using Widgets
    • Basic Yii Widgets
    • Presenting Data
    • The jQuery UI Widgets
  • Chapter 13: Using Extensions
    • The Basics of Extensions
    • The bootstrap Extension
    • The giix Extension
    • Validator Extensions
    • Auto-Setting Timestamps
    • Using WYSIWYG Editor
  • Chapter 14: JavaScript and jQuery
    • What You Must Know
    • Adding JavaScript to a Page
    • Using JavaScript with CActiveForm
    • Implementing Ajax
    • Common Needs

Part 3: Advanced Topics

  • Chapter 15: Internationalization
    • What is i18n?
    • Setting the Locale
    • Detecting the User's Locale
    • Providing Language-Appropriate Text
    • Formatting Dates
    • Representing Time Zones
    • Formatting Numbers
    • i18n and Your Models
  • Chapter 16: Leaving the Browser
    • Writing a Proxy Script
    • Creating Web Services
    • Creating a Console Application
  • Chapter 17: Improving Performance
    • Testing Performance
    • Changing the Bootstrap
    • Changing the Configuration
    • Caching
    • Improving Database Performance
    • Using Multiple Caching Mechanisms
    • Browser Improvements
    • Creating a Plan
  • Chapter 18: Advanced Database Issues
    • Database Migration
    • Calling Stored Procedures
    • Using Complex Keys
    • Using Complex Relationships
  • Chapter 19: Extending Yii
    • Fundamental Concepts
    • More Examples
    • Working with Modules
    • Deploying Extensions
  • Chapter 20: Working with Third-Party Libraries
    • Installation
    • Accessing Library Classes
    • Working with Composer
    • Using Symfony
    • Using Swift Mailer
    • Using Elasticsearch
  • Chapter 21: Testing Your Application
    • Test Directories
    • Using PHPUnit
    • Using Selenium
    • Checking Coverage

Part 4: Completing Projects

  • Chapter 22: Creating a CMS
  • Chapter 23: Making an E-commerce Site
  • Chapter 24: Shipping Your Project
  • Appendix A: Frequently Asked Questions


Current Status

Just released version 0.9! Hoping to finish the last 3 chapters quickly!