Q:

How can I access POST data in CakePHP that do not follow the naming convention?

I'm experimenting with CakePHP and I'm just surprised by how hard is it to accomplish the very simple task of reading a POST parameter.
The problem is, I don't use a form to submit the data. I'm using CakePHP as an API for my application and the provided values do not follow the naming conventions, so when I do pr($this->request->data) it just returns empty. 
Suppose that I have parameters such as username and password sent to my /authenticate/login action and I need to read them to be able to perform the login. I don't want to require the users to provide parameters with names like data[Users][username].
I can't understand why CakePHP developers like to require you to do so to be able to access them in the application! Why making our lives harder and not just provide a simple function like $this->input->post('username')?

A:

There's nothing to stop you accessing the $_POST superglobal, your data will be in there.
However, I don't recommend you go down this path.  There's a reason that everyone recommends Convention over Configuration.  For example, if you want to enable the security component so that people can't tamper with your forms, then you'll have to go back to the way that CakePHP recommends.
I strongly recommend doing things the 'Cake way' for the moment, everything is a lot easier if you do things the way that CakePHP recommends, especially when you start creating sites are not just simple one-user test cases.

