Controller parameters are available at $this->params in your Cake controller. This variable is used to get data into the controller and provide access to information about the current request. The most common usage of $this->params is to get access to information that has been handed to the controller via POST or GET operations.
$this->data
Used to handle POST data sent from HTML Helper forms to the controller.
// A HTML Helper is used to create a form element
$html->input('User/first_name');
// When rendered as HTML it looks like:
<input name="data[User][first_name]" value="" type="text" />
// And when submitted to the controller via POST,
// shows up in $this->data['User']['first_name']
Array
(
[data] => Array
(
[User] => Array
(
[username] => mrrogers
[password] => myn3ighb0r
[first_name] => Mister
[last_name] => Rogers
)
)
)
$this->params['form']
Any POST data from any form is stored here, including information also found in $_FILES.
$this->params['bare']
Stores '1' if the current layout is bare, '0' if not.
$this->params['ajax']
Stores '1' if the current layout is ajax, '0' if not.
$this->params['controller']
Stores the name of the current controller handling the request. For example, if the URL /posts/view/1 was called, $this->params['controller'] would equal "posts".
$this->params['action']
Stores the name of the current action handling the request. For example, if the URL /posts/view/1 was called, $this->params['action'] would equal "view".
$this->params['pass']
Stores the GET query string passed with the current request. For example, if the URL /posts/view/?var1=3&var2=4 was called, $this->params['pass'] would equal "?var1=3&var2=4".
$this->params['url']
Stores the current URL requested, along with key-value pairs of get variables. For example, if the URL /posts/view/?var1=3&var2=4 was called, $this->params['url'] would look like this:
[url] => Array
(
[url] => posts/view
[var1] => 3
[var2] => 4
)