PacktLib: Agile Web Application Development with Yii1.1 and PHP5

Agile Web Application Development with Yii 1.1 and PHP5

Credits

About the Author

About the Reviewers

Preface

Meet Yii

Yii is easy

Yii is efficient

Yii is extensible

MVC architecture

Stitching these together: Yii request routing

Object-relational mapping and Active Record

The view and controller

Summary

Getting Started

Installing Yii

Creating a new application

Hello, World!

Adding dynamic content

Linking pages together

Summary

The TrackStar Application

Introducing TrackStar

Creating user stories

Navigation and page flow

Defining a data scheme

Defining our development methodology

Testing in Yii

Summary

Iteration 1: Creating the Initial TrackStar Application

Iteration planning

Creating the new application

Connecting to the database

Summary

Iteration 2: Project CRUD

Iteration planning

Creating the project table

Creating the AR model class

Enabling CRUD operations for users

More on testing—fixtures

Summary

Iteration 3: Adding Tasks

Iteration planning

Running the test suite

Designing the schema

Creating the Active Record model classes

Creating the Issue CRUD operations

Creating a new Issue

Fixing the owner and requester fields

Returning back to the owner and requester dropdowns

Finishing the rest of the CRUD

Making some final tweaks

Making some final navigation tweaks

Summary

Iteration 4: User Management and Authentication

Iteration planning

Running the test suite

Creating our User CRUD

Authenticating users using the database

Updating the user last login time

Summary

Iteration 5: User Access Control

Iteration planning

Running our existing test suite

accessControl filter

Role-based access control

Checking authorization level

Summary

Iteration 6: Adding User Comments

Iteration planning

Creating the model

Creating the Comment CRUD

Altering the scaffolding to meet requirements

Creating a recent comments widget

Summary

Iteration 7: Adding an RSS Web Feed

Iteration planning

A little background: Content Syndication, RSS, and Zend Framework

Installing Zend Framework

Using Zend_Feed

Creating user friendly URLs

Adding the feed links

Summary

Iteration 8: Making it Pretty - Design, Layout, Themes, and Internationalization(i18n)

Iteration planning

Designing with layouts

Deconstructing the main.php layout file

Nesting the layouts

Creating themes

Translating the site to other languages

Summary

Iteration 9: Modules - Adding Administration

Iteration planning

Modules

Restricting admin access

Adding a system-wide message

Summary

Iteration 10: Production Readiness

Iteration planning

Logging

Handling errors

Caching

General performance tuning tips

Summary

Index