Table of Contents : The Manual
- 1 Basic Principles of CakePHP
- 2 Developing with CakePHP
- 2.1 Requirements
- 2.2 Installation Preparation
- 2.3 Installation
- 2.4 Configuration
- 2.5 Controllers
- 2.5.1 Introduction
- 2.5.2 Controller Attributes
- 2.5.3 Controller Methods
- 2.6 Components
- 2.7 Models
- 2.7.1 Introduction
- 2.7.2 Automagic Model Fields
- 2.7.3 Model Attributes
- 2.7.4 Model Methods
- 2.7.5 Associations
- 2.7.6 DataSources
- 2.7.7 Behaviors
- 2.8 Views
- 2.9 Helpers
- 2.10 Scaffolding
- 2.11 The CakePHP Console
- 2.12 Code Generation with Bake
- 2.13 Plugins
- 2.14 Global Constants and Functions
- 3 Common Tasks With CakePHP
- 3.1 Data Validation
- 3.1.1 Simple Rules
- 3.1.2 One Rule Per Field
- 3.1.3 Multiple Rules per Field
- 3.1.4 Built-in Validation Rules
- 3.1.4.1 alphaNumeric
- 3.1.4.2 between
- 3.1.4.3 blank
- 3.1.4.4 cc
- 3.1.4.5 comparison
- 3.1.4.6 date
- 3.1.4.7 decimal
- 3.1.4.8 email
- 3.1.4.9 equalTo
- 3.1.4.10 extension
- 3.1.4.11 file
- 3.1.4.12 ip
- 3.1.4.13 isUnique
- 3.1.4.14 minLength
- 3.1.4.15 maxLength
- 3.1.4.16 money
- 3.1.4.17 multiple
- 3.1.4.18 numeric
- 3.1.4.19 phone
- 3.1.4.20 postal
- 3.1.4.21 range
- 3.1.4.22 ssn
- 3.1.4.23 url
- 3.1.5 Custom Validation Rules
- 3.1.6 Validating Data from the Controller
- 3.2 Data Sanitization
- 3.3 Error Handling
- 3.4 Debugging
- 3.5 Caching
- 3.6 Logging
- 3.7 Testing
- 3.8 Localization & Internationalization
- 3.9 Pagination
- 3.1 Data Validation
- 4 Built-in Components
- 4.1 Access Control Lists
- 4.2 Authentication
- 4.3 Sessions
- 4.4 Request Handling
- Security Component
- 4.6 Email
- 4.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
The CakePHP Blog Tutorial
Welcome to Cake! You're probably checking out this tutorial because you want to learn more about how Cake works. Its our aim to increase productivity and make coding more enjoyable: we hope you'll see this as you dive into the code.
This tutorial will walk you through the creation of a simple blog application. We'll be getting and installing Cake, creating and configuring a database, and creating enough application logic to list, add, edit, and delete blog posts.
Here's what you'll need:
-
A running web server. We're going to assume you're using Apache, though the instructions for using other servers should be very similar. We might have to play a little with the server configuration, but most folks can get Cake up and running without any configuration at all.
-
A database server. We're going to be using mySQL in this tutorial. You'll need to know enough about SQL in order to create a database: Cake will be taking the reigns from there.
-
Basic PHP knowledge. The more object-oriented programming you've done, the better: but fear not if you're a procedural fan.
-
Finally, you'll need a basic knowledge of the MVC programming pattern. A quick overview can be found in Chapter "Beginning With CakePHP", Section : Understanding Model-View-Controller. Don't worry: its only a half a page or so.
Let's get started!

login to add a comment