Funciones de smarty mas usadas en php Super Controller

Capa controlador


Esta capa contiene todo el control de la lógica del sistema, modifica la información para entregarla correctamente a las capas adyacentes, es como una especie de intermediario del sistema. Esta capa solo contiene código php.

En un mismo controlador se pueden realizar múltiples tareas por ejemplo: mostrar formularios usando templates para ingresar datos, agregar los datos a la base de datos usando el ORM, recoger los datos y mostrarlos usando templates, crear objetos, y mucho más. El éxito de los controladores y cuantas funciones agregar o no en cada uno, es cosa de practica y de realizar ejemplos, generalmente cada controlador es asociado con una tarea u objetivo especifico, en muchos casos se asocia con un proceso del diagrama de procesos, o con un caso de uso.

Todos los controladores serán clases con ciertas características, esto debido a que a las clases se le pueden crear funciones, y se le puede dar mucho mas orden que a la programación estructurada convencional.

Reglas de los controladores:
  1. Todos los controladores deben extender (o heredar) de la clase 'super_controller' (clase que se definirá mas adelante)
  2. Todos los nombres de los archivos php de los controladores deben ir en miniscula y en caso de que contenga 2 o más palabras se debe usar el guion bajo y finalmente deben terminar con la extensión .php (ejemplo: contact.php - my_docs.php - index.php)
  3. El nombre de la clase controladora debe ser igual a "c_" más el nombre de la ruta global y del archivo php que la contiene, por ejemplo en el controlador work/index.php, la clase interna se debe llamar c_index
    En el archivo work/admin/index.php la clase interna se debe llamar c_admin_index (el c corresponde a que es un controlador).
  4. No se debe colocar ni una sola linea de código html en los controladores. Solo deben contener código php.
  5. Todos los controladores deben contar con una función de 'run', una función de 'display' y fuera de la clase deben tener una variable $call que sea del mismo tipo del controlador y que ejecute la función $call->run()

Nota: Una analogía de las funciones de esta capa, la podemos encontrar en el mundo real, mas específicamente en la aviación, un controlador seria una especie de controlador de vuelo, el se encarga de recopilar la información de otros sistemas, como el clima, el estado de las pistas, etc. La procesa y se la entrega de un modo muy simple a los pilotos, o también puede recibir información de los pilotos, procesarla y entregarla al aeropuerto o a otros pilotos.
Funciones de smarty mas usadas en php Super Controller