CakePHP 1.3 Application Development Cookbook
Setting up a basic authentication system
Using and configuring the Auth component
Allowing logins with username or e-mail
Saving the user details after login
Getting the current user's information
Using prefixes for role-based access control
Setting up Access Control Layer-based authentication
Adding Containable to all models
Limiting the bindings returned in a find
Modifying binding parameters for a find
Modifying binding conditions for a find
Changing the JOIN type of one-to-one associations
Defining multiple associations to the same model
Performing GROUP and COUNT queries
Building queries with ad-hoc JOINs
Searching for all items that match search terms
Implementing a custom find type
Implementing AJAX based pagination
Adding multiple validation rules
Creating a custom validation rule
Using behaviors to add new fields for saving
Geocoding addresses with the Geocodable behavior
Improving the SQL datasource query log
Parsing CSV files with a datasource
Consuming RSS feeds with a datasource
Adding transaction and locking support to the MySQL datasource
Using named and GET parameters
Adding catch-all routes for profile pages
Adding validation for catch-all routes
Creating and Consuming Web Services
Building REST services with JSON
Adding authentication to REST services
Implementing token-based authorization for API access
Parsing command line parameters
Non-interactive tasks with the robot plugin
Internationalizing Applications
Internationalizing controller and view texts
Internationalizing model validation messages
Translating strings with dynamic content
Setting and remembering the language
Creating fixtures and testing model methods
Testing controller actions and their views
Using mocks to test controllers
Running tests from the command line
Manipulating strings with the String class