Page Contents



Content Delivery Network. A 3rd party vendor you can pay to help distribute your content to data centers around the world. This helps put your static assets closer to geographically distributed users.


Used in the ORM when referring to the table columns in an database table.


Cross Site Request Forgery. Prevents replay attacks, double submissions and forged requests from other domains.

DI Container

In Application::services() you can configure application services and their dependencies. Application services are automatically injected into Controller actions, and Command Constructors. See Dependency Injection.


Data Source Name. A connection string format that is formed like a URI. CakePHP supports DSNs for Cache, Database, Log and Email connections.

dot notation

Dot notation defines an array path, by separating nested levels with . For example:


Would point to the following value:

    'Cache' => [
        'default' => [
            'engine' => 'File'

Don’t repeat yourself. Is a principle of software development aimed at reducing repetition of information of all kinds. In CakePHP DRY is used to allow you to code things once and re-use them across your application.


A generic term used to describe both entity properties, or database columns. Often used in conjunction with the FormHelper.

HTML attributes

An array of key => values that are composed into HTML attributes. For example:

// Given
['class' => 'my-class', 'target' => '_blank']

// Would generate
class="my-class" target="_blank"

If an option can be minimized or accepts its name as the value, then true can be used:

// Given
['checked' => true]

// Would generate

Platform as a Service. Platform as a Service providers will provide cloud based hosting, database and caching resources. Some popular providers include Heroku, EngineYard and PagodaBox


Used when referencing columns mapped onto an ORM entity.

plugin syntax

Plugin syntax refers to the dot separated class name indicating classes are part of a plugin:

// The plugin is "DebugKit", and the class name is "Toolbar".

// The plugin is "AcmeCorp/Tools", and the class name is "Toolbar".

A file in config directory that contains routing configuration. This file is included before each request is processed. It should connect all the routes your application needs so requests can be routed to the correct controller + action.

routing array

An array of attributes that are passed to Router::url(). They typically look like:

['controller' => 'Posts', 'action' => 'view', 5]