1. Introduction
    1. About Agavi
    2. MVC in Agavi
    3. Overview of Agavi
    4. Overview of Application Execution Flow
    5. A Word About Actions
    6. Application filesystem layout
    7. Overview of application configuration
  2. Setting Up The Initial Application
    1. Installing Agavi
    2. Creating an Agavi Project
    3. Finishing The Setup
    4. Finishing The Basic Setup
    5. Installing a New Copy of Your Application
  3. Adding First Code
    1. Creating A New module
    2. Creating A New Action
    3. Tying Things Together — An Introduction To Routing
    4. Fixing The Bloggie Routing
    5. Accessing Request Parameters and Validation Basics
    6. Handling Validation Errors
  4. Putting The M in MVC
    1. Creating A New Model
    2. Adapting The Actions and Views
    3. Custom Validators
  5. Polishing It Up
    1. Layers and Layouts
    2. Applying Our Layout
    3. What Are Slots?
    4. Adding The Post's Title To The URL
    5. Routing Callbacks
    6. Using Callbacks for the Title in URLs
  6. Connecting to a database
    1. The Database Manager
  7. Handling Output Variants
    1. Output Types
    2. Exception Templates
    3. Generating an RSS Feed
  8. Form Processing
    1. Adding a Post
    2. Editing a Post
    3. The Form Population Filter (FPF)
  9. Creating a User Authentication System
  10. Adding To The Master Template

Introduction

About This Guide

This guide provides you with enough information to be able to create basic applications within Agavi and shows you the fundamental architecture by examining various aspects of Agavi along the way. This guide does not attempt to cover the API docs, instead they are located here

This guide is intended to be valid for the 1.0 and all minor versions of Agavi. Please note that beta versions and release candidates may differ at certain points.

During this guide, we will cover the complete development cycle of a PHP blog engine, from a basic skeleton application to a working and themed implementation. It is broken down into stages: each chapter involves the creation of a partial implementation, so you can see the blog software in various stages of development and make comparisons. The stages are available as tarballs.

Note: This guide has been written for developers whom have experience in creating web applications. This guide does not provide detailed discussions about the Model-View-Controller (MVC) pattern and its associated implications, benefits, and disadvantages. There is a certain of level of basic knowledge one must poses in order to understand the power of a production framework. Agavi is not complicated, but it is rather vast. If you are new to web application development, you should first start by trying to understand the concept of MVC application design and the HTTP standard.