Las vistas en cakephp 1.2

Siguiendo con el post anterior, sigo investigando lo nuevo que trae la version 1.2 de cakephp.
Mi primera aplicación es una migración de una con la que vengo trabajando hace bastante, no es nada específico sino más una especie de sitio base, o template para crear aplicaciónes.

Lo primero que encuentro en mi recién creado proyecto, es un montón de archivos .ctp en la vista. En la nueva versión, los .thtml se llaman ahora .ctp (por cake template), pero siguen siendo archivos php y la idea debajo es la misma.

Además, en estos archivos .ctp hay llamadas a una nueva función __(), que maneja la localización y traducciones, la función se declara de la siguiente forma:

__(string $string_id, boolean $return = false)

Y nos permite imprimir el texto asociado al id para el idioma actual. Una cosa importante a notar es que si no existe el texto con el id indicado, esta función imprimirá dicho texto, asi que es buena costumbre usarla siempre para el texto que queramos mostrar en nuestra aplicación.

Por lo demás, las vistas son prácticamente iguales que en cake 1.1, archivos php para mostrar html y el contenido que nos pasa el controlador.

Cake 1.2 trae también nuevos y mejorados helpers, por ejemplo, el FormHelper tiene funciones mucho más completas (y se movió todo lo relacionado a forms a este helper) como:

  • create() para abrir un form
  • end() para cerrarlo
  • input() para crear inputs automágicos (solo $form->input(”nombre_del_campo”) nos crea el campo de formulario correcto, un gran reemplazo para los distintos métodos de cake 1.1, que todavía podemos usar de ser necesario.

El nuevo HtmlHelper ya no tiene métodos relacionados con formularios, y esta disponible por default para todas las vistas. El mismo nos provee functiones para imprimir html bien formado, incluyendo charsets, meta, doctypes, estilos (css), imagenes, divs, links, urls, parrafos, tablas, etc.

Tambien tenemos los ya conocidos JavascriptHelper y AjaxHelper que nos ayudan a agregar efectos dinámicos a la aplicaicón, usando prototype y script.aculo.us y no han cambiado mucho.

NumberHelper, TextHelper y TimeHelper mejorados y con más funciones que nos ayudan a dar formato a sus respectivos tipos de datos siguien facilitandonos la vida en el maravilloso mundo de cakephp.

AJAXed with AWP