CakePHP 1.3 Application Development Cookbook

More Information
  • Add authentication to an application to identify which controllers will need user access, using the Auth component and ACL component
  • Allow users to log in using either a user name, or an email, and let the system remember their account details
  • Enable and leverage the use of the Containable behavior to deal with model bindings
  • Make run time changes to model bindings for a better control of your model relationships
  • Perform relatively complex GROUP and COUNT queries using CakePHP's built in find types and use virtual fields for a cleaner approach to SQL based calculations
  • Creating custom find operations, and paginating its result using CakePHP's built in pagination support
  • Add multiple validation rules per field using built in validation rules in CakePHP
  • Allow users to search address records by proximity by adding location information to our own Address model using the Geocodable behavior
  • Implement your own datasource by providing a way to read from and post messages to a twitter account using OAuth as the authentication layer
  • Modify an existing datasource by adding better transaction support to the MySQL driver and implementing locking operations
  • Take advantage of the routing flexibility in CakePHP by creating your own route handlers
  • Build non interactive tasks that run in the command line, including the automation of tasks
  • Internationalize all areas of your application, including views and model records, to reach a wider audience

CakePHP is a rapid development framework for PHP that provides an extensible architecture for developing, maintaining, and deploying web applications. While the framework has a lot of documentation and reference guides available for beginners, developing more sophisticated and scalable applications require a deeper knowledge of CakePHP features, a challenge that proves difficult even for well established developers.

The recipes in this cookbook will give you instant results and help you to develop web applications, leveraging the CakePHP features that allow you to build robust and complex applications. Following the recipes in this book you will be able to understand and use these features in no time.

We start with setting up authentication on a CakePHP application. One of the most important aspects of a CakePHP application: the relationship between models, also known as model bindings. Model binding is an integral part of any application's logic and we can manipulate it to get the data we need and when we need. We will go through a series of recipes that will show us how to change the way bindings are fetched, what bindings and what information from a binding is returned, how to create new bindings, and how to build hierarchical data structures. We also define our custom find types that will extend the three basic ones, allowing our code to be even more readable and also create our own find type, with pagination support. This book also has recipes that cover two aspects of CakePHP models that are fundamental to most applications: validation, and behaviors.

  • Create elegant and scalable web applications using CakePHP
  • Leverage your find operations with virtual fields, ad-hoc queries, and custom find types
  • Add full internationalization support to your application, including translation of database records
  • Part of Packt's Cookbook series: Each recipe is a carefully organized sequence of instructions to complete the task as efficiently as possible
Page Count 360
Course Length 10 hours 48 minutes
ISBN 9781849511926
Date Of Publication 8 Mar 2011


Mariano Iglesias

Mariano has been programming since the early age of 11. He quickly became proficient with C and C++, producing his first commercial applications at 15 years of age. He then continued to learn several other programming languages, PHP being one of them. He has contributed to several open source projects, becoming part of the core development team of both CakePHP and Lithium, two of the best PHP frameworks. He currently divides his time between open source programming, his commercial work, his hobbies, and spending time with his family.