2.4.3 Convenciones de Controladores

Los nombres de las clases de los controladores son plurales, CamelCased, y Terminan con ‘Controller’. PeopleController, BigPeopleController y, ReallyBigPeopleController son ejemplos de nombres de controladores.

La primera función para un controlador debe de ser la función index(). Cuando la petición especifica un controlador pero no una acción, el comportamiento por defecto de CakePHP es renderizar la función index() de dicho controlador. Ejemplo, una petición a http://www.example.com/apples/ llama a la función index() de el controlador ApplesController, una petición a http://www.example.com/apples/view llama a la función view() de el controlador ApplesController.

También puedes cambiar la visibilidad de las funciones de los controladores en CakePHP nombrando las funciones del controlador con minúsculas. Si la función del controlador fue nombrada con minúsculas, la función no va a poder ser vista por el dispachador, pero se puede acceder internamente.

2.4.3.1 Consideraciones de URL para nombres de controladores

Como se puede ver, los controladores con un nombre simple (de una sola palabra) pueden ser fácilmente mapeados a una url en minúsculas. Por ejemplo, ApplesController (que se define en el archivo 'apples_controller.php') y accedido desde http://example.com/apples.

Por otro lado múltiples combinaciones de palabras pueden ser transformadas automáticamente en un mismo nombre de controlador:

  • /redApples
  • /RedApples
  • /Red_apples
  • /red_apples

Todas resuelven la acción index de controlador RedApples. sin embargo, la convención es que las urls sean en minúsculas y separadas con guión bajo, por lo tanto /red_apples/go_pick es la forma correcta de acceder a la acción. RedApplesController::go_pick.