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]
| |
− | </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]. | | 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]. |
| | | |
Línea 8: |
Línea 5: |
| | | |
| = [[Agradecimientos|AGRADECIMIENTOS]] = | | = [[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 149: |
Línea 141: |
| | | |
| ==ACTIVE RECORD API== | | ==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]]=== | | ===[[Consultas]]=== |
− | Métodos para hacer consulta de Registros:
| + | |
| #[[Consultas#distinct|distinct]] | | #[[Consultas#distinct|distinct]] |
| #[[Consultas#find_all_by_sql(string $sql)|find_all_by_sql(string $sql)]] | | #[[Consultas#find_all_by_sql(string $sql)|find_all_by_sql(string $sql)]] |
Línea 243: |
Línea 234: |
| =[[Application controller| APPLICATION CONTROLLER]]= | | =[[Application controller| APPLICATION CONTROLLER]]= |
| === [[Application_controller#M.C3.A9todos_de_la_Clase_ApplicationController| Métodos de la Clase ApplicationController]] === | | === [[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:
| |
− | $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
| |
− | 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]] === | | ===[[Obtener valores desde el controller]] === |
| | | |
Línea 431: |
Línea 240: |
| ===[[Enrutamiento y redirecciones]] === | | ===[[Enrutamiento y redirecciones]] === |
| | | |
− | =[[Vistas|VISTAS Y HELPERS]]= | + | =[[VISTAS Y HELPERS]]= |
| | | |
− | #[[Vistas#¿Porque usar Vistas?|¿Porque usar vistas?]] | + | #[[Porque usar vistas?|Porque usar vistas?]] |
− | ===[[Vistas#Uso de Vistas|Vistas]]===
| + | #[[Uso de Vistas|Uso de Vistas]] |
− | ===[[Vistas#Uso de Layouts|Layouts]]===
| + | #[[Uso de Templates|Uso de Templates]] |
− | ===[[Vistas#Uso de Templates|Templates]]===
| + | #[[Uso de Partials|Uso de Partials]] |
− | ===[[Vistas#Uso de Partials|Partials]]===
| + | #[[Uso de CCS en Kumbia|Uso de CCS en Kumbia]] |
− | ===[[Vistas#Uso de CCS en Kumbia|CCS en KumbiaPHP]]===
| + | #[[Uso de content()|Uso de content()]] |
− | ===[[Vistas#Uso de content()|content()]]===
| + | #[[Helpers|Helpers]] |
− | ==[[Vistas#|Helpers]]==
| |
| | | |
| =[[AJAX]]= | | =[[AJAX]]= |
Línea 452: |
Línea 260: |
| | | |
| =[[GENERADOR DE FORMULARIOS]]= | | =[[GENERADOR DE FORMULARIOS]]= |
− |
| |
− | #[[GENERADOR DE FORMULARIOS#|Tipos de Formularios]]
| |
− | #[[GENERADOR DE FORMULARIOS#|Ventajas Generadores de Formularios]]
| |
− | #[[GENERADOR DE FORMULARIOS#|Desventajas Generadores de Formularios]]
| |
| | | |
| =[[EJEMPLOS]]= | | =[[EJEMPLOS]]= |
| | | |
| =[[GLOSARIO]]= | | =[[GLOSARIO]]= |