The Yii Book

Table of Contents

Below you'll find the table of contents for the first edition of the book (for Yii 1). As I update the book for Yii 2, the specifics are subject to change.

Excerpts

I've posted some excerpts from the first edition of the book on LarryUllman.com. Links to those are included 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
    • Project Goals
    • Creating the Database
    • Getting Started
    • Editing the Models
    • Creating Login Functionality
    • Creating Pages
    • Making Comments
    • Converting to Twitter Bootstrap
    • Adding WYSIWYG
    • Creating a Posts by Month Widget
    • Applying ElasticSearch
    • Tidying Up
    • Things to Possibly Add
  • Chapter 23: Making an E-commerce Site
    • Project Goals
    • Creating the Database
    • Getting Started
    • Editing the Models
    • Creating the Home Page
    • Viewing a Book
    • Writing a Utilities Class
    • Creating Carts
    • Adding the Payment Module
    • Creating Customers
    • Recording Orders
    • Downloading Books
    • Things to Possibly Add
    • Selling Physical Goods
  • Chapter 24: Shipping Your Project
    • The Framework Installation
    • Setting Permissions
    • Transferring Assets
    • Moving the Application Directory
    • Taking the Bootstrap File Live
    • Temporary Debugging
    • Using Multiple Configuration Files
    • Better Logging
    • Things to Do