Table of Contents : The Manual
- 1 Beginning With CakePHP
- 2 Basic Principles of CakePHP
- 3 Developing with CakePHP
- 3.1 Requirements
- 3.2 Installation Preparation
- 3.3 Installation
- 3.4 Configuration
- 3.5 Controllers
- 3.5.1 Introduction
- 3.5.2 Controller Attributes
- 3.5.3 Controller Methods
- 3.6 Components
- 3.7 Models
- 3.7.1 Introduction
- 3.7.2 Automagic Model Fields
- 3.7.3 Model Attributes
- 3.7.4 Model Methods
- 3.7.5 Associations
- 3.7.6 DataSources
- 3.7.7 Behaviors
- 3.8 Views
- 3.9 Helpers
- 3.10 Scaffolding
- 3.11 The CakePHP Console
- 3.12 Code Generation with Bake
- 3.13 Plugins
- 3.14 Global Constants and Functions
- 4 Common Tasks With CakePHP
- 4.1 Data Validation
- 4.1.1 Simple Rules
- 4.1.2 One Rule Per Field
- 4.1.3 Multiple Rules per Field
- 4.1.4 Built-in Validation Rules
- 4.1.4.1 alphaNumeric
- 4.1.4.2 between
- 4.1.4.3 blank
- 4.1.4.4 cc
- 4.1.4.5 comparison
- 4.1.4.6 date
- 4.1.4.7 decimal
- 4.1.4.8 email
- 4.1.4.9 equalTo
- 4.1.4.10 extension
- 4.1.4.11 file
- 4.1.4.12 ip
- 4.1.4.13 minLength
- 4.1.4.14 maxLength
- 4.1.4.15 money
- 4.1.4.16 multiple
- 4.1.4.17 numeric
- 4.1.4.18 phone
- 4.1.4.19 postal
- 4.1.4.20 range
- 4.1.4.21 ssn
- 4.1.4.22 url
- 4.1.5 Custom Validation Rules
- 4.1.6 Validating Data from the Controller
- 4.2 Data Sanitization
- 4.3 Error Handling
- 4.4 Debugging
- 4.5 Caching
- 4.6 Logging
- 4.7 Testing
- 4.8 Localization & Internationalization
- 4.9 Pagination
- 4.1 Data Validation
- 5 Built-in Components
- 5.1 Access Control Lists
- 5.2 Authentication
- 5.3 Sessions
- 5.4 Request Handling
- 5.5 Security Component
- 5.5.1 Configuration
- 5.5.2 Methods
- 5.5.2.1 requirePost()
- 5.5.2.2 requireSecure()
- 5.5.2.3 requireAuth()
- 5.5.2.4 requireLogin()
- 5.5.2.5 loginCredentials(string $type)
- 5.5.2.6 loginRequest(array $options)
- 5.5.2.7 parseDigestAuthData(string $digest)
- 5.5.2.8 generateDigestResponseHash(array $data)
- 5.5.2.9 blackHole(object $controller, string $error)
- 5.5.3 Usage
- 5.6 Email
- 5.7 Cookies
- 6 Built-in Helpers
- 6.1 Forms
- 6.1.1 Creating Forms
- 6.1.2 Closing the Form
- 6.1.3 Automagic Form Elements
- 6.1.3.1 $options[‘type’]
- 6.1.3.2 $options[‘before’], $options[‘between’] and $options[‘after’]
- 6.1.3.3 $options[‘options’]
- 6.1.3.4 $options[‘multiple’]
- 6.1.3.5 $options[‘maxLength’]
- 6.1.3.6 $options[‘div’]
- 6.1.3.7 $options[‘label’]
- 6.1.3.8 $options[‘id’]
- 6.1.3.9 $options[‘error’]
- 6.1.3.10 $options[‘selected’]
- 6.1.3.11 $options[‘rows’], $options[‘cols’]
- 6.1.3.12 $options[‘empty’]
- 6.1.3.13 $options[‘timeFormat’]
- 6.1.3.14 $options[‘dateFormat’]
- 6.1.4 File Fields
- 6.1.5 Form Element-Specific Methods
- 6.2 XML
- 6.3 HTML
- 6.4 Javascript
- 6.5 AJAX
- 6.6 Cache
- 6.7 Form
- 6.8 Number
- 6.9 Text
- 6.10 Time
- 6.1 Forms
- 7 Examples
- 8 The CakePHP Blog Tutorial
- 8.1 Getting Cake
- 8.2 Creating the Blog Database
- 8.3 Cake Database Configuration
- 8.4 Optional Configuration
- 8.5 A Note on mod_rewrite
- 8.6 Create a Post Model
- 8.7 Create a Posts Controller
- 8.8 Creating Post Views
- 8.9 Adding Posts
- 8.10 Data Validation
- 8.11 Deleting Posts
- 8.12 Editing Posts
- 8.13 Routes
- 8.14 Conclusion
- 9 Simple User Authentication
- 10 Appendices
Installation Preparation
Getting CakePHP
There are two main ways to get a fresh copy of CakePHP. First, you can download an archive (zip/tar.gz/tar.bz2), or you can check out a code from our repository (SVN).
To get a fresh archive, visit our web site at http://www.cakephp.org. Follow the huge “Download Now!” link to paradise. CakePHP downloads are hosted at CakeForge, and you can also visit the project web site at http://cakeforge.org/projects/cakephp.
If you want to live on the edge, check out our nightly downloads at http://cakephp.org/downloads/index/nightly. CakePHP nightlies are stable, and include fixes between releases.
To grab a fresh copy from our SVN repository, connect to https://svn.cakephp.org/repo/branches/1.2.x.x .
Permissions
CakePHP uses the /app/tmp directory for a number of different operations. Model descriptions, cached views, and session information are just a few examples.
As such, make sure the /app/tmp directory in your cake installation is writable by the web server user.

By thewoodman on 16/2/08
1 - Reorder in TOC?
I think having installation details, and config details, coming under "Developing with CakePHP" is confusing, and distracts from the topics that really are about development.
Surely "Installing and Configuring CakePHP" should be its own section, before "Developing With..." ?
By tman 1 day ago
2 - I'll second that
I've been running around in circles trying to install Cake, and I'm still running! Why is Installation buried away in section 3? Installation should be the *very first link* in the documentation. And this section, "Installation Preparation", is where the discussion about .htaccess files and mod_rewrite belongs, because those issues need to be understood before installation can proceed. I'm using a web hosting company, have no access to the http.conf file, and have been frustrated by the lack of clear documentation on how to get Cake installed. I read that it works without mod_rewrite, but what do I need to do to configure that? Why isn't that explained in this section? I'm a web site developer, not an Apache guru!
login to add a comment