CakePHP
Downloads
Latest Release
CakePHP 1.2
Download
|
Tickets
CakePHP 1.3
Download
|
Tickets
CakePHP 2.0
Tickets
Documentation
API
1.1
|
1.2
|
1.3
|
2.0
Book
1.1
|
1.2
|
1.3
|
2.0
Tickets
Translations
Community
Bakery
Contributors
Google Groups
Logo
Planet
Q & A
TV (Screencasts)
Services
Certification
Consultation
Support
Training
Aanmelden
Register
English
Arabic (Egypt)
Bulgarian
Chinese
Czech
German (Standard)
Greek
English
Spanish (Spain - Traditional)
Farsi
French (Standard)
Hungarian
Indonesian
Italian
Japanese
Korean
Malaysian
Dutch (Standard)
Portuguese (Portugal)
Polish
Romanian
Russian
Slovak
Turkish
Chinese (Taiwan)
Welcome to the Cookbook
The 1.3 Book
The 1.2 Book
The 1.1 Book
The 2.0 Book
Clear Local Cache
1.3 Collectie
De handleiding
1 Beginnen met CakePHP
1.1 Wat is CakePHP? Waarom gebruiken?
1.2 Waar kan je hulp vinden ?
1.3 Model-View-Controller uitleg
2 Basisprincipes van CakePHP
2.1 CakePHP Structuur
2.1.1 Controller Extensies
2.1.2 View Extensies (helpers)
2.1.3 Model Extensies(behaviors)
2.1.4 Application Extensies
2.2 Een Typisch CakePHP Request
2.3 De Bestandsstructuur van CakePHP
2.4 CakePHP Conventies
2.4.1 Bestands- en Klassenaam Conventies
2.4.2 Model en Database Conventies
2.4.3 Controller Conventions
2.4.3.1 URL overwegingen voor Controller Namen
2.4.4 View Conventies
3 Ontwikkelen met CakePHP
3.1 Minimum eisen
3.2 Voorbereiding op de installatie
3.2.1 CakePHP verkrijgen
3.2.2 Rechten
3.3 De Installatie
3.3.1 Ontwikkeling
3.3.2 Productie
3.3.3 Geavanceerde installatie
3.3.3.1 bijkomende klassen
3.3.4 Apache en mod_rewrite
3.3.5 Pretty URLs and Lighttpd
3.3.6 Pretty URLs on nginx
3.3.7 URL Rewrites on IIS7 (Windows hosts)
3.3.8 Aan de slag
3.4 Configuratie
3.4.1 Database Configuratie
3.4.2 Core Configuratie
3.4.3 De configuratie klasse
3.4.3.1 Methoden in Configure
3.4.3.1.1 write
3.4.3.1.2 read
3.4.3.1.3 delete
3.4.3.1.4 load
3.4.3.1.5 version
3.4.3.2 CakePHP kern configuratie variabelen
3.4.3.3 Configuration Constants
3.4.4 De App klasse
3.4.4.1 App::import() gebruiken
3.4.4.2 Kern bibliotheken importeren
3.4.4.3 Controllers, modellen, componenten, behaviors, en helpers importeren
3.4.4.3.1 Controllers laden
3.4.4.3.2 Modellen laden
3.4.4.3.3 Componenten laden
3.4.4.3.4 Behaviors laden
3.4.4.3.5 Helpers laden
3.4.4.3.6 Helpers laden
3.4.4.4 Klassen uit plugins laden
3.4.4.5 Vendor bestanden laden
3.4.4.5.1 Vendor voorbeelden
3.4.5 Routes configuratie
3.4.5.1 Standaard routing
3.4.5.2 Passed arguments
3.4.5.3 Benoemde parameters
3.4.5.4 Defining Routes
3.4.5.5 Passing parameters to action
3.4.5.6 Prefix Routing
3.4.5.7 Plugin routing
3.4.5.8 File extensions
3.4.5.9 Custom Route classes
3.4.6 Custom Inflections
3.4.7 Bootstrapping CakePHP
3.5 Controllers
3.5.1 The App Controller
3.5.2 The Pages Controller
3.5.3 Controller attributen
3.5.3.1 $name
3.5.3.2 $components, $helpers and $uses
3.5.3.3 Pagina gerelateerde attributen: $layout and $pageTitle
3.5.3.4 The Parameters Attribute ($params)
3.5.3.4.1 form
3.5.3.4.2 admin
3.5.3.4.3 bare
3.5.3.4.4 isAjax
3.5.3.4.5 controller
3.5.3.4.6 action
3.5.3.4.7 pass
3.5.3.4.8 url
3.5.3.4.9 data
3.5.3.4.10 prefix
3.5.3.4.11 named
3.5.3.5 Other Attributes
3.5.3.6 persistModel
3.5.4 Controller Methoden
3.5.4.1 Interactie met views
3.5.4.2 Flow Control
3.5.4.2.1 redirect
3.5.4.2.2 flash
3.5.4.3 Callbacks
3.5.4.4 Other Useful Methods
3.5.4.4.1 constructClasses
3.5.4.4.2 referer
3.5.4.4.3 disableCache
3.5.4.4.4 postConditions
3.5.4.4.5 paginate
3.5.4.4.6 requestAction
3.5.4.4.7 loadModel
3.6 Components
3.6.1 Introduction
3.6.2 Configuring Components
3.6.3 Creating Components
3.6.3.1 Including Components in your Controllers
3.6.3.2 MVC Class Access Within Components
3.6.3.3 Using other Components in your Component
3.7 Models
3.7.1 Understanding Models
3.7.2 Creating Database Tables
3.7.2.1 Data Type Associations by Database
3.7.2.1.1 MySQL
3.7.2.1.2 MySQLi
3.7.2.1.3 ADOdb
3.7.2.1.4 DB2
3.7.2.1.5 Firebird/Interbase
3.7.2.1.6 MS SQL
3.7.2.1.7 Oracle
3.7.2.1.8 PostgreSQL
3.7.2.1.9 SQLite
3.7.2.1.10 Sybase
3.7.2.2 Titles
3.7.2.3 created and modified
3.7.2.4 Using UUIDs as Primary Keys
3.7.3 Retrieving Your Data
3.7.3.1 find
3.7.3.1.1 find('first')
3.7.3.1.2 find('count')
3.7.3.1.3 find('all')
3.7.3.1.4 find('list')
3.7.3.1.5 find('threaded')
3.7.3.1.6 find('neighbors')
3.7.3.2 findAllBy
3.7.3.3 findBy
3.7.3.4 query
3.7.3.5 field
3.7.3.6 read()
3.7.3.7 Complex Find Conditions
3.7.4 Saving Your Data
3.7.4.1 Saving Related Model Data (hasOne, hasMany, belongsTo)
3.7.4.1.1 counterCache - Cache your count()
3.7.4.2 Saving Related Model Data (HABTM)
3.7.5 Deleting Data
3.7.5.1 delete
3.7.5.2 deleteAll
3.7.6 Associations: Linking Models Together
3.7.6.1 Relationship Types
3.7.6.2 hasOne
3.7.6.3 belongsTo
3.7.6.4 hasMany
3.7.6.5 hasAndBelongsToMany (HABTM)
3.7.6.6 hasMany through (The Join Model)
3.7.6.7 Creating and Destroying Associations on the Fly
3.7.6.8 Multiple relations to the same model
3.7.6.9 Joining tables
3.7.7 Callback Methods
3.7.7.1 beforeFind
3.7.7.2 afterFind
3.7.7.3 beforeValidate
3.7.7.4 beforeSave
3.7.7.5 afterSave
3.7.7.6 beforeDelete
3.7.7.7 afterDelete
3.7.7.8 onError
3.7.8 Model Attributes
3.7.8.1 useDbConfig
3.7.8.2 useTable
3.7.8.3 tablePrefix
3.7.8.4 primaryKey
3.7.8.5 displayField
3.7.8.6 recursive
3.7.8.7 order
3.7.8.8 data
3.7.8.9 _schema
3.7.8.10 validate
3.7.8.11 virtualFields
3.7.8.12 name
3.7.8.13 cacheQueries
3.7.9 Additional Methods and Properties
3.7.9.1 Using virtualFields
3.7.10 Virtual fields
3.7.10.1 Creating virtual fields
3.7.10.2 Using virtual fields
3.7.10.3 Virtual fields and model aliases
3.7.10.4 Limitations of virtualFields
3.7.11 Transactions
3.8 Behaviors
3.8.1 Using Behaviors
3.8.2 Creating Behaviors
3.8.3 Creating behavior methods
3.8.4 Behavior callbacks
3.8.5 Creating a behavior callback
3.9 DataSources
3.9.1 Basic API For DataSources
3.9.2 An Example
3.9.3 Plugin DataSources and Datasource Drivers
3.10 Views
3.10.1 View Templates
3.10.2 Layouts
3.10.3 Elements
3.10.3.1 Passing Variables into an Element
3.10.3.2 Caching Elements
3.10.3.3 Requesting Elements from a Plugin
3.10.4 View methods
3.10.4.1 set()
3.10.4.2 getVar()
3.10.4.3 getVars()
3.10.4.4 error()
3.10.4.5 element()
3.10.4.6 uuid
3.10.4.7 addScript()
3.10.5 Themes
3.10.5.1 Increasing performance of plugin and theme assets
3.10.6 Media Views
3.11 Helpers
3.11.1 Using Helpers
3.11.2 Creating Helpers
3.11.2.1 Including other Helpers
3.11.2.2 Callback method
3.11.2.3 Using your Helper
3.11.3 Creating Functionality for All Helpers
3.11.4 Core Helpers
3.12 Scaffolding
3.12.1 Creating a simple admin interface with scaffolding
3.12.2 Customizing Scaffold Views
3.13 The CakePHP Console
3.13.1 Creating Shells & Tasks
3.13.1.1 Creating Your Own Shells
3.13.1.2 Tasks
3.13.2 Running Shells as cronjobs
3.14 Plugins
3.14.1 Creating a Plugin
3.14.2 Plugin Controllers
3.14.3 Plugin Models
3.14.4 Plugin Views
3.14.5 Components, Helpers and Behaviors
3.14.6 Plugin assets
3.14.7 Plugin Tips
3.15 Global Constants and Functions
3.15.1 Global Functions
3.15.1.1 __
3.15.1.2 a
3.15.1.3 aa
3.15.1.4 am
3.15.1.5 config
3.15.1.6 convertSlash
3.15.1.7 debug
3.15.1.8 e
3.15.1.9 env
3.15.1.10 fileExistsInPath
3.15.1.11 h
3.15.1.12 ife
3.15.1.13 low
3.15.1.14 pr
3.15.1.15 r
3.15.1.16 stripslashes_deep
3.15.1.17 up
3.15.1.18 uses
3.15.2 Core Definition Constants
3.16 Vendor packages
3.16.1 Vendor assets
4 Gangbare taken uitvoeren met CakePHP
4.1 Data Validation
4.1.1 Simple Rules
4.1.2 One Rule Per Field
4.1.2.1 rule
4.1.2.2 required
4.1.2.3 allowEmpty
4.1.2.4 on
4.1.2.5 message
4.1.3 Multiple Rules per Field
4.1.4 Core Validation Rules
4.1.4.1 alphaNumeric
4.1.4.2 between
4.1.4.3 blank
4.1.4.4 boolean
4.1.4.5 cc
4.1.4.6 comparison
4.1.4.7 date
4.1.4.8 decimal
4.1.4.9 email
4.1.4.10 equalTo
4.1.4.11 extension
4.1.4.12 file
4.1.4.13 ip
4.1.4.14 isUnique
4.1.4.15 minLength
4.1.4.16 maxLength
4.1.4.17 money
4.1.4.18 multiple
4.1.4.19 inList
4.1.4.20 numeric
4.1.4.21 notEmpty
4.1.4.22 phone
4.1.4.23 postal
4.1.4.24 range
4.1.4.25 ssn
4.1.4.26 url
4.1.5 Custom Validation Rules
4.1.5.1 Custom Regular Expression Validation
4.1.5.2 Adding your own Validation Methods
4.1.6 Validating Data from the Controller
4.2 Data filteren
4.2.1 paranoid
4.2.2 html
4.2.3 escape
4.2.4 clean
4.3 Error Handling
4.4 Debuggen
4.4.1 Basic Debugging
4.4.2 Using the Debugger Class
4.4.3 Debugger Class
4.5 Caching
4.6 Logging
4.6.1 Writing to logs
4.6.2 Using the default FileLog class
4.6.3 Creating and configuring log streams
4.6.4 Interacting with log streams
4.6.5 Error logging
4.7 Testen
4.7.1 Preparing for testing
4.7.1.1 Installing SimpleTest
4.7.1.2 Running Core test cases
4.7.2 Testing overview - Unit testing vs. Web testing
4.7.3 Preparing test data
4.7.3.1 About fixtures
4.7.3.2 Creating fixtures
4.7.3.3 Importing table information and records
4.7.4 Creating tests
4.7.4.1 CakeTestCase Callback Methods
4.7.5 Testing models
4.7.5.1 Creating a test case
4.7.5.2 Creating a test method
4.7.6 Testing controllers
4.7.6.1 Creating a test case
4.7.6.2 The testAction method
4.7.6.3 Pitfalls
4.7.7 Testing Helpers
4.7.7.1 Creating Helper test, part I
4.7.8 Testing components
4.7.8.1 Initializing the component
4.7.8.2 Creating a test method
4.7.9 Web testing - Testing views
4.7.9.1 About CakeWebTestCase
4.7.9.2 Creating a test
4.7.9.3 Walking through a page
4.7.10 Testing plugins
4.7.11 Miscellaneous
4.7.11.1 Customizing the test reporter
4.7.11.2 Test Reporter methods
4.7.11.3 Grouping tests
4.7.12 Running tests in the Command Line
4.7.13 Test Suite changes in 1.3
4.8 Internationalization & Localization
4.8.1 Internationalizing Your Application
4.8.2 Localization in CakePHP
4.9 Pagination
4.9.1 Controller Setup
4.9.2 Pagination in Views
4.9.3 AJAX Pagination
4.9.4 Custom Query Pagination
4.10 REST
4.10.1 The Simple Setup
4.10.2 Custom REST Routing
5 Core Components
5.1 Access Control Lists
5.1.1 Understanding How ACL Works
5.1.2 Defining Permissions: Cake's INI-based ACL
5.1.3 Defining Permissions: Cake's Database ACL
5.1.3.1 Getting Started
5.1.3.2 Creating Access Request Objects (AROs) and Access Control Objects (ACOs)
5.1.3.3 Assigning Permissions
5.1.3.4 Checking Permissions: The ACL Component
5.2 Authentication
5.2.1 Setting Auth Component Variables
5.2.2 Displaying Auth Error Messages
5.2.3 Auth-problemen oplossen
5.2.3.1 Password Hashing
5.2.4 Change Hash Function
5.2.5 AuthComponent Methods
5.2.5.1 action
5.2.5.2 allow
5.2.5.3 deny
5.2.5.4 hashPasswords
5.2.5.5 mapActions
5.2.5.6 login
5.2.5.7 logout
5.2.5.8 password
5.2.5.9 user
5.2.6 AuthComponent Variables
5.2.6.1 userModel
5.2.6.2 fields
5.2.6.3 userScope
5.2.6.4 loginAction
5.2.6.5 loginRedirect
5.2.6.6 logoutRedirect
5.2.6.7 loginError
5.2.6.8 authError
5.2.6.9 autoRedirect
5.2.6.10 authorize
5.2.6.11 sessionKey
5.2.6.12 ajaxLogin
5.2.6.13 authenticate
5.2.6.14 actionPath
5.2.6.15 flashElement
5.2.7 allowedActions
5.3 Cookies
5.3.1 Controller Setup
5.3.2 Using the Component
5.4 Email
5.4.1 Class Attributes and Variables
5.4.1.1 Sending Multiple Emails in a loop
5.4.1.2 Debugging Emails
5.4.2 Sending a basic message
5.4.2.1 Setting up the Layouts
5.4.2.2 Setup an email element for the message body
5.4.2.3 Controller code for using Email component
5.4.2.4 Attachments
5.4.3 Sending A Message Using SMTP
5.5 Request Handling
5.5.1 Obtaining Request Information
5.5.2 Request Type Detection
5.5.3 Obtaining Additional Client Information
5.5.4 Responding To Requests
5.6 Security Component
5.6.1 Configuration
5.6.2 Methods
5.6.2.1 requirePost()
5.6.2.2 requireSecure()
5.6.2.3 requireAuth()
5.6.2.4 requireLogin()
5.6.2.5 loginCredentials(string $type)
5.6.2.6 loginRequest(array $options)
5.6.2.7 parseDigestAuthData(string $digest)
5.6.2.8 generateDigestResponseHash(array $data)
5.6.2.9 blackHole(object $controller, string $error)
5.6.3 Usage
5.6.4 Basic HTTP Authentication
5.7 Sessions
5.7.1 Methods
5.7.1.1 write
5.7.1.2 setFlash
5.7.1.3 read
5.7.1.4 check
5.7.1.5 delete
5.7.1.6 destroy
5.7.1.7 error
6 Core Behaviors
6.1 ACL
6.1.1 Using the AclBehavior
6.1.2 node()
6.2 Containable
6.2.1 Using Containable with pagination
6.3 Translate
6.3.1 Initializing the i18n Database Tables
6.3.2 Attaching the Translate Behavior to your Models
6.3.3 Defining the Fields
6.3.4 Conclusion
6.3.5 Retrieve all translation records for a field
6.3.5.1 Using the bindTranslation method
6.3.6 Saving in another language
6.3.7 Multiple Translation Tables
6.3.7.1 Create the TranslateModel
6.3.7.2 Changing the Table
6.4 Tree
6.4.1 Requirements
6.4.2 Basic Usage
6.4.2.1 Adding data
6.4.2.2 Modifying data
6.4.2.3 Deleting data
6.4.2.4 Querying and using your data
6.4.2.4.1 Children
6.4.2.4.2 Counting children
6.4.2.4.3 generatetreelist
6.4.2.4.4 getparentnode
6.4.2.4.5 getpath
6.4.3 Advanced Usage
6.4.3.1 moveDown
6.4.3.2 moveUp
6.4.3.3 removeFromTree
6.4.3.4 reorder
6.4.4 Data Integrity
6.4.4.1 Recover
6.4.4.2 Reorder
6.4.4.3 Verify
7 Core Helpers
7.1 AJAX
7.1.1 Mogelijkheden van de AjaxHelper
7.1.1.1 General Options
7.1.1.2 Callback Options
7.1.2 Methods
7.1.2.1 link
7.1.2.2 remoteFunction
7.1.2.3 remoteTimer
7.1.2.4 form
7.1.2.5 submit
7.1.2.6 observeField
7.1.2.7 observeForm
7.1.2.8 autoComplete
7.1.2.9 isAjax
7.1.2.10 drag & drop
7.1.2.11 slider
7.1.2.12 editor
7.1.2.13 sortable
7.2 Cache
7.2.1 General Caching
7.2.2 Cache Engines in Cake
7.2.3 Cache Helper Configuration
7.2.4 Caching in the Controller
7.2.5 Marking Non-Cached Content in Views
7.2.6 Clearing the Cache
7.3 Form
7.3.1 Creating Forms
7.3.1.1 $options[‘type’]
7.3.1.2 $options[‘action’]
7.3.1.3 $options[‘url’]
7.3.1.4 $options[‘default’]
7.3.1.5 $options['inputDefaults']
7.3.2 Closing the Form
7.3.3 Automagic Form Elements
7.3.3.1 Field naming convention
7.3.3.2 $options[‘type’]
7.3.3.3 $options[‘before’], $options[‘between’], $options[‘separator’] and $options[‘after’]
7.3.3.4 $options[‘options’]
7.3.3.5 $options[‘multiple’]
7.3.3.6 $options[‘maxLength’]
7.3.3.7 $options[‘div’]
7.3.3.8 $options[‘label’]
7.3.3.9 $options['legend']
7.3.3.10 $options[‘id’]
7.3.3.11 $options['error']
7.3.3.12 $options['default']
7.3.3.13 $options[‘selected’]
7.3.3.14 $options[‘rows’], $options[‘cols’]
7.3.3.15 $options[‘empty’]
7.3.3.16 $options[‘timeFormat’]
7.3.3.17 $options[‘dateFormat’]
7.3.3.18 $options['minYear'], $options['maxYear']
7.3.3.19 $options['interval']
7.3.3.20 $options['class']
7.3.3.21 $options['hiddenField']
7.3.4 File Fields
7.3.4.1 Validating Uploads
7.3.5 Form Element-Specific Methods
7.3.5.1 checkbox
7.3.5.2 button
7.3.5.3 year
7.3.5.4 month
7.3.5.5 dateTime
7.3.5.6 day
7.3.5.7 hour
7.3.5.8 minute
7.3.5.9 meridian
7.3.5.10 error
7.3.5.11 file
7.3.5.12 hidden
7.3.5.13 isFieldError
7.3.5.14 label
7.3.5.15 password
7.3.5.16 radio
7.3.5.17 select
7.3.5.18 submit
7.3.5.19 text
7.3.5.20 textarea
7.3.6 1.3 improvements
7.4 HTML
7.4.1 Inserting Well-Formatted elements
7.4.1.1 charset
7.4.1.2 css
7.4.1.3 meta
7.4.1.4 docType
7.4.1.5 style
7.4.1.6 image
7.4.1.7 link
7.4.1.8 tag
7.4.1.9 div
7.4.1.10 para
7.4.1.11 script
7.4.1.12 scriptBlock
7.4.1.13 scriptStart
7.4.1.14 scriptEnd
7.4.1.15 tableHeaders
7.4.1.16 tableCells
7.4.1.17 url
7.4.2 Changing the tags output by HtmlHelper
7.4.3 Creating breadcrumb trails with HtmlHelper
7.5 Js
7.5.1 Using a specific Javascript engine
7.5.1.1 Using the JsHelper inside customHelpers
7.5.2 Creating a Javascript Engine
7.5.3 Javascript engine usage
7.5.3.1 Working with buffered scripts
7.5.4 Methods
7.5.5 Ajax Pagination
7.5.5.1 Making Ajax Links
7.6 Javascript
7.6.1 Methods
7.7 Number
7.7.1 currency
7.7.2 precision
7.7.3 toPercentage
7.7.4 toReadableSize
7.7.5 format
7.8 Paginator
7.8.1 Methods
7.9 RSS
7.9.1 Creating an RSS feed with the RssHelper
7.9.1.1 Controller Code
7.9.1.1.1 Layout
7.9.1.1.2 View
7.10 Session
7.10.1 Methods
7.10.2 flash
7.11 Text
7.12 Time
7.12.1 Formatting
7.12.2 Testing Time
7.13 XML
7.13.1 serialize
7.13.2 elem
7.13.3 header
8 Core utility klasses
8.1 App
8.2 Inflector
8.2.1 Class methods
8.3 String
8.3.1 UUID
8.3.2 Tokenize
8.3.3 insert
8.3.4 cleanInsert
8.4 Xml
8.4.1 Xml parsing
8.5 Set
8.5.1 Set-compatible Path syntax
8.5.2 insert
8.5.3 sort
8.5.4 reverse
8.5.5 combine
8.5.6 normalize
8.5.7 countDim
8.5.8 diff
8.5.9 check
8.5.10 remove
8.5.11 classicExtract
8.5.12 matches
8.5.13 extract
8.5.14 format
8.5.15 enum
8.5.16 numeric
8.5.17 map
8.5.18 pushDiff
8.5.19 filter
8.5.20 merge
8.5.21 contains
8.6 Security
8.7 Cache
8.7.1 Cache::read()
8.7.2 Cache::write()
8.7.3 Cache::delete()
8.7.4 Cache::config()
8.7.5 Cache::set()
8.8 HttpSocket
8.8.1 get
8.8.2 post
8.8.3 request
8.9 Router
9 Core Console Applications
9.1 Codegeneratie met Bake
9.1.1 Bake improvements in 1.3
9.2 Schema management en migratie
9.2.1 Generating and using Schema files
9.2.2 Migrations with CakePHP schema shell
9.3 Modify default HTML produced by "baked" templates
10 Deployment
11 Voorbeeld applicaties
11.1 Blog
11.1.1 Cake downloaden
11.1.2 Aanmaken van de Blog Database
11.1.3 Cake Database Configuration
11.1.4 Optional Configuration
11.1.5 A Note on mod_rewrite
11.1.6 Create a Post Model
11.1.7 Create a Posts Controller
11.1.8 Creating Post Views
11.1.9 Adding Posts
11.1.10 Data Validation
11.1.11 Deleting Posts
11.1.12 Editing Posts
11.1.13 Routes
11.1.14 Conclusion
11.2 Simple Acl controlled Application
11.2.1 Preparing our Application
11.2.2 Preparing to Add Auth
11.2.3 Initialize the Db Acl tables
11.2.4 Acts As a Requester
11.2.5 Creating ACOs (Access Control Objects)
11.2.6 An Automated tool for creating ACOs
11.2.7 Setting up permissions
11.2.8 Logging in
11.2.9 Logout
11.2.10 All done
12 Appendices
12.1 Migrating from CakePHP 1.2 to 1.3
12.2 New features in CakePHP 1.3
1.2 Collectie
De handleiding
1 Beginnen met CakePHP
1.1 Wat is CakePHP? Waarom gebruiken?
1.2 Waar kan je hulp vinden ?
1.3 Model-View-Controller uitleg
1.3.1 Voordelen
2 Basisprincipes van CakePHP
2.1 CakePHP Structuur
2.1.1 Controller Extensies
2.1.2 View Extensies (helpers)
2.1.3 Model Extensies(behaviors)
2.1.4 Application Extensies
2.2 Een Typisch CakePHP Request
2.3 De Bestandsstructuur van CakePHP
2.3.1 De App Map
2.4 CakePHP Conventies
2.4.1 Bestands- en Klassenaam Conventies
2.4.2 Model en Database Conventies
2.4.3 Controller Conventions
2.4.3.1 URL overwegingen voor Controller Namen
2.4.4 View Conventies
3 Ontwikkelen met CakePHP
3.1 Minimum eisen
3.2 Voorbereiding op de installatie
3.2.1 CakePHP verkrijgen
3.2.2 Rechten
3.3 De Installatie
3.3.1 Ontwikkeling
3.3.2 Productie
3.3.3 Geavanceerde installatie
3.3.3.1 bijkomende klassen
3.3.4 Apache en mod_rewrite
3.3.5 Pretty URLs and Lighttpd
3.3.6 Pretty URLs on nginx
3.3.7 Aan de slag
3.4 Configuratie
3.4.1 Database Configuratie
3.4.2 Core Configuratie
3.4.3 De configuratie klasse
3.4.3.1 Methoden in Configure
3.4.3.1.1 write
3.4.3.1.2 read
3.4.3.1.3 delete
3.4.3.1.4 load
3.4.3.1.5 version
3.4.3.2 CakePHP kern configuratie variabelen
3.4.3.3 Configuration Constants
3.4.4 De App klasse
3.4.4.1 App::import() gebruiken
3.4.4.2 Kern bibliotheken importeren
3.4.4.3 Controllers, modellen, componenten, behaviors, en helpers importeren
3.4.4.3.1 Controllers laden
3.4.4.3.2 Modellen laden
3.4.4.3.3 Componenten laden
3.4.4.3.4 Behaviors laden
3.4.4.3.5 Helpers laden
3.4.4.4 Klassen uit plugins laden
3.4.4.5 Vendor bestanden laden
3.4.4.5.1 Vendor voorbeelden
3.4.5 Routes configuratie
3.4.5.1 Standaard routing
3.4.5.2 Benoemde parameters
3.4.5.3 Defining Routes
3.4.5.4 Passing parameters to action
3.4.5.5 Prefix Routing
3.4.5.6 Plugin routing
3.4.5.7 File extensions
3.4.6 Custom Inflections
3.4.7 Bootstrapping CakePHP
3.5 Controllers
3.5.1 Introductie
3.5.2 The App Controller
3.5.3 The Pages Controller
3.5.4 Controller attributen
3.5.4.1 $name
3.5.4.2 $components, $helpers and $uses
3.5.4.3 Pagina gerelateerde attributen: $layout and $pageTitle
3.5.4.4 The Parameters Attribute ($params)
3.5.4.4.1 form
3.5.4.4.2 admin
3.5.4.4.3 bare
3.5.4.4.4 isAjax
3.5.4.4.5 controller
3.5.4.4.6 action
3.5.4.4.7 pass
3.5.4.4.8 url
3.5.4.4.9 data
3.5.4.4.10 prefix
3.5.4.4.11 named
3.5.4.5 Other Attributes
3.5.4.6 persistModel
3.5.5 Controller Methoden
3.5.5.1 Interactie met views
3.5.5.1.1 set
3.5.5.1.2 render
3.5.5.2 Flow Control
3.5.5.2.1 redirect
3.5.5.2.2 flash
3.5.5.3 Callbacks
3.5.5.4 Other Useful Methods
3.5.5.4.1 constructClasses
3.5.5.4.2 referer
3.5.5.4.3 disableCache
3.5.5.4.4 postConditions
3.5.5.4.5 paginate
3.5.5.4.6 requestAction
3.5.5.4.7 loadModel
3.6 Components
3.6.1 Introduction
3.6.2 Configuring Components
3.6.3 Component callbacks
3.6.4 Creating Components
3.6.4.1 Including Components in your Controllers
3.6.4.2 MVC Class Access Within Components
3.6.4.3 Using other Components in your Component
3.7 Models
3.7.1 Understanding Models
3.7.2 Creating Database Tables
3.7.2.1 Data Type Associations by Database
3.7.2.1.1 MySQL
3.7.2.1.2 MySQLi
3.7.2.1.3 ADOdb
3.7.2.1.4 DB2
3.7.2.1.5 Firebird/Interbase
3.7.2.1.6 MS SQL
3.7.2.1.7 Oracle
3.7.2.1.8 PostgreSQL
3.7.2.1.9 SQLite
3.7.2.1.10 Sybase
3.7.2.2 Titles
3.7.2.3 created and modified
3.7.2.4 Using UUIDs as Primary Keys
3.7.3 Retrieving Your Data
3.7.3.1 find
3.7.3.1.1 find('first')
3.7.3.1.2 find('count')
3.7.3.1.3 find('all')
3.7.3.1.4 find('list')
3.7.3.1.5 find('threaded')
3.7.3.1.6 find('neighbors')
3.7.3.2 findAllBy
3.7.3.3 findBy
3.7.3.4 query
3.7.3.5 field
3.7.3.6 read()
3.7.3.7 Complex Find Conditions
3.7.4 Saving Your Data
3.7.4.1 Saving Related Model Data (hasOne, hasMany, belongsTo)
3.7.4.1.1 counterCache - Cache your count()
3.7.4.2 Saving Related Model Data (HABTM)
3.7.5 Deleting Data
3.7.5.1 delete
3.7.5.2 remove
3.7.5.3 deleteAll
3.7.6 Associations: Linking Models Together
3.7.6.1 Relationship Types
3.7.6.2 hasOne
3.7.6.3 belongsTo
3.7.6.4 hasMany
3.7.6.5 hasAndBelongsToMany (HABTM)
3.7.6.6 Creating and Destroying Associations on the Fly
3.7.6.7 Multiple relations to the same model
3.7.6.8 Joining tables
3.7.7 Callback Methods
3.7.7.1 beforeFind
3.7.7.2 afterFind
3.7.7.3 beforeValidate
3.7.7.4 beforeSave
3.7.7.5 afterSave
3.7.7.6 beforeDelete
3.7.7.7 afterDelete
3.7.7.8 onError
3.7.8 Model Attributes
3.7.8.1 useDbConfig
3.7.8.2 useTable
3.7.8.3 tablePrefix
3.7.8.4 primaryKey
3.7.8.5 displayField
3.7.8.6 recursive
3.7.8.7 order
3.7.8.8 data
3.7.8.9 _schema
3.7.8.10 validate
3.7.8.11 name
3.7.8.12 cacheQueries
3.7.9 Additional Methods and Properties
3.8 Behaviors
3.8.1 Using Behaviors
3.8.2 Creating Behaviors
3.8.3 Creating behavior methods
3.9 DataSources
3.9.1 Basic API For DataSources
3.9.2 An Example
3.10 Views
3.10.1 View Templates
3.10.2 Layouts
3.10.3 Elements
3.10.3.1 Passing Variables into an Element
3.10.3.2 Caching Elements
3.10.3.3 Requesting Elements from a Plugin
3.10.4 View methods
3.10.4.1 set()
3.10.4.2 getVar()
3.10.4.3 getVars()
3.10.4.4 error()
3.10.4.5 element()
3.10.4.6 uuid()
3.10.4.7 addScript()
3.10.5 Themes
3.10.6 Media Views
3.11 Helpers
3.11.1 Using Helpers
3.11.2 Creating Helpers
3.11.2.1 Including other Helpers
3.11.2.2 Callback method
3.11.2.3 Using your Helper
3.11.3 Creating Functionality for All Helpers
3.11.4 Core Helpers
3.12 Scaffolding
3.12.1 Creating a simple admin interface with scaffolding
3.12.2 Customizing Scaffold Views
3.13 The CakePHP Console
3.13.1 Creating Shells & Tasks
3.13.1.1 Creating Your Own Shells
3.13.1.2 Tasks
3.13.2 Running Shells as cronjobs
3.14 Plugins
3.14.1 Creating a Plugin
3.14.2 Plugin Controllers
3.14.3 Plugin Models
3.14.4 Plugin Views
3.14.5 Components, Helpers and Behaviors
3.14.6 Plugin Images, CSS and Javascript
3.14.7 Plugin Tips
3.15 Global Constants and Functions
3.15.1 Global Functions
3.15.1.1 __
3.15.1.2 a
3.15.1.3 aa
3.15.1.4 am
3.15.1.5 config
3.15.1.6 convertSlash
3.15.1.7 countdim
3.15.1.8 debug
3.15.1.9 e
3.15.1.10 env
3.15.1.11 fileExistsInPath
3.15.1.12 h
3.15.1.13 ife
3.15.1.14 low
3.15.1.15 paths
3.15.1.16 pr
3.15.1.17 r
3.15.1.18 stripslashes_deep
3.15.1.19 up
3.15.1.20 uses
3.15.2 Core Definition Constants
4 Gangbare taken uitvoeren met CakePHP
4.1 Data Validation
4.1.1 Simple Rules
4.1.2 One Rule Per Field
4.1.2.1 rule
4.1.2.2 required
4.1.2.3 allowEmpty
4.1.2.4 on
4.1.2.5 message
4.1.2.6 last
4.1.3 Multiple Rules per Field
4.1.4 Core Validation Rules
4.1.4.1 alphaNumeric
4.1.4.2 between
4.1.4.3 blank
4.1.4.4 boolean
4.1.4.5 cc
4.1.4.6 comparison
4.1.4.7 date
4.1.4.8 decimal
4.1.4.9 email
4.1.4.10 equalTo
4.1.4.11 extension
4.1.4.12 file
4.1.4.13 ip
4.1.4.14 isUnique
4.1.4.15 minLength
4.1.4.16 maxLength
4.1.4.17 money
4.1.4.18 multiple
4.1.4.19 inList
4.1.4.20 numeric
4.1.4.21 notEmpty
4.1.4.22 phone
4.1.4.23 postal
4.1.4.24 range
4.1.4.25 ssn
4.1.4.26 url
4.1.5 Custom Validation Rules
4.1.5.1 Custom Regular Expression Validation
4.1.5.2 Adding your own Validation Methods
4.1.6 Validating Data from the Controller
4.2 Data filteren
4.2.1 paranoid
4.2.2 html
4.2.3 escape
4.2.4 clean
4.3 Error Handling
4.4 Debuggen
4.4.1 Basic Debugging
4.4.2 Using the Debugger Class
4.4.3 Debugger Class
4.5 Caching
4.6 Logging
4.6.1 Using the log function
4.7 Testen
4.7.1 Preparing for testing
4.7.1.1 Installing SimpleTest
4.7.1.2 Running Core test cases
4.7.2 Testing overview - Unit testing vs. Web testing
4.7.3 Preparing test data
4.7.3.1 About fixtures
4.7.3.2 Creating fixtures
4.7.3.3 Importing table information and records
4.7.4 Creating tests
4.7.4.1 CakeTestCase Callback Methods
4.7.5 Testing models
4.7.5.1 Creating a test case
4.7.5.2 Creating a test method
4.7.6 Testing controllers
4.7.6.1 Creating a test case
4.7.6.2 The testAction method
4.7.6.3 Pitfalls
4.7.7 Testing Helpers
4.7.7.1 Creating Helper test, part I
4.7.8 Testing components
4.7.8.1 Initializing the component
4.7.8.2 Creating a test method
4.7.9 Web testing - Testing views
4.7.9.1 About CakeWebTestCase
4.7.9.2 Creating a test
4.7.9.3 Walking through a page
4.7.10 Testing plugins
4.7.11 Miscellaneous
4.7.11.1 Customizing the test reporter
4.7.11.2 Grouping tests
4.7.12 Running tests in the Command Line
4.8 Internationalization & Localization
4.8.1 Internationalizing Your Application
4.8.2 Localization in CakePHP
4.9 Pagination
4.9.1 Controller Setup
4.9.2 Pagination in Views
4.9.3 AJAX Pagination
4.9.3.1 Layout Changes
4.9.3.2 View Changes
4.9.4 Custom Query Pagination
4.10 REST
4.10.1 The Simple Setup
4.10.2 Custom REST Routing
5 Core Components
5.1 Access Control Lists
5.1.1 Understanding How ACL Works
5.1.2 Defining Permissions: Cake's INI-based ACL
5.1.3 Defining Permissions: Cake's Database ACL
5.1.3.1 Getting Started
5.1.3.2 Creating Access Request Objects (AROs) and Access Control Objects (ACOs)
5.1.3.3 Assigning Permissions
5.1.3.4 Checking Permissions: The ACL Component
5.2 Authentication
5.2.1 Setting Auth Component Variables
5.2.2 Displaying Auth Error Messages
5.2.3 Auth-problemen oplossen
5.2.4 Change Hash Function
5.2.5 AuthComponent Methods
5.2.5.1 action
5.2.5.2 allow
5.2.5.3 deny
5.2.5.4 hashPasswords
5.2.5.5 mapActions
5.2.5.6 login
5.2.5.7 logout
5.2.5.8 password
5.2.5.9 user
5.2.6 AuthComponent Variables
5.2.6.1 userModel
5.2.6.2 fields
5.2.6.3 userScope
5.2.6.4 loginAction
5.2.6.5 loginRedirect
5.2.6.6 logoutRedirect
5.2.6.7 loginError
5.2.6.8 authError
5.2.6.9 autoRedirect
5.2.6.10 authorize
5.2.6.11 sessionKey
5.2.6.12 ajaxLogin
5.2.6.13 authenticate
5.2.6.14 actionPath
5.3 Cookies
5.3.1 Controller Setup
5.3.2 Using the Component
5.4 Email
5.4.1 Class Attributes and Variables
5.4.1.1 Sending Multiple Emails in a loop
5.4.2 Sending a basic message
5.4.2.1 Setting up the Layouts
5.4.2.2 Setup an email element for the message body
5.4.2.3 Controller
5.4.3 Sending A Message Using SMTP
5.5 Request Handling
5.5.1 Obtaining Request Information
5.5.2 Request Type Detection
5.5.3 Obtaining Additional Client Information
5.5.4 Responding To Requests
5.6 Security Component
5.6.1 Configuration
5.6.2 Methods
5.6.2.1 requirePost()
5.6.2.2 requireSecure()
5.6.2.3 requireAuth()
5.6.2.4 requireLogin()
5.6.2.5 loginCredentials(string $type)
5.6.2.6 loginRequest(array $options)
5.6.2.7 parseDigestAuthData(string $digest)
5.6.2.8 generateDigestResponseHash(array $data)
5.6.2.9 blackHole(object $controller, string $error)
5.6.3 Usage
5.6.4 Basic HTTP Authentication
5.7 Sessions
5.7.1 Methods
5.7.1.1 write
5.7.1.2 setFlash
5.7.1.3 read
5.7.1.4 check
5.7.1.5 delete
5.7.1.6 destroy
5.7.1.7 error
6 Core Behaviors
6.1 ACL
6.1.1 Using the AclBehavior
6.1.2 node()
6.2 Containable
6.3 Translate
6.3.1 Initializing the i18n Database Tables
6.3.2 Attaching the Translate Behavior to your Models
6.3.3 Defining the Fields
6.3.4 Conclusion
6.3.5 Retrieve all translation records for a field
6.3.5.1 Using the bindTranslation method
6.3.6 Saving in another language
6.3.7 Multiple Translation Tables
6.3.7.1 Create the TranslateModel
6.3.7.2 Changing the Table
6.4 Tree
6.4.1 Requirements
6.4.2 Basic Usage
6.4.2.1 Adding data
6.4.2.2 Modifying data
6.4.2.3 Deleting data
6.4.2.4 Querying and using your data
6.4.2.4.1 Children
6.4.2.4.2 Counting children
6.4.2.4.3 generatetreelist
6.4.2.4.4 getparentnode
6.4.2.4.5 getpath
6.4.3 Advanced Usage
6.4.3.1 moveDown
6.4.3.2 moveUp
6.4.3.3 removeFromTree
6.4.3.4 reorder
6.4.4 Data Integrity
7 Core Helpers
7.1 AJAX
7.1.1 Mogelijkheden van de AjaxHelper
7.1.1.1 General Options
7.1.1.2 Callback Options
7.1.2 Methods
7.1.2.1 link
7.1.2.2 remoteFunction
7.1.2.3 remoteTimer
7.1.2.4 form
7.1.2.5 submit
7.1.2.6 observeField
7.1.2.7 observeForm
7.1.2.8 autoComplete
7.1.2.9 isAjax
7.1.2.10 drag & drop
7.1.2.11 slider
7.1.2.12 editor
7.1.2.13 sortable
7.2 Cache
7.2.1 General Caching
7.2.2 Cache Engines in Cake
7.2.3 Cache Helper Configuration
7.2.4 Caching in the Controller
7.2.5 Marking Non-Cached Content in Views
7.2.6 Clearing the Cache
7.3 Form
7.3.1 Creating Forms
7.3.1.1 $options[‘type’]
7.3.1.2 $options[‘action’]
7.3.1.3 $options[‘url’]
7.3.1.4 $options[‘default’]
7.3.2 Closing the Form
7.3.3 Automagic Form Elements
7.3.3.1 Field naming convention
7.3.3.2 $options[‘type’]
7.3.3.3 $options[‘before’], $options[‘between’], $options[‘separator’] and $options[‘after’]
7.3.3.4 $options[‘options’]
7.3.3.5 $options[‘multiple’]
7.3.3.6 $options[‘maxLength’]
7.3.3.7 $options[‘div’]
7.3.3.8 $options[‘label’]
7.3.3.9 $options['legend']
7.3.3.10 $options[‘id’]
7.3.3.11 $options['error']
7.3.3.12 $options['default']
7.3.3.13 $options[‘selected’]
7.3.3.14 $options[‘rows’], $options[‘cols’]
7.3.3.15 $options[‘empty’]
7.3.3.16 $options[‘timeFormat’]
7.3.3.17 $options[‘dateFormat’]
7.3.3.18 $options['minYear'], $options['maxYear']
7.3.3.19 $options['interval']
7.3.3.20 $options['class']
7.3.4 File Fields
7.3.4.1 Validating Uploads
7.3.5 Form Element-Specific Methods
7.3.5.1 checkbox
7.3.5.2 button
7.3.5.3 year
7.3.5.4 month
7.3.5.5 dateTime
7.3.5.6 day
7.3.5.7 hour
7.3.5.8 minute
7.3.5.9 meridian
7.3.5.10 error
7.3.5.11 file
7.3.5.12 hidden
7.3.5.13 isFieldError
7.3.5.14 label
7.3.5.15 password
7.3.5.16 radio
7.3.5.17 select
7.3.5.18 submit
7.3.5.19 text
7.3.5.20 textarea
7.4 HTML
7.4.1 Inserting Well-Formatted elements
7.4.1.1 charset
7.4.1.2 css
7.4.1.3 meta
7.4.1.4 docType
7.4.1.5 style
7.4.1.6 image
7.4.1.7 link
7.4.1.8 tag
7.4.1.9 div
7.4.1.10 para
7.4.1.11 tableHeaders
7.4.1.12 tableCells
7.4.1.13 url
7.4.2 Changing the tags output by HtmlHelper
7.5 Javascript
7.5.1 Methods
7.6 Number
7.6.1 currency
7.6.2 precision
7.6.3 toPercentage
7.6.4 toReadableSize
7.6.5 format
7.7 Paginator
7.7.1 Methods
7.8 RSS
7.8.1 Creating an RSS feed with the RssHelper
7.8.1.1 Controller Code
7.8.1.1.1 Layout
7.8.1.1.2 View
7.9 Session
7.9.1 Methods
7.9.2 flash
7.9.2.1 Using Flash for Success and Failure
7.10 Text
7.11 Time
7.11.1 Formatting
7.11.2 Testing Time
7.12 XML
7.12.1 serialize
7.12.2 elem
7.12.3 header
8 Core utility klasses
8.1 App
8.2 Inflector
8.2.1 Class methods
8.3 String
8.3.1 UUID
8.3.2 Tokenize
8.3.3 insert
8.3.4 cleanInsert
8.4 Xml
8.4.1 Xml parsing
8.5 Set
8.5.1 Set-compatible Path syntax
8.5.2 insert
8.5.3 sort
8.5.4 reverse
8.5.5 combine
8.5.6 normalize
8.5.7 countDim
8.5.8 isEqual
8.5.9 diff
8.5.10 check
8.5.11 remove
8.5.12 classicExtract
8.5.13 matches
8.5.14 extract
8.5.15 format
8.5.16 enum
8.5.17 numeric
8.5.18 map
8.5.19 pushDiff
8.5.20 filter
8.5.21 merge
8.5.22 contains
8.6 Security
8.7 Cache
8.7.1 Cache::read()
8.7.2 Cache::write()
8.7.3 Cache::delete()
8.7.4 Cache::config()
8.7.5 Cache::set()
8.8 HttpSocket
8.8.1 get
8.8.2 post
8.8.3 request
9 Core Console Applications
9.1 Codegeneratie met Bake
9.2 Schema management en migratie
9.2.1 Generating and using Schema files
9.2.2 Migrations with CakePHP schema shell
9.3 Modify default HTML produced by "baked" templates
10 Voorbeeld applicaties
10.1 Blog
10.1.1 Cake downloaden
10.1.2 Aanmaken van de Blog Database
10.1.3 Cake Database Configuration
10.1.4 Optional Configuration
10.1.5 A Note on mod_rewrite
10.1.6 Create a Post Model
10.1.7 Create a Posts Controller
10.1.8 Creating Post Views
10.1.9 Adding Posts
10.1.10 Data Validation
10.1.11 Deleting Posts
10.1.12 Editing Posts
10.1.13 Routes
10.1.14 Conclusion
10.2 Simple Acl controlled Application
10.2.1 Preparing our Application
10.2.2 Preparing to Add Auth
10.2.3 Initialize the Db Acl tables
10.2.4 Acts As a Requester
10.2.5 Creating ACOs
10.2.6 An Automated tool for creating ACOs
10.2.7 Setting up permissions
10.2.8 Logging in
10.2.9 Logout
10.2.10 All done
11 Appendices
11.1 Overstappen van CakePHP 1.1 naar 1.2
11.1.1 Configure
11.1.2 HTML Helper to Form Helper
11.1.3 Loading Files
11.1.4 Model::generateList()
11.1.5 Possible Migration Approach
1.1 Collection
The Manual
1 Preface
2 Introduction to CakePHP
3 Basic Concepts
4 Installing CakePHP
5 Configuration
6 Scaffolding
7 Models
8 Controllers
9 Views
10 Components
11 Helpers
12 Cake's Global Constants And Functions
13 Data Validation
14 Plugins
15 Access Control Lists
16 Data Sanitation: The Sanitize Class
17 The Cake Session Component
18 The Request Handler Component
19 The Security Component
Algemeen
Info
1 CakePHP Development Process
2 Coding Standards
3 Release Checklist
How to help
Unofficial Resources
Sites in the wild
How to ask a question
Algemeen
Wijzigen
Commentaren (0)
Geschiedenis
Vergelijk met de orginele inhoud
Een verzameling informatie die niet versie afhankelijk is.
« Het Cookbook
|
Info »