The Yii Book

Table of Contents

Below you'll find the table of contents for the second edition of the book (for Yii 2).


  • Introduction
    • 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
    • Working with Composer
    • Creating a Yii Application
    • Testing the Site Shell
    • Testing the Requirements
  • 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
    • Configuring Your Web Server
    • Enabling Debug Mode
    • Moving the Protected Folder
    • Basic Configurations
    • Developing Your Site
    • Generating Code with Gii

Part 2: Core Concepts

  • Chapter 5: Working with Models
    • The Model Classes
    • Establishing Rules
    • Changing Labels
    • Watching for Model Events
    • Relating Models
    • The Object Class
  • Chapter 6: Working with Views
    • The View Structure
    • Where Views are Referenced
    • Layouts and Views
    • Editing View Files
    • Working with Layouts
    • Alternative Content Presentation
  • Chapter 7: Working with Controllers
    • Controller Basics
    • Revisiting Views
    • Making Use of Models
    • Handling Forms
    • Understanding Routes
    • Tapping Into Filters
    • Showing Static Pages
    • Handling Exceptions
  • Chapter 8: Working with Databases
    • Debugging Database Operations
    • Database Options
    • Using Active Record
    • Using Database Active Objects
    • Using QueryBuilder
    • Choosing an Interface Option
    • Common Challenges
  • Chapter 9: Working with Forms
    • Understanding Forms and MVC
    • Creating Forms Without Models
    • Creating Forms with Models
    • Common Form Needs
  • Chapter 10: Maintaining State
    • Cookies
    • Sessions
    • Working with Flash Messages
  • Chapter 11: Authenticating Users
    • Fundamentals of Authentication
    • Authentication Options
    • Referencing the User
    • Basic Access Control
    • Role-Based Access Control
  • Chapter 12: Working with Widgets
    • Using Widgets
    • Basic Yii Widgets
    • Presenting Data
    • The Bootstrap Widgets
    • The jQuery UI Widgets
  • Chapter 13: Using Extensions
    • The Basics of Extensions
    • The Krajee Extensions
    • The 2amigos Extensions
    • A User Extension
    • Using Swift Mailer
    • Using ElasticSearch
  • Chapter 14: JavaScript and jQuery
    • What You Must Know
    • Adding JavaScript to a Page
    • Using JavaScript with ActiveForm
    • 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
    • Using Placeholders and Parameters
    • Using Formatters
    • Other Concepts
    • i18n and Your Models
  • Chapter 16: Leaving the Browser
    • Writing a Proxy Script
    • RESTful Services
    • Creating a Console Application
  • Chapter 17: Improving Performance
    • Testing Performance
    • Changing the Bootstrap File
    • Changing the Configuration
    • Improving Your Server
    • 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
    • Creating Extensions
    • Working with Modules
  • Chapter 20: Working with Third-Party Libraries
    • Installation Basics
    • Installing with Composer
    • Installing Manually
    • Using Symfony
  • Chapter 21: Testing Your Application
    • Test Directories and Configuration
    • Running Tests
    • Unit Testing
    • Functional Testing
    • 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
    • Adding WYSIWYG
    • 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
    • Setting Up the Production Server
    • Setting Permissions
    • Transferring Assets
    • Taking the Bootstrap File Live
    • Temporary Debugging
    • Using Multiple Configuration Files
    • Using Maintenance Mode
    • Better Logging
    • Caching
    • Things to Do