Nomenclatura

En el capitulo anterior vimos la estructura de directorios, en este veremos que convenciones y nomenclatura se debe utilizar para la creacion de los archivos.

Reglas para Clases o interfaces.

- Un archivo solo debe contener una clase o interface.
- El nombre del archivo debera ser igual al nombre de la clase, es decir si la clase se llama Utilidades entonces el archivo se debe llamar Utilidades.php.-
- Es obligatorio el uso de namespaces, en cada clase se debera indicar el mismo el cual ayudara a nuestro autoloader a encontrar la clase que se requiere.
namespace index\adapters;
Indica que la clase se encuentra en el modulo index y en el directorio adapters.
- Por recomendacion se debe utilizar CamelCase, para nombre de clases, variables y metodos.
- Los metodos que se ejecuten publicamente del adaptador deberan llevar el post-fijo Action. Ej.
public function saludoAction() { ...

Nombres y acciones automaticas.

Agenor utiliza convenciones en los nombres para enlazar en tiempo de ejecucion distintas partes de nuestro codigo automaticamente.
Los mas comunes son:

- Si una clase adaptadora se llama HolaMundoAdapter y en el directorio de los modelos existe una clase llamada HolaMundoModels, entonces el controlador instanciara la clase modelo al ejecutarse.
Con el siguiente codigo podemos acceder al modelo desde el controlador
$this->model->...
- Si ejecutamos del adaptador HolaMundoAdapter el metodo saludoAction y no se llama al metodo render al finalizar el mismo, entonces se intentara levantar la plantilla por defecto que se llamaria holamundo_saludo.phtml en el directorio de las vistas del modulo.

- Todos los archivos .php que se encuentren en el directorio de configuracion (configs por defecto), seran levantados automaticamente por el sistema. Para acceder a dichas configuraciones lo hacemos mediante el Registry del sistema.
Si el archivo de configuracion se llama configuracion.php entonces el codigo para obtenerlo seria:
\agenor\mva\Registry::get('configuracion');

Herencias

- Toda clase adaptadora debera extender de agenor\mva\Adapter o alguna subclase que extienda de esta.
- Las clases Models podran o no extender de agenor\mva\Models, la cual le proporciona de opciones de conexion, relacionandola con los archivos de configuracion.