Edición de «Estructura de Kumbia»
De KumbiaPHP Framework Wiki
Advertencia: no has iniciado sesión. Tu dirección IP se hará pública si haces cualquier edición. Si inicias sesión o creas una cuenta, tus ediciones se atribuirán a tu nombre de usuario, además de otros beneficios.
Puedes deshacer la edición. Antes de deshacer la edición, comprueba la siguiente comparación para verificar que realmente es lo que quieres hacer, y entonces guarda los cambios para así efectuar la reversión.
Revisión actual | Tu texto | ||
Línea 14: | Línea 14: | ||
Al descomprimir el paquete de kumbia 0.5 una estructura de directorios como la siguiente aparece: | Al descomprimir el paquete de kumbia 0.5 una estructura de directorios como la siguiente aparece: | ||
− | < | + | <code lang="php"> |
./apps | ./apps | ||
../apps/default | ../apps/default | ||
Línea 42: | Línea 42: | ||
./scripts | ./scripts | ||
./test | ./test | ||
− | </ | + | </code> |
==Explicación== | ==Explicación== | ||
− | + | Directorio | |
− | + | Explicación | |
− | + | apps | |
− | + | Directorio que contiene los archivos relativos a modelos, controladores y vistas de una o varias aplicaciones. En este directorio usted desarrollará un 90% de su aplicación. | |
− | + | cache | |
− | + | Este directorio contiene las carpetas y archivos creados cuando Kumbia está cacheando una vista, un layout o un partial. Cuando inicias un proyecto el directorio se encuentra vacío. | |
− | + | config | |
− | + | En este directorio están los archivos de configuración del framework y la clase config que sirve para leer los archivos .ini de configuración. | |
− | + | docs | |
− | + | Aquí están los archivos de licencia, información de instalación y readme. | |
− | + | library | |
− | + | Este directorio está destinado para colocar librerías externas a Kumbia y que puedan ser fácilmente integradas al Framework | |
− | + | logs | |
− | + | Aquí se guardan los logs de texto creados por el framework por la clase Logger. Cuando inicias un proyecto este directorio se encuentra vacío. | |
− | + | public | |
− | + | Son los archivos de usuario tales como imágenes, css, javascript, zips, docs, archivos temporales, etc. | |
− | + | scripts | |
− | + | Scripts del framework Kumbia para cargar los archivos necesarios para la aplicación | |
− | + | test | |
− | |||
− | |||
=Archivos de entorno= | =Archivos de entorno= | ||
− | Kumbia posee una configuración por defecto que debe funcionar bien en la mayor parte de casos aunque ésta puede personalizarse de acuerdo a necesidades específicas de cada proyecto. Se ha pensado en configurar al mínimo para poder empezar | + | Kumbia posee una configuración por defecto que debe funcionar bien en la mayor parte de casos aunque ésta puede personalizarse de acuerdo a necesidades específicas de cada proyecto. Se ha pensado en configurar al mínimo para poder empezar ha trabajar y dejar que Kumbia escoja la configuración más óptima. Kumbia utiliza archivos formato .ini para hacer la configuración. |
Puedes encontrar estos archivos en el directorio ./config/ | Puedes encontrar estos archivos en el directorio ./config/ | ||
Línea 79: | Línea 77: | ||
Estructura del archivo ./config/config.ini | Estructura del archivo ./config/config.ini | ||
− | |||
[kumbia] | [kumbia] | ||
default_app = default | default_app = default | ||
Línea 97: | Línea 94: | ||
log_exceptions = On | log_exceptions = On | ||
charset = UTF-8 | charset = UTF-8 | ||
− | |||
===Explicación de los parámetros ./config/config.ini=== | ===Explicación de los parámetros ./config/config.ini=== | ||
− | + | Atributo | |
− | + | Descripción | |
− | + | default_app | |
− | + | Directorio de la aplicación que carga por defecto | |
− | + | timezone | |
− | + | Zona horaria donde estás. Puedes encontrar más información en: | |
− | + | http://es2.php.net/manual/es/timezones.php | |
− | + | mode | |
− | + | Modo de trabajo de la aplicación. Puedes especificar development y production. La configuración se encuentra en el archivo config.ini | |
− | + | name | |
− | + | Nombre de la aplicación en general | |
− | + | interactive | |
− | + | Cuando esta opción tiene el valor On kumbia al momento de enrutar a un Controlador que no se encuentre disponible automáticamente cargara un vista donde te brinda la opción de generar este Controlador al cual esta ejecutando (Opción recomendable en tiempo de desarrollo) | |
− | + | controllers_dir | |
− | + | Controladores que cargaran por defecto (default/controllers) | |
− | + | models_dir | |
− | + | Modelos que se cargaran por defecto (default/models) | |
− | + | views_dir | |
− | + | Vistas que se cargaran por defecto (default/views) | |
− | + | plugins_dir | |
− | + | Plugins que se cargaran por defecto (default/views) | |
− | + | helpers_dir | |
Helpers que se cargaran por defecto (default/helpers) | Helpers que se cargaran por defecto (default/helpers) | ||
− | + | dbdate | |
− | + | Formato de las fechas en la BD | |
− | + | debug | |
− | + | Activa/desactiva el sistema de mensajes de error por pantalla | |
− | + | log_exceptions | |
− | + | Guarda mediante Logs los mensajes generados por el framework | |
− | + | charset | |
− | + | Conjunto de caracteres de la aplicación | |
− | + | UTF-8 (RECOMENDADO) | |
− | |||
'''Nota''' | '''Nota''' | ||
− | Los atributos controllers_dir, models_dir, views_dir, plugins_dir y helpers_dir vienen a formar parte de las nueva forma de programar en kumbia donde con un mismo framework podemos tener varias aplicaciones ejecutándose | + | Los atributos controllers_dir, models_dir, views_dir, plugins_dir y helpers_dir vienen a formar parte de las nueva forma de programar en kumbia donde con un mismo framework podemos tener varias aplicaciones ejecutándose |
== environment.ini == | == environment.ini == | ||
Línea 144: | Línea 139: | ||
===Estructura del archivo ./config/environment.ini=== | ===Estructura del archivo ./config/environment.ini=== | ||
− | |||
[development] | [development] | ||
database.host = localhost | database.host = localhost | ||
Línea 158: | Línea 152: | ||
database.name = test | database.name = test | ||
database.type = mysql | database.type = mysql | ||
− | |||
En una próxima actualización de la versión 0.5 específicamente la versión 0.5.1 se agrega una mejora en este archivo para obtener mayor velocidad en la lectura del mismo y es que se le quita el prefijo database. | En una próxima actualización de la versión 0.5 específicamente la versión 0.5.1 se agrega una mejora en este archivo para obtener mayor velocidad en la lectura del mismo y es que se le quita el prefijo database. | ||
− | |||
[development] | [development] | ||
host = localhost | host = localhost | ||
Línea 176: | Línea 168: | ||
name = test | name = test | ||
type = mysql | type = mysql | ||
− | |||
===Explicación de los parámetros ./config/environment.ini=== | ===Explicación de los parámetros ./config/environment.ini=== | ||
− | + | Atributo | |
− | + | Descripción | |
− | + | host | |
− | + | El nombre del host o IP donde esta el servidor de base de datos. Ej localhost ó 127.0.0.1 | |
− | + | user | |
− | + | Nombre de usuario con el que se conectará al sistema de base de datos. | |
− | + | pass | |
− | + | Password de usuario con el que se conectará al sistema de base de datos. | |
− | + | name | |
− | + | Representa el nombre de una base de datos válida con la que se trabajará todas las operaciones de base datos de la aplicación. | |
− | + | type | |
− | + | Driver Kumbia utilizado para la capa de abstracción de datos. RDBM a utilizar: mysql, postgresql, sqlite, pdo, ODBC. | |
− | + | dsn | |
− | + | Nombre del Data Source Name (si es necesario) | |
− | + | port | |
− | + | Numero del Puerto para conectar (si es necesario) | |
− | + | pdo | |
− | + | Si se usa PHP Data Objects el valor debe ser On | |
− | |||
==routes.ini== | ==routes.ini== | ||
Línea 209: | Línea 199: | ||
===Explicación de los parámetros ./config/routes.ini=== | ===Explicación de los parámetros ./config/routes.ini=== | ||
− | El nombre de cada sección corresponde al nombre de una aplicación | + | El nombre de cada sección corresponde al nombre de una aplicación y seguido se definen las políticas de enrutamiento para esa aplicación. |
En caso de no utilizar modulos, una política de enrutamiento se encuentra constituida por los siguientes parámetros: controlador/accion/id = controlador/accion/id | En caso de no utilizar modulos, una política de enrutamiento se encuentra constituida por los siguientes parámetros: controlador/accion/id = controlador/accion/id | ||
Si se utilizan módulos: | Si se utilizan módulos: | ||
Línea 236: | Línea 226: | ||
Estructura del archivo ./config/boot.ini | Estructura del archivo ./config/boot.ini | ||
[modules] | [modules] | ||
− | extensions = kumbia.logger, mail.mail, libchart.libchart | + | extensions = kumbia.logger, mail.mail, libchart.libchart |
===Gestionar extensiones. Ejemplo práctico=== | ===Gestionar extensiones. Ejemplo práctico=== | ||
Línea 255: | Línea 245: | ||
Agregamos a la variable extensions en forms/config/core.ini el valor ziplib.main asi: | Agregamos a la variable extensions en forms/config/core.ini el valor ziplib.main asi: | ||
extensions = kumbia.tags, kumbia.logger, kumbia.utils, kumbia.acl, smarty.main, ziplib.main | extensions = kumbia.tags, kumbia.logger, kumbia.utils, kumbia.acl, smarty.main, ziplib.main | ||
− | Listo, ahora cuando inicie Kumbia esta librería estará disponible en cualquier parte de nuestra aplicación. | + | Listo, ahora cuando inicie Kumbia esta librería estará disponible en cualquier parte de nuestra aplicación. |
=Resumen= | =Resumen= | ||
Si pensamos en convención sobre configuración, entonces podemos también pensar que mientras todo esté en su lugar, mejorará el orden de la aplicación y será más fácil encontrar problemas, habilitar/inhabilitar módulos y en síntesis mantener la aplicación. | Si pensamos en convención sobre configuración, entonces podemos también pensar que mientras todo esté en su lugar, mejorará el orden de la aplicación y será más fácil encontrar problemas, habilitar/inhabilitar módulos y en síntesis mantener la aplicación. |