Introduction
About this tutorial
This tutorial provides a
high-level overview of the architecture of the Agavi application
framework, examining various common Web application problems and how Agavi
addresses them. It does not cover more exotic cases which eventually
invite themselves into your project plans. For advanced magic you should
consult the User's Guide and the Cookbook.
This tutorial 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.
The final version
of the blog engine is also the official demo application of Agavi. It is
extremely well documented and showcases many of the features Agavi has to
offer.
Note: This tutorial is written for an experienced developer
who has created Web applications in the past. It does not include a
detailed discussion of the Model-View-Controller (MVC) pattern or its
associated implications, benefits, and disadvantages. There is certain
basic knowledge that you must possess to understand and wield the power of
a production framework. Agavi is not complicated, but it is certainly
vast. If you are a newcomer to Web application development, you should
start your quest by studying MVC and HTTP mechanics. HTTP and the MVC
architecture have a profound influence on how developers structure
software and design user interfaces, sometimes in subtle
ways.
Note: Since this tutorial focuses on building a Web
application, it will often refer to Agavi features specifically within a
Web context. However, Agavi is designed to be able to run in multiple
contexts; most of the Web-oriented behaviors described can be easily
generalized.
Let's get started!