Revisión actual |
Tu texto |
Línea 1: |
Línea 1: |
− | <big>Nuevo manual actualizado para la v1 en español e ingles en [https://github.com/KumbiaPHP/Documentation/blob/master/es/index.md Manual KumbiaPHP en Github]
| + | = [[Agradecimientos|AGRADECIMIENTOS]] = |
− | </big>
| |
− | | |
− | Este manual esta portándose del [http://ufpr.dl.sourceforge.net/sourceforge/kumbia/Manual_Kumbia_PHP_Framework_v0-5.pdf Manual PDF de KumbiaPHP Framework].
| |
− | | |
− | Esta abierto, para que la comunidad ayude a portarlo y mejorarlo.
| |
− | Más adelante, el manual en PDF se creará de este wiki.
| |
| | | |
− | = [[Agradecimientos|AGRADECIMIENTOS]] =
| |
− | Este manual es para agradecer a los que con su tiempo y apoyo en gran o en poca medida han ayudado a que este framework sea cada día mejor.
| |
− | A todos ellos Gracias Totales:
| |
− | Andres Felipe Gutierrez gutierrezandresfelipe@gmail.com
| |
− | Deivinson Tejeda deivinsontejeda@kumbiaphp.com
| |
− | Emilio Silveira emilio.rst@kumbiaphp.com
| |
− | César Caballero aka Phillipo phillipo@kumbiaphp.com
| |
| = [[Prefacio|PREFACIO]] = | | = [[Prefacio|PREFACIO]] = |
| | | |
Línea 19: |
Línea 6: |
| #[[Prefacio#Sobre_Kumbia|Sobre Kumbia]] | | #[[Prefacio#Sobre_Kumbia|Sobre Kumbia]] |
| #[[Prefacio#Sobre_la_comunidad|Sobre la comunidad]] | | #[[Prefacio#Sobre_la_comunidad|Sobre la comunidad]] |
− | #[[Prefacio#Historia_de_Kumbia|Historia de Kumbia]] | + | #[[Prefacio#Sobre_la_comunidad|Historia de Kumbia]] |
| #[[Prefacio#Que_aporta_Kumbia|Que aporta Kumbia]] | | #[[Prefacio#Que_aporta_Kumbia|Que aporta Kumbia]] |
− | #[[Prefacio#.C2.BFPorque_usar_Kumbia.3F|¿Porque usar Kumbia?]] | + | #[[Prefacio#Porque_usar_kumbia|Porque usar Kumbia]] |
− | #[[Prefacio#Modelo.2C_Vista.2C_Controlador_.28MVC.29|Modelo, Vista, Controlador (MVC)]] | + | #[[Model_Vista_Controlador|Modelo, Vista, Controlador (MVC)]] |
− | ##[[Prefacio#.C2.BFQue_es.3F|¿Que es?]]
| + | |
− | ##[[Prefacio#Implementaci.C3.B3n_y_uso|Implementación y uso]]
| + | |
− | ##[[Prefacio#Informaci.C3.B3n_adicional|Información adicional]]
| + | |
− | ##[[Prefacio#Caso_pr.C3.A1ctico|Caso práctico]]
| |
| | | |
| = EMPEZANDO CON KUMBIA PHP FRAMEWORK = | | = EMPEZANDO CON KUMBIA PHP FRAMEWORK = |
Línea 32: |
Línea 18: |
| == [[Instalar_Kumbia|Instalar Kumbia ]] == | | == [[Instalar_Kumbia|Instalar Kumbia ]] == |
| | | |
− | #[[Instalar_Kumbia#Requisitos|Requisitos]] | + | #Requisitos |
− | #[[Instalar_Kumbia#Descargar_Kumbia|Descargar Kumbia]] | + | #Descargar Kumbia |
− | #[[Instalar_Kumbia#Configuraci.C3.B3n_de_m.C3.B3dulos_.28_apache.2C_php_y_bbdd_.29|Configuración de módulos (Apache, PHP y bbdd)]] | + | #Configuración de módulos ( apache, php y bbdd ) |
− | ##[[Instalar_Kumbia#Configurando_Apache|Configurando Apache]] | + | ##Configurando apache |
− | ###[[Instalar_Kumbia#.C2.BFPor_qu.C3.A9_es_importante_Mod-Rewrite.3F|¿Por qué es importante Mod-Rewrite?]] | + | ###3.1.1 ¿Por qué es importante Mod-Rewrite? |
− | ##[[Instalar_Kumbia#Configuraci.C3.B3n_de_PHP|Configuración de PHP]] | + | ##Configuración de PHP |
− | ###[[Instalar_Kumbia#.C2.BFPorque_Kumbia_utiliza_PHP5.3F|¿Porque Kumbia utiliza PHP5?]] | + | ###¿Porque Kumbia utiliza PHP5? |
− | ##[[Instalar_Kumbia#Configurando_BB.DD|Configurando BB.DD]] | + | ##Configurando BB.DD |
− | ###[[Instalar_Kumbia#Configuraci.C3.B3n_de_MySQL|Configuración de MySQL]] | + | ###Configuración de MySQL |
− | ###[[Instalar_Kumbia#Configurando_Oracle|Configurando Oracle]] | + | ###Configurando Oracle |
− | #[[Instalar_Kumbia#Configurar_XAMPP|Configurar XAMPP]] | + | #Configurar XAMPP |
− | ##[[Instalar_Kumbia#Instalando_XAMPP_bajo_Windows|Instalando XAMPP bajo Windows]] | + | ##Instalando XAMPP bajo Windows |
− | ##[[Instalar_Kumbia#Instalando_XAMPP_bajo_GNU.2FLinux|Instalando XAMPP bajo GNU/Linux]] | + | ##Instalando XAMPP bajo GNU/Linux |
− | ##[[Instalar_Kumbia#IInstalando XAMPP bajo Debian/Ubuntu Linux|Instalando XAMPP bajo Debian/Ubuntu Linux]] | + | ##Instalando XAMPP bajo Debian/Ubuntu Linux |
− | #[[Instalar_Kumbia#Configurar_Apache2Triad|Configurar Apache2Triad]] | + | #Configurar Apache2Triad |
− | #[[Instalar_Kumbia#Verificar la instalación de Kumbia|Verificar la instalación de Kumbia]] | + | #Verificar la instalación de Kumbia |
− | ##[[Instalar_Kumbia#Instalar Kumbia PHP en producción de forma segura| Instalar Kumbia PHP en producción de forma segura]]
| + | #Instalar Kumbia PHP en producción de forma segura |
| + | |
| + | == [Estructura de Kumbia] == |
| + | #Introducción |
| + | #Directorios de entorno |
| + | #Archivos de entorno |
| + | #Resumen |
| + | |
| + | == Características avanzadas == |
| + | #¡Parámetros con Nombre! |
| + | #Obtener valores en una aplicación Kumbia |
| + | #Uso de Paquetes (Namespaces) |
| + | #Programación modular |
| + | |
| + | == Primera Aplicación en Kumbia == |
| + | #Creando una nueva aplicación |
| + | #Hola Kumbia |
| + | #Kumbia URLS |
| + | #Nuestra Primera Acción |
| + | #Agregando más Contenido |
| + | #Repitiendo la Historia |
| + | |
| + | == Estructura de Kumbia== |
| | | |
− | == [[Estructura_de_Kumbia|Estructura de Kumbia]] ==
| + | #[[Kumbia:EstructuraDirectorios|Estructura de directorios ]] |
− | #[[Estructura_de_Kumbia#Introducci.C3.B3n|Introducción]] | + | ##Listado de directorios |
− | #[[Estructura_de_Kumbia#Directorios_de_entorno|Directorios de entorno]] | + | ##Descripción de directorios |
− | ##[[Estructura_de_Kumbia#Explicaci.C3.B3n|Explicación]]
| + | #[[Kumbia:ArchivosEntorno|Archivos de entorno ]] |
− | #[[Estructura_de_Kumbia#Archivos_de_entorno|Archivos de entorno]]
| + | ##[[Kumbia:ArchivosEntorno#config.ini|config.ini ]] |
− | ##[[Estructura_de_Kumbia#config.ini|config.ini]] | + | ##[[Kumbia:ArchivosEntorno#environment.ini|environment.ini]] |
− | ###[[Estructura_de_Kumbia#Explicaci.C3.B3n_de_los_par.C3.A1metros_..2Fconfig.2Fconfig.ini|Explicación de los parámetros ./config/config.ini]]
| + | ##[[Kumbia:ArchivosEntorno#routes.ini|routes.ini]] |
− | ##[[Estructura_de_Kumbia#environment.ini|environment.ini]] | + | ##[[Kumbia:ArchivosEntorno#boot.ini|boot.ini]] |
− | ###[[Estructura_de_Kumbia#Estructura_del_archivo_..2Fconfig.2Fenvironment.ini|Estructura del archivo ./config/environment.ini]]
| + | ##[[Kumbia:ArchivosEntorno#Gestionar_extensiones._Ejemplo_pr.C3.A1ctico|Gestionar extensiones. Ejemplo práctico]] |
− | ###[[Estructura_de_Kumbia#Explicaci.C3.B3n_de_los_par.C3.A1metros_..2Fconfig.2Fenvironment.ini|Explicación de los parámetros ./config/environment.ini]]
| |
− | ##[[Estructura_de_Kumbia#routes.ini|routes.ini]]
| |
− | ###[[Estructura_de_Kumbia#Explicaci.C3.B3n_de_los_par.C3.A1metros_..2Fconfig.2Froutes.ini|Explicación de los parámetros ./config/routes.ini]]
| |
− | ###[[Estructura_de_Kumbia#Gestionar_extensiones._Ejemplo_pr.C3.A1ctico|Gestionar extensiones. Ejemplo práctico]]
| |
− | #[[Estructura_de_Kumbia#Resumen|Resumen]]
| |
| | | |
− | == [[Características avanzadas]] == | + | == Conceptos básicos == |
− | #[[Caracter%C3%ADsticas_avanzadas#.C2.A1Par.C3.A1metros_con_Nombre.21|¡Parámetros con Nombre!]]
| |
− | #[[Caracter%C3%ADsticas_avanzadas#Obtener_valores_en_una_aplicaci.C3.B3n_Kumbia|Obtener valores en una aplicación Kumbia]]
| |
− | #[[Caracter%C3%ADsticas_avanzadas#Uso_de_Paquetes_.28Namespaces.29|Uso de Paquetes (Namespaces)]]
| |
− | #[[Caracter%C3%ADsticas_avanzadas#Programaci.C3.B3n_modular|Programación modular]]
| |
| | | |
− | ==[[Primera Aplicación en Kumbia]]==
| + | #[[Kumbia:ParametrosNombre|Parametros con nombre ]] |
− | #[[Primera_Aplicaci%C3%B3n_en_Kumbia#Creando_una_nueva_aplicaci.C3.B3n|Creando una nueva aplicación]]
| + | #[[Kumbia:ObtencionValores|Obtención de valores ]] |
− | #[[Primera_Aplicaci%C3%B3n_en_Kumbia#Hola_Kumbia|Hola Kumbia]] | + | #[[Kumbia:Namespaces|Uso de Paquetes (Namespace) ]] |
− | #[[Primera_Aplicaci%C3%B3n_en_Kumbia#Kumbia_URLS|Kumbia URLS]] | |
− | #[[Primera_Aplicaci%C3%B3n_en_Kumbia#Nuestra_Primera_Acci.C3.B3n|Nuestra Primera Acción]]
| |
− | #[[Primera_Aplicaci%C3%B3n_en_Kumbia#Agregando_m.C3.A1s_Contenido|Agregando más Contenido]]
| |
− | #[[Primera_Aplicaci%C3%B3n_en_Kumbia#Repitiendo_la_Historia|Repitiendo la Historia]]
| |
| | | |
| = TRABAJANDO CON KUMBIA PHP FRAMEWORK= | | = TRABAJANDO CON KUMBIA PHP FRAMEWORK= |
| | | |
− | =[[MODELOS]]= | + | == Introducción == |
| + | |
| + | == [[Kumbia:PrimeraAplicacion|Nuestra primera aplicación ]] == |
| + | #[[Kumbia:PrimeraAplicacion#Hola_Kumbia|Hola Kumbia]] |
| + | #[[Kumbia:PrimeraAplicacion#Kumbia_URLS|Kumbia URLs]] |
| + | #Nuestra primera acción |
| + | #Agregando más contenido |
| + | #Reptiendo la historia |
| + | |
| + | == Scaffolding == |
| + | |
| + | #Que es |
| + | |
| + | |
| | | |
− | #[[MODELOS#Introducción|Introducción]]
| |
− | #[[MODELOS#¿Por qué usar una capa de Abstracción?|¿Por qué usar una capa de Abstracción?]]
| |
− | #[[MODELOS#Capa de Abstracción Independiente en Kumbia|Capa de Abstracción Independiente en Kumbia ]]
| |
− | #[[MODELOS#Adaptadores Kumbia|Adaptadores Kumbia]]
| |
− | #[[MODELOS#Esquema de Acceso a BB.DD en Kumbia|Esquema de Acceso a BB.DD en Kumbia]]
| |
− | #[[MODELOS#Modelos|Modelos]]
| |
− | ##[[MODELOS#Características de los modelos:|Características de los modelos:]]
| |
− | ##[[MODELOS#Acceso Directo a RDBMS|Acceso Directo a RDBMS]]
| |
− | ###[[MODELOS#La Clase DdBase|La Clase DdBase]]
| |
− | ###[[MODELOS#Propiedades de la Clase DB|Propiedades de la Clase DB]]
| |
− | ####[[MODELOS#$db->Id_Connection|$db->Id_Connection]]
| |
− | ####[[MODELOS#$db->dbUser|$db->dbUser]]
| |
− | ####[[MODELOS#$db->dbPass|$db->dbPass]]
| |
− | ####[[MODELOS#$db->dbHost|$db->dbHost]]
| |
− | ####[[MODELOS#$db->dbName|$db->dbName]]
| |
− | ####[[MODELOS#$db->dbPort|$db->dbPort]]
| |
− | ####[[MODELOS#$db->lastError|$db->lastError]]
| |
− | ####[[MODELOS#$db->lastResultQuery|$db->lastResultQuery]]
| |
− | ###[[MODELOS#Métodos de la Clase DB|Métodos de la Clase DB]]
| |
− | ####[[MODELOS#connect()|connect()]]
| |
− | ####[[MODELOS#query()|query()]]
| |
− | ####[[MODELOS#close()|close()]]
| |
− | ####[[MODELOS#fetch_array()|fetch_array()]]
| |
− | ####[[MODELOS#field_name()|field_name()]]
| |
− | ####[[MODELOS#data_seek()|data_seek()]]
| |
− | ####[[MODELOS#affected_rows()|affected_rows()]]
| |
− | ####[[MODELOS#error()|error()]]
| |
− | ####[[MODELOS#no_error()|no_error()]]
| |
− | ####[[MODELOS#find()|find()]]
| |
− | ####[[MODELOS#in_query()|in_query()]]
| |
− | ####[[MODELOS#in_query_assoc()|in_query_assoc()]]
| |
− | ####[[MODELOS#in_query_num()|in_query_num()]]
| |
− | ####[[MODELOS#fetch_one()|fetch_one()]]
| |
− | ####[[MODELOS#table_exists()|table_exists()]]
| |
| | | |
− | ==[[ActiveRecord|ACTIVE RECORD]]==
| + | =[[ActiveRecord]]= |
| | | |
| #[[ActiveRecord#Ventajas del ActiveRecord|Ventajas del ActiveRecord]] | | #[[ActiveRecord#Ventajas del ActiveRecord|Ventajas del ActiveRecord]] |
Línea 125: |
Línea 99: |
| #[[ActiveRecord#Llaves Primarias y el uso de IDs|Llaves Primarias y el uso de IDs]] | | #[[ActiveRecord#Llaves Primarias y el uso de IDs|Llaves Primarias y el uso de IDs]] |
| | | |
− | ===[[CRUD|CRUD: Create, Read, Update, Delete]]===
| + | ==[[CRUD|CRUD: Create, Read, Update, Delete]]== |
| | | |
| #[[CRUD#Creando Registros|Creando Registros]] | | #[[CRUD#Creando Registros|Creando Registros]] |
Línea 135: |
Línea 109: |
| #[[CRUD#Propiedades Soportadas|Propiedades Soportadas]] | | #[[CRUD#Propiedades Soportadas|Propiedades Soportadas]] |
| | | |
− | ===[[Convenciones en ActiveRecord]]===
| + | ==[[Convenciones en ActiveRecord]]== |
| | | |
| #[[Convenciones en ActiveRecord#Convenciones Generales|Convenciones Generales]] | | #[[Convenciones en ActiveRecord#Convenciones Generales|Convenciones Generales]] |
− | #[[Convenciones en ActiveRecord#id|id]] | + | #[[Convenciones en ActiveRecord#Id|Id]] |
− | #[[Convenciones en ActiveRecord#campo_id|campo_id]] | + | #[[Convenciones en ActiveRecord#Campo_id|Campo_id]] |
− | #[[Convenciones en ActiveRecord#campo_at|campo_at]] | + | #[[Convenciones en ActiveRecord#Campo_at|Campo_at]] |
− | #[[Convenciones en ActiveRecord#campo_in|campo_in]] | + | #[[Convenciones en ActiveRecord#Campo_in|Campo_in]] |
| | | |
− | ===[[Convenciones para RDBMs]]===
| + | ==[[Convenciones para RDBMs]]== |
| | | |
| #[[Convenciones para RDBMs#Convenciones Especiales para PostgreSQL|Convenciones Especiales para PostgreSQL]] | | #[[Convenciones para RDBMs#Convenciones Especiales para PostgreSQL|Convenciones Especiales para PostgreSQL]] |
| #[[Convenciones para RDBMs#Convenciones Especiales para Oracle|Convenciones Especiales para Oracle]] | | #[[Convenciones para RDBMs#Convenciones Especiales para Oracle|Convenciones Especiales para Oracle]] |
| | | |
− | ==ACTIVE RECORD API==
| |
− | A continuación veremos una referencia de los métodos que posee la clase ActiveRecord y
| |
− | su funcionalidad respectiva. Éstos se encuentran organizados alfabéticamente:
| |
− | ===[[Consultas]]===
| |
− | Métodos para hacer consulta de Registros:
| |
− | #[[Consultas#distinct|distinct]]
| |
− | #[[Consultas#find_all_by_sql(string $sql)|find_all_by_sql(string $sql)]]
| |
− | #[[Consultas#find_by_sql(string $sql)|find_by_sql(string $sql)]]
| |
− | #[[Consultas#find_first|find_first]]
| |
− | #[[Consultas#find|find]]
| |
− | #[[Consultas#select_one(string $select query)|select_one(string $select query)]]
| |
− | #[[Consultas#select_one(string $select query) (static)|select_one(string $select query) (static)]]
| |
− | #[[Consultas#exists|exists]]
| |
− | #[[Consultas#find_all_by|find_all_by]]
| |
− | #[[Consultas#find_by_*campo*|find_by_*campo*]]
| |
− | #[[Consultas#find_all_by_*campo*|find_all_by_*campo*]]
| |
| | | |
− | ===[[Conteos y Sumatorias]]=== | + | =[[Active Record API]]= |
| + | |
| + | ==[[Consultas]]== |
| + | |
| + | #distinct |
| + | #find_all_by_sql(string $sql) |
| + | #find_by_sql(string $sql) |
| + | #find_first |
| + | #find |
| + | #select_one(string $select query) |
| + | #select_one(string $select query) (static) |
| + | #exists |
| + | #find_all_by |
| + | #find_by_*campo* |
| + | #find_all_by_*campo* |
| + | |
| + | ==[[Conteos y Sumatorios]]== |
| | | |
| #[[Conteos y Sumatorias#count|count]] | | #[[Conteos y Sumatorias#count|count]] |
Línea 171: |
Línea 145: |
| #[[Conteos y Sumatorias#count_by_sql|count_by_sql]] | | #[[Conteos y Sumatorias#count_by_sql|count_by_sql]] |
| | | |
− | ===[[Promedios, Máximo y Mínimo]]===
| + | ==[[Promedios, Máximo y Mínimo]]== |
| | | |
− | #[[Promedios,_M%C3%A1ximo_y_M%C3%ADnimo#average|average]] | + | #[[Promedios, Máximo y Mínimo#average|average]] |
− | #[[Promedios,_M%C3%A1ximo_y_M%C3%ADnimo#maximum|maximum]] | + | #[[Promedios, Máximo y Mínimo#maximum|maximum]] |
− | #[[Promedios,_M%C3%A1ximo_y_M%C3%ADnimo#minimum|minimum]] | + | #[[Promedios, Máximo y Mínimo#minumum|minimum]] |
| | | |
− | ===[[Creación-Actualización-Borrado de Registros]]===
| + | ==[[Creación-Actualización-Borrado de Registros]]== |
| | | |
| #[[Creación-Actualización-Borrado de Registros#create|create]] | | #[[Creación-Actualización-Borrado de Registros#create|create]] |
Línea 188: |
Línea 162: |
| #[[Creación-Actualización-Borrado de Registros#delete_all|delete_all]] | | #[[Creación-Actualización-Borrado de Registros#delete_all|delete_all]] |
| | | |
− | ===[[Validación]]===
| + | ==[[Validación]]== |
| | | |
− | #[[Validación#validates_presence_of|validates_presence_of]] | + | #validates_presence_of |
− | #[[Validación#validates_length_of|validates_length_of]]
| + | #validates_length_of |
− | #[[Validación#validates_numericality_of|validates_numericality_of]]
| + | #validates_numericality_of |
− | #[[Validación#validates_email_in|validates_email_in]] | + | #validates_email_in |
− | #[[Validación#validates_uniqueness_of|validates_uniqueness_of]] | + | #validates_uniqueness_of |
− | #[[Validación#validates_date_in|validates_date_in]]
| + | #validates_date_in |
− | #[[Validación#validates_format_of|validates_format_of]] | + | #validates_format_of |
| | | |
− | ===[[Transacciones]]===
| + | ==[[Transacciones]]== |
| | | |
| #[[Transacciones#commit()|commit()]] | | #[[Transacciones#commit()|commit()]] |
Línea 204: |
Línea 178: |
| #[[Transacciones#rollback()|rollback()]] | | #[[Transacciones#rollback()|rollback()]] |
| | | |
− | ===[[Otros Métodos]]=== | + | ==[[Otros Métodos]]== |
− | | |
− | #[[Otros Métodos#sql(string $sql)|sql(string $sql)]]
| |
− | | |
− | ===[[Callbacks ActiveRecord]]===
| |
− | | |
− | #[[Callbacks ActiveRecord#Introduccion|Introduccion]]
| |
− | #[[Callbacks ActiveRecord#before_validation|before_validation]]
| |
− | #[[Callbacks ActiveRecord#before_validation_on_create|before_validation_on_create]]
| |
− | #[[Callbacks ActiveRecord#before_validation_on_update|before_validation_on_update]]
| |
− | #[[Callbacks ActiveRecord#after_validation_on_create|after_validation_on_create]]
| |
− | #[[Callbacks ActiveRecord#after_validation_on_update|after_validation_on_update]]
| |
− | #[[Callbacks ActiveRecord#after_validation|after_validation]]
| |
− | #[[Callbacks ActiveRecord#before_save|before_save]]
| |
− | #[[Callbacks ActiveRecord#before_update|before_update]]
| |
− | #[[Callbacks ActiveRecord#before_create|before_create]]
| |
− | #[[Callbacks ActiveRecord#after_update|after_update]]
| |
− | #[[Callbacks ActiveRecord#after_create|after_create]]
| |
− | #[[Callbacks ActiveRecord#after_save|after_save]]
| |
− | #[[Callbacks ActiveRecord#before_delete|before_delete]]
| |
− | #[[Callbacks ActiveRecord#after_delete|after_delete]]
| |
− | | |
− | ===[[Asociaciones]]===
| |
− | | |
− | #[[Asociaciones#Introducción|Introducción]]
| |
− | #[[Asociaciones#Pertenece (belongs_to)|Pertenece (belongs_to)]]
| |
− | #[[Asociaciones#Tiene un (has_one)|Tiene un (has_one)]]
| |
− | #[[Asociaciones#Tiene muchos (has_many)|Tiene muchos (has_many)]]
| |
− | #[[Asociaciones#Tiene y pertenece a muchos (has_and_belongs_to_many)|Tiene y pertenece a muchos (has_and_belongs_to_many)]]
| |
− | | |
− | ===[[Paginadores]]===
| |
− | | |
− | #[[Paginadores#Paginate|Paginate]]
| |
− | #[[Paginadores#Paginate_by_sql|Paginate_by_sql]]
| |
− | #[[Paginadores#Paginando en ActiveRecord|Paginando en ActiveRecord]]
| |
− | #[[Paginadores#Ejemplo completo de uso del paginador|Ejemplo completo de uso del paginador]]
| |
− | | |
− | =[[Application controller| APPLICATION CONTROLLER]]=
| |
− | === [[Application_controller#M.C3.A9todos_de_la_Clase_ApplicationController| Métodos de la Clase ApplicationController]] ===
| |
− | La clase posee una serie de métodos que son útiles para el trabajo con controladores.
| |
− | = Métodos de la Clase ApplicationController =
| |
− | | |
− | La clase posee una serie de métodos que son útiles para el trabajo con controladores.
| |
− | | |
− | == render($view) ==
| |
− | | |
− | Visualiza una vista que pertenece al mismo controlador.
| |
− | | |
− | '''Ejemplos de uso:'''
| |
− | <?php
| |
− | class ProductosController extends ApplicationController {
| |
− | function index(){
| |
− | $this->render('consultar');
| |
− | }
| |
− | } //fin de la clase
| |
− | ?>
| |
− | | |
− | En este caso se visualizaría la vista views/productos/consultar.phtml
| |
− | | |
− | == redirect($url, $seconds=0.5) ==
| |
− | Redirecciona la ejecución a otro controlador en un tiempo de ejecución determinado
| |
− | | |
− | '''Ejemplos de uso:'''
| |
− | <?php
| |
− | class ProductosController extends ApplicationController {
| |
− | function index(){
| |
− | $this->redirect('facturas/nueva', 2);
| |
− | }
| |
− | }
| |
− | ?>
| |
− | | |
− | En el ejemplo va a facturas/nueva después de 2 segundos
| |
− | | |
− | == post($value) ==
| |
− | | |
− | Obtiene acceso orientado a objetos a los valores de $_POST, $value es el índice para pasar
| |
− | al array asociativo.
| |
− | | |
− | == get($value) ==
| |
− | | |
− | Obtiene acceso orientado a objetos a los valores de $_GET, $value es el índice para pasar al array asociativo.
| |
− | | |
− | == request($value) ==
| |
− | | |
− | Obtiene acceso orientado a objetos a los valores de $_REQUEST, $value es el índice para pasar al
| |
− | array asociativo.
| |
− | | |
− | == render_partial($name) ==
| |
− | Visualiza una vista parcial (partial) que pertenece al mismo controlador. Ejemplo:
| |
− | | |
− | '''Ejemplos de uso:'''
| |
− | <?php
| |
− | class ProductosController extends ApplicationController {
| |
− | function index(){
| |
− | $this->render_partial('mostrar_menu');
| |
− | }//fin del metodo
| |
− | }//fin de la clase
| |
− | ?>
| |
− | | |
− | En este caso se visualizaría la vista parcial views/productos/_mostrar_menu.phtml
| |
− | | |
− | == route_to([params: valor]) ==
| |
− | Hace el enrutamiento desde un controlador a otro, o desde una acción a otra. Recibe los parámetros
| |
− | con nombre:
| |
− | • controller: A qué controlador se va a redireccionar
| |
− | • action: A que acción se va a redireccionar
| |
− | • id: Id de la redirección
| |
− | | |
− | '''Ejemplos:'''
| |
− | return $this->route_to("controller: clientes", "action: consultar", "id:1");
| |
− | | |
− | El tipo de enrutamiento que realiza es interno, es decir que lo usuarios no notan cuando están siendo redireccionados en la aplicación.
| |
− | | |
− | == redirect($url_controlador) ==
| |
− | Realiza un redireccionamiento a otro controlador/accion mediante HTTP. Es útil cuando queremos hacer
| |
− | una real redirección que incluso cambie la URL que aparece en el explorador.
| |
− | | |
− | '''Ejemplo:'''
| |
− | $this->redirect(“/productos/query”);
| |
− | | |
− | == cache_layout($minutes) ==
| |
− | Caché de la vista views/layout/ correspondiente al controlador durante $minutes.
| |
− | | |
− | == not_found($controller, $action) ===
| |
− | Puedes definir el método not_found en cualquier controlador, en caso de estar definido se llamará
| |
− | cuando no encuentre definida alguna acción así es más fácil controlar este tipo de errores:
| |
− | | |
− | ''' Ejemplo '''
| |
− | <?php
| |
− | class PruebaController extends ApplicationController {
| |
− | function index(){
| |
− | $this->render_text("Este es el index");
| |
− | }
| |
− | function not_found($controller, $action){
| |
− | Flash::error("No esta definida la accion $action, redireccionando a index...");
| |
− | return $this->route_to('action: index');
| |
− | }
| |
− | }
| |
− | ?>
| |
− | | |
− | NOTA: Ahora en la versión 0.5 se incluye un vista views/not_found.phtml, esto
| |
− | hace que no se haga necesario la implementacion del metodo not_found, ya que cuando no exista un controller o una acción se renderizara dicha vista, esta puede ser totalmente personalizada de manera que sea mas comodo el desarrollo.
| |
− | | |
− | == set_response($type)==
| |
− | Especifica el tipo de respuesta que va a generar el controlador. Cuando es el valor de $type
| |
− | es view solamente envía la salida de la vista más no del layout, el template o cualquier cabecera
| |
− | html. Es ideal en salidas AJAX o PDF. Otro valor para $type es XML.
| |
− | | |
− | '''Ejemplo'''
| |
− | <?php
| |
− | class PruebaController extends ApplicationController {
| |
− | function accion_ajax(){
| |
− | $this->set_response(“view”);
| |
− | }
| |
− | }
| |
− | ?>
| |
− | | |
− | == is_alnum($valor) ==
| |
− | Evalúa si un campo es alfanumérico o no. Es útil para validar la entrada de datos al
| |
− | recibirlos por parte de usuarios.
| |
− | | |
− | <?php
| |
− | class PruebaController extends ApplicationController {
| |
− | function adicionar(){
| |
− | $nombre = $this->request(“nombre”);
| |
− | if($this->is_alnum($nombre)==false){
| |
− | Flash::error(“Entrada invalidad para precio”);
| |
− | return;
| |
− | }
| |
− | /* ..*/
| |
− | }
| |
− | }
| |
− | ?>
| |
− | | |
− | == load_record($record) ==
| |
− | Carga los campos de un registro ActiveRecord como atributos del controlador, recibe
| |
− | como parámetro $record ActiveRecord o string registro ActiveRecord a cargar, si es un
| |
− | string este debe corresponder al nombre de un modelo Soporta argumento variable.
| |
− | field: campos a cargar separados por coma
| |
− | except: campos que no se cargaran separados por coma
| |
− | suffix: sufijo para el atributo en el controlador
| |
− | preffix: prefijo para el atributo en el controlador
| |
− | | |
− | //Ejemplo1:
| |
− | $usuario = $this->Usuario->find(1);
| |
− | $this->load_record($usuario);
| |
− | | |
− | //Ejemplo2:
| |
− | $usuario = $this->Usuario->find();
| |
− | $this->load_record($usuario, 'except: id, sexo');
| |
− | | |
− | //Ejemplo3:
| |
− | $usuario = $this->Usuario->find(0);
| |
− | $this->load_record($usuario, 'field: nombre, apellido');
| |
− | | |
− | //Ejemplo4:
| |
− | $usuario = $this->Usuario->find(1);
| |
− | $this->load_record($usuario, 'preffix: c_');
| |
− | | |
− | //Ejemplo5:
| |
− | $this->load_record('Usuario');
| |
| | | |
− | //Ejemplo6:
| + | #sql(string $sql) |
− | $this->load_record('Usuario', 'field: nombre, apellido'); | |
| | | |
− | == is_numeric($valor) ==
| |
− | Evalúa si un campo es numérico o no. Es útil para validar la entrada de datos al recibirlos por parte de usuarios.
| |
| | | |
− | <?php
| + | = Aplication controller = |
− | class PruebaController extends ApplicationController {
| |
− | function adicionar(){
| |
− | $precio = $this->request(“precio”);
| |
− | if($this->is_numeric($precio)!= '1'){
| |
− | Flash::error(“Entrada invalida para precio”);
| |
− | return;
| |
− | }
| |
− | /* ..*/
| |
− | }
| |
− | }
| |
− | ?>
| |
| | | |
− | ===[[Obtener valores desde el controller]] ===
| |
| | | |
− | ===[[ApplicationControllerBase| ApplicationControllerBase (Clase padre)]] === | + | = Views y helpers = |
| | | |
− | ===[[Enrutamiento y redirecciones]] ===
| |
| | | |
− | =[[Vistas|VISTAS Y HELPERS]]= | + | = Ajax = |
| | | |
− | #[[Vistas#¿Porque usar Vistas?|¿Porque usar vistas?]]
| |
− | ===[[Vistas#Uso de Vistas|Vistas]]===
| |
− | ===[[Vistas#Uso de Layouts|Layouts]]===
| |
− | ===[[Vistas#Uso de Templates|Templates]]===
| |
− | ===[[Vistas#Uso de Partials|Partials]]===
| |
− | ===[[Vistas#Uso de CCS en Kumbia|CCS en KumbiaPHP]]===
| |
− | ===[[Vistas#Uso de content()|content()]]===
| |
− | ==[[Vistas#|Helpers]]==
| |
| | | |
− | =[[AJAX]]= | + | = Modulos extras = |
| | | |
− | =[[EXTENSIONS (Módulos extras de KumbiaPHP)]]=
| |
− | ==[[Filter]]==
| |
| | | |
− | #[[Filter#Qu.C3.A9_es_un_Filtro| Qué es un Filtro?]]
| + | = Generador de formularios = |
− | #[[Filter#Utilizaci.C3.B3n_B.C3.A1sica| Utilización básica]]
| |
− | #[[Filter#M.C3.A9todos_de_la_clase_Filter| Métodos de la clase Filter]]
| |
| | | |
− | =[[GENERADOR DE FORMULARIOS]]=
| |
| | | |
− | #[[GENERADOR DE FORMULARIOS#|Tipos de Formularios]]
| + | = Ejemplos = |
− | #[[GENERADOR DE FORMULARIOS#|Ventajas Generadores de Formularios]]
| |
− | #[[GENERADOR DE FORMULARIOS#|Desventajas Generadores de Formularios]]
| |
| | | |
− | =[[EJEMPLOS]]=
| |
| | | |
− | =[[GLOSARIO]]= | + | = Glosarios = |