Edición de «Indice»

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 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 48: Línea 40:
 
#[[Instalar_Kumbia#Configurar_Apache2Triad|Configurar Apache2Triad]]
 
#[[Instalar_Kumbia#Configurar_Apache2Triad|Configurar Apache2Triad]]
 
#[[Instalar_Kumbia#Verificar la instalación de Kumbia|Verificar la instalación de Kumbia]]
 
#[[Instalar_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#Instalar Kumbia PHP en producción de forma segura|VInstalar Kumbia PHP en producción de forma segura]]
  
 
== [[Estructura_de_Kumbia|Estructura de Kumbia]] ==
 
== [[Estructura_de_Kumbia|Estructura de Kumbia]] ==
Línea 118: Línea 110:
 
####[[MODELOS#table_exists()|table_exists()]]
 
####[[MODELOS#table_exists()|table_exists()]]
  
==[[ActiveRecord|ACTIVE RECORD]]==
+
=[[ActiveRecord|ACTIVE RECORD]]=
  
 
#[[ActiveRecord#Ventajas del ActiveRecord|Ventajas del ActiveRecord]]
 
#[[ActiveRecord#Ventajas del ActiveRecord|Ventajas del ActiveRecord]]
Línea 125: Línea 117:
 
#[[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 127:
 
#[[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]]
Línea 143: Línea 135:
 
#[[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==
+
=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 165: Línea 156:
 
#[[Consultas#find_all_by_*campo*|find_all_by_*campo*]]
 
#[[Consultas#find_all_by_*campo*|find_all_by_*campo*]]
  
===[[Conteos y Sumatorias]]===
+
==[[Conteos y Sumatorias]]==
  
 
#[[Conteos y Sumatorias#count|count]]
 
#[[Conteos y Sumatorias#count|count]]
Línea 171: Línea 162:
 
#[[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%C3%A1ximo_y_M%C3%ADnimo#average|average]]
Línea 177: Línea 168:
 
#[[Promedios,_M%C3%A1ximo_y_M%C3%ADnimo#minimum|minimum]]
 
#[[Promedios,_M%C3%A1ximo_y_M%C3%ADnimo#minimum|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 179:
 
#[[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]]
 
#[[Validación#validates_presence_of|validates_presence_of]]
Línea 198: Línea 189:
 
#[[Validación#validates_format_of|validates_format_of]]
 
#[[Validación#validates_format_of|validates_format_of]]
  
===[[Transacciones]]===
+
==[[Transacciones]]==
  
 
#[[Transacciones#commit()|commit()]]
 
#[[Transacciones#commit()|commit()]]
Línea 204: Línea 195:
 
#[[Transacciones#rollback()|rollback()]]
 
#[[Transacciones#rollback()|rollback()]]
  
===[[Otros Métodos]]===
+
==[[Otros Métodos]]==
  
 
#[[Otros Métodos#sql(string $sql)|sql(string $sql)]]
 
#[[Otros Métodos#sql(string $sql)|sql(string $sql)]]
  
===[[Callbacks ActiveRecord]]===
+
==[[Callbacks ActiveRecord]]==
  
 
#[[Callbacks ActiveRecord#Introduccion|Introduccion]]
 
#[[Callbacks ActiveRecord#Introduccion|Introduccion]]
Línea 226: Línea 217:
 
#[[Callbacks ActiveRecord#after_delete|after_delete]]
 
#[[Callbacks ActiveRecord#after_delete|after_delete]]
  
===[[Asociaciones]]===
+
==[[Asociaciones]]==
  
 
#[[Asociaciones#Introducción|Introducción]]
 
#[[Asociaciones#Introducción|Introducción]]
Línea 234: Línea 225:
 
#[[Asociaciones#Tiene y pertenece a muchos (has_and_belongs_to_many)|Tiene y pertenece a muchos (has_and_belongs_to_many)]]
 
#[[Asociaciones#Tiene y pertenece a muchos (has_and_belongs_to_many)|Tiene y pertenece a muchos (has_and_belongs_to_many)]]
  
===[[Paginadores]]===
+
==[[Paginadores]]==
  
 
#[[Paginadores#Paginate|Paginate]]
 
#[[Paginadores#Paginate|Paginate]]
Línea 241: Línea 232:
 
#[[Paginadores#Ejemplo completo de uso del paginador|Ejemplo completo de uso del paginador]]
 
#[[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) ==
+
=[[Application controller| APPLICATION CONTROLLER]]=
 +
#[[Application_controller#M.C3.A9todos_de_la_Clase_ApplicationController| Métodos de la Clase ApplicationController]]
 +
#[[Application_controller#Obtener_valores_desde_el_controller| Obtener valores desde el controller]]
 +
#[[Application_controller#ApplicationControllerBase| ApplicationControllerBase (Clase padre)]]
 +
#[[Application_controller#Enrutamiento_y_Redirecciones| Enrutamiento y redirecciones]]
  
Visualiza una vista que pertenece al mismo controlador.
+
=[[VIEWS Y HELPERS]]=
 
 
'''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]] ===
 
 
 
===[[ApplicationControllerBase| ApplicationControllerBase (Clase padre)]] ===
 
 
 
===[[Enrutamiento y redirecciones]] ===
 
 
 
=[[Vistas|VISTAS Y HELPERS]]=
 
 
 
#[[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]]=
 
=[[AJAX]]=
Línea 446: Línea 246:
 
=[[EXTENSIONS (Módulos extras de KumbiaPHP)]]=
 
=[[EXTENSIONS (Módulos extras de KumbiaPHP)]]=
 
==[[Filter]]==
 
==[[Filter]]==
 
 
#[[Filter#Qu.C3.A9_es_un_Filtro| Qué es un Filtro?]]
 
#[[Filter#Qu.C3.A9_es_un_Filtro| Qué es un Filtro?]]
 
#[[Filter#Utilizaci.C3.B3n_B.C3.A1sica| Utilización básica]]
 
#[[Filter#Utilizaci.C3.B3n_B.C3.A1sica| Utilización básica]]
Línea 452: Línea 251:
  
 
=[[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]]=

Ten en cuenta que todas las contribuciones a KumbiaPHP Framework Wiki pueden ser editadas, modificadas o eliminadas por otros colaboradores. Si no deseas que las modifiquen sin limitaciones, no las publiques aquí.
Al mismo tiempo, asumimos que eres el autor de lo que escribiste, o lo copiaste de una fuente en el dominio público o con licencia libre (véase Proyecto:Derechos de autor para más detalles). ¡No uses textos con copyright sin permiso!

Para editar esta página, responde la pregunta que aparece abajo (más información):

Cancelar Ayuda de edición (se abre en una ventana nueva)