Cuando descomprima el paquete de Kumbia 0.5.x encontrará el siguiente listado de directorios.
./apps
../apps/default
../../apps/default/controllers
../../apps/default/helpers
../../apps/default/models
../../apps/default/views
../../../apps/default/views/layouts
./cache
./config
./docs
./library
../library/excel
../library/fpdf
../library/kumbia
../library/libchart
../library/mail
../library/smarty
./logs
./public
../public/css
../public/files
../public/img
../public/javascript
../public/temp
../public/themes
./scripts
./test
| Directorio | Descripció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 imágenes, css, javascript, zips, docs, archivos temporales, etc. |
| scripts | Scripts del framework Kumbia para cargar los archivos necesarios para la aplicación |
| test |
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/
Este archivo de configuración controla los datos más generales de la aplicación realizada con el Framework tales como nombre de la aplicación, zona horario, modo debug, etc...
[kumbia]
default_app = default
timezone = "Europe/Lisbon"
[default]
mode = development
name = "KUMBIA PROJECT"
interactive = On
controllers_dir = default/controllers
models_dir = default/models
views_dir = default/views
plugins_dir = default/views
helpers_dir = default/helpers
dbdate = YYYY-MM-DD
debug = On
log_exceptions = On
charset = ISO-8859-1
| 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 aplicacion. 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 opcion tiene el valor On kumbia al momento de enrutar a un Controlador que no se encuentre disponible automaticamente cargara un vista donde te brinda la opcion de generar este Controlador al cual esta ejecutando (Opcion 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) |
| 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 ISO-8859-1 UTF-8 |
Nota
Este archivo de configuración contiene los datos necesarios para conectarse con las diferentes bases de datos requeridas para el desarrollo de la aplicación. Este archivo dispone de dos configuraciones paralelas, una para cuando el programador esta bajo entorno de desarrollo y otra para cuando esta en entorno de producción.
[development]
database.host = localhost
database.username = root
database.password =
database.name = innogest
database.type = mysql
[production]
database.host = localhost
database.username = root
database.password =
database.name = test
database.type = mysql
| Atributo | Descripción |
|---|---|
| database.host | Representa el nombre de la máquina o IP de la red local o Internet donde esta el servidor de base de datos. Ej localhost ó 127.0.0.1 |
| database.user | Representa un nombre de usuario válido con el que se conectará al sistema de base de datos. |
| database.pass | Representa un password de usuario válido con el que se conectará al sistema de base de datos. |
| database.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. |
| database.type | Driver Kumbia utilizado para la capa de abstracción de datos. RDBM a utilizar: mysql, postgresql, sqlite, pdo, ODBC. |
| database.dsn | Nombre del Data Source Name (si es necesario) |
| database.port | Numero del Puerto para conectar (si es necesario) |
| database.pdo | Si se usa PHP Data Objects el valor debe ser On |
Este archivo de configuración sirve para definir las políticas de enrutamiento estático para los controladores de la aplicación. Es decir, cuando queramos que al acceder determinado controlador/acción se dirija automáticamente a otro controlador o a otra acción.
[default]
;prueba/ruta1/ = prueba/ruta2/
;prueba/ruta2/ = prueba/ruta3/
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 parametros:
controlador/accion/id = controlador/accion/id
Si se utilizan modulos:
modulo/controlador/accion/id = modulo/controlador/accion/id
El asterisco " * " en una política de enrutamiento sirve para indicar que ese campo de enrutamiento puede tener cualquier valor.
Cuando se utiliza la barra " / " para una política, trata del indice principal de la aplicación, esto es realmente util cuando surge la necesidad de que al no indicar ningún módulo, controlador o acción, automaticamente kumbia redirija a un controlador y acción por defecto.
Ejemplo:
[sistec]
/ = acceso/index/
solicitud/nueva/ = forma32/create/
usuario/salir/ = acceso/logout/*
Dentro de este mismo archivo podréis encontrar más información sobre el funcionamiento de las redirecciones ( enrutamientos ).
En este archivo de configuración podeis añadir/eliminar los módulos que quereis cargar al iniciar Kumbia. Dichos módulos pueden ser tanto plugins, classes o librerias cuya única condición es que esten dentro de la carpeta library.
Si existe un archivo library/usuario/archivo.php entonces agregamos usuario.archivo
[modules] extensions = kumbia.logger, mail.mail, libchart.libchart
Vamos a colocar la librería zipfile que puede ser encontrada en http://www.weberdev.com/get_example-4066.html, esta librería permite escribir archivos zip desde php. Ahora vamos a integrarla con kumbia:
Al descargar la librería encontramos lo siguiente:
zip.lib.php
zipper.php
Siguiente paso, creamos un directorio en library con un nombre para identificar la librería, en nuestro caso usamos ziplib, así:
library/ziplib/zip.lib.php
library/ziplib/zipper.php
Ahora vamos a renombrar el archivo zip.lib.php a main.php para indicar que es el archivo principal, y quedaría así:
library/ziplib/main.php
library/ziplib/zipper.php
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
Listo, ahora cuando inicie Kumbia esta librería estará disponible en cualquier parte de nuestra aplicación.
Solo decir que la explicación está muy buena, excelente, me ha servido mucho para ir complementando con el manual.
Y aclarar que esta frase "Agregamos a la variable extensions en forms/config/core.ini el valor ziplib.main asi:"
ahora está en "config/boot.ini"
y dentro de ese archivo he agregado la extensión Zip.
"extensions = kumbia.tags, kumbia.logger, kumbia.utils, kumbia.acl, smarty.main, ziplib.main"
Solamente eso, muchos saludos.
Muchas gracias!
Pd: Esto es como hablan de la versión 0.5.