Diferencia entre revisiones de «Indice»

De KumbiaPHP Framework Wiki
Línea 241: Línea 241:
  
 
=[[EXTENSIONS (Módulos extras de KumbiaPHP)]]=
 
=[[EXTENSIONS (Módulos extras de KumbiaPHP)]]=
='''Filter'''=
+
==Filter==
 
 
Para la Versión 0.5 se incorpora el componente Filter el cual proporciona un conjunto
 
de filtros que serán aplicados a datos que lo requieran.
 
 
 
=='''Que es un Filtro?'''==
 
Un filtro es utilizado habitualmente para eliminar porciones no deseadas de una entrada
 
de datos, y la porción deseada de la entrada pasa a través de la producción como filtro
 
(por ejemplo, café). En estos escenarios, un filtro es un operador que produce un
 
subconjunto de la entrada.
 
 
 
Este tipo de filtro es útil para aplicaciones web - la supresión
 
de entrada ilegal, innecesario el recorte de los espacios en blanco, etc.
 
 
 
Esta definición básica de un filtro puede ser ampliado para incluir a las transformaciones
 
generalizadas de entrada. Una transformación que se debe aplicar a las aplicaciones web
 
es el escapar de las entidades HTML.
 
 
 
Por ejemplo, si un campo de formulario es
 
automáticamente poco fiable de entrada, este valor debe ser libre de las entidades
 
HTML, a fin de evitar las vulnerabilidades de seguridad. Para cumplir con este requisito,
 
las entidades HTML que aparecen en la entrada debe ser eliminado o que se hayan
 
escapado.
 
 
 
Por supuesto, el enfoque que es más apropiado depende de la situación. Un filtro
 
que elimina las entidades HTML opera dentro del ámbito de aplicación de la primera
 
definición de filtro - un operador que produce un subconjunto de la entrada.
 
 
 
=='''Utilización Básica'''==
 
En este ejemplo se le pasa por el constructor de class Filter dos(upper, htmlspecialchars)
 
filtros que serán aplicados a la cadena.
 
<source lang=php line>
 
$filter = new Filter('upper', 'htmlspecialchars');
 
$var = '<b>Hola</b>';
 
print_r($filter->apply($var)); //<B>HOLA</B>
 
</source>
 
A continuación se aplica el filtro de manera dinámica.
 
<source lang=php line>
 
$filter = new Filter();
 
$var = '<b>Hola</b>';
 
print_r( $filter->apply_filter($var, 'upper', 'htmlspecialchars')) //<B>HOLA</B>
 
</source>
 
 
 
Otra forma de aplicar filtros
 
<source lang=php line>
 
$var = '<b>Hola</b>';
 
$filter = new Filter('upper', 'htmlspecialchars');
 
print_r ($filter->filter_value($var));
 
Adicionalmente los filtros soportan como parámetros a filtrar array
 
$var = array('<b>Hola</b>');
 
$filter = new Filter('upper', 'htmlspecialchars');
 
print_r( $filter->apply($var));//<B>HOLA</B>
 
</source>
 
 
 
=='''Métodos de la clase Filter'''==
 
 
 
A continuación se listan los métodos disponibles en la clase filter, el constructor de la
 
clase filter puede recibir los filtros a ser aplicados.
 
 
 
==='''Add_filter($filter)'''===
 
Agregar un filtro a la cola de filtros.
 
 
 
==='''Apply($var, [filters])''' y '''apply_filter($var, [filters])'''===
 
Aplica un filtros o un grupo de filtros a la variable $var.
 
 
 
==='''Get_instance()'''===
 
Obtiene una instancia singlenton.
 
 
 
==='''Filtros Disponibles'''===
 
Actualmente se cuenta con una serie de filtros que pueden utilizados.
 
 
 
==='''Addslashes'''===
 
Filtra una cadena haciendo addslashes
 
 
 
==='''Alnun'''===
 
Filtra una cadena para que contenga solo alpha-numeic.
 
 
 
==='''Alpha'''===
 
Filtra una cadena para que contenga solo alfabético
 
 
 
==='''Date'''===
 
Filtra una cadena para que contenga el formato fecha, debe cumplir con un patrón.
 
 
 
==='''Digit'''===
 
Filtra una cadena para que contenga solo Dígitos, sigue siendo un string lo que retorna el
 
método.
 
 
 
==='''Htmlentities'''===
 
Filtra una cadena y hace que todos los caracteres que tengan una entidad equivalente en
 
HTML serán cambiados a esas entidades.
 
 
 
==='''htmlspecialchars'''===
 
Filtra una cadena htmlspacialchars.
 
 
 
==='''Upper'''===
 
Filtra una cadena para que contenga solo Mayusculas
 
 
 
==='''Trim'''===
 
Filtra una cadena haciendo trim
 
 
 
==='''Striptags'''===
 
Filtra una cadena para eliminar etiquetas
 
 
 
==='''Stripspace'''===
 
Filtra una cadena para eliminar espacios
 
 
 
==='''Stripslaches'''===
 
Filtra una cadena haciendo stripslashes
 
 
 
==='''Numeric'''===
 
Filtra una cadena para que contenga solo numerico.
 
 
 
==='''Nl2br'''===
 
Filtra una cadena convirtiendo caracteres de nueva linea en <br>
 
 
 
==='''Md5'''===
 
Filtra una cadena encriptando a md5.
 
 
 
==='''Lower'''===
 
Filtra una cadena para que contenga solo minuscula.
 
 
 
==='''Ipv4'''===
 
Filtra una cadena para que sea de tipo ipv4, debe cumplir con el patrón.
 
 
 
==='''Int'''===
 
Filtra una cadena para que sea de tipo entero, retorna un integer método.
 
  
 
=[[GENERADOR DE FORMULARIOS]]=
 
=[[GENERADOR DE FORMULARIOS]]=

Revisión del 00:54 6 jun 2009

Este manual esta portándose del 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

PREFACIO

  1. Sobre este libro
  2. Sobre Kumbia
  3. Sobre la comunidad
  4. Historia de Kumbia
  5. Que aporta Kumbia
  6. ¿Porque usar Kumbia?
  7. Modelo, Vista, Controlador (MVC)
    1. ¿Que es?
    2. Implementación y uso
    3. Información adicional
    4. Caso práctico

EMPEZANDO CON KUMBIA PHP FRAMEWORK

Instalar Kumbia

  1. Requisitos
  2. Descargar Kumbia
  3. Configuración de módulos (Apache, PHP y bbdd)
    1. Configurando Apache
      1. ¿Por qué es importante Mod-Rewrite?
    2. Configuración de PHP
      1. ¿Porque Kumbia utiliza PHP5?
    3. Configurando BB.DD
      1. Configuración de MySQL
      2. Configurando Oracle
  4. Configurar XAMPP
    1. Instalando XAMPP bajo Windows
    2. Instalando XAMPP bajo GNU/Linux
    3. Instalando XAMPP bajo Debian/Ubuntu Linux
  5. Configurar Apache2Triad
  6. Verificar la instalación de Kumbia
    1. VInstalar Kumbia PHP en producción de forma segura

Estructura de Kumbia

  1. Introducción
  2. Directorios de entorno
    1. Explicación
  3. Archivos de entorno
    1. config.ini
      1. Explicación de los parámetros ./config/config.ini
    2. environment.ini
      1. Estructura del archivo ./config/environment.ini
      2. Explicación de los parámetros ./config/environment.ini
    3. routes.ini
      1. Explicación de los parámetros ./config/routes.ini
      2. Gestionar extensiones. Ejemplo práctico
  4. Resumen

Características avanzadas

  1. ¡Parámetros con Nombre!
  2. Obtener valores en una aplicación Kumbia
  3. Uso de Paquetes (Namespaces)
  4. Programación modular

Primera Aplicación en Kumbia

  1. Creando una nueva aplicación
  2. Hola Kumbia
  3. Kumbia URLS
  4. Nuestra Primera Acción
  5. Agregando más Contenido
  6. Repitiendo la Historia

TRABAJANDO CON KUMBIA PHP FRAMEWORK

MODELOS

  1. Introducción
  2. ¿Por qué usar una capa de Abstracción?
  3. Capa de Abstracción Independiente en Kumbia
  4. Adaptadores Kumbia
  5. Esquema de Acceso a BB.DD en Kumbia
  6. Modelos
    1. Características de los modelos:
    2. Acceso Directo a RDBMS
      1. La Clase DdBase
      2. Propiedades de la Clase DB
        1. $db->Id_Connection
        2. $db->dbUser
        3. $db->dbPass
        4. $db->dbHost
        5. $db->dbName
        6. $db->dbPort
        7. $db->lastError
        8. $db->lastResultQuery
      3. Métodos de la Clase DB
        1. connect()
        2. query()
        3. close()
        4. fetch_array()
        5. field_name()
        6. data_seek()
        7. affected_rows()
        8. error()
        9. no_error()
        10. find()
        11. in_query()
        12. in_query_assoc()
        13. in_query_num()
        14. fetch_one()
        15. table_exists()

ACTIVE RECORD

  1. Ventajas del ActiveRecord
  2. Crear un Modelo en Kumbia PHP Framework
  3. Columnas y Atributos
  4. Llaves Primarias y el uso de IDs

CRUD: Create, Read, Update, Delete

  1. Creando Registros
  2. Consultando Registros
  3. El poderoso Find
  4. Promedio, Contando, Sumando, Mínimo y Máximo
  5. Actualizando Registros existentes
  6. Borrando Registros
  7. Propiedades Soportadas

Convenciones en ActiveRecord

  1. Convenciones Generales
  2. id
  3. campo_id
  4. campo_at
  5. campo_in

Convenciones para RDBMs

  1. Convenciones Especiales para PostgreSQL
  2. Convenciones Especiales para Oracle

ACTIVE RECORD API

Consultas

  1. distinct
  2. find_all_by_sql(string $sql)
  3. find_by_sql(string $sql)
  4. find_first
  5. find
  6. select_one(string $select query)
  7. select_one(string $select query) (static)
  8. exists
  9. find_all_by
  10. find_by_*campo*
  11. find_all_by_*campo*

Conteos y Sumatorias

  1. count
  2. sum
  3. count_by_sql

Promedios, Máximo y Mínimo

  1. average
  2. maximum
  3. minimum

Creación-Actualización-Borrado de Registros

  1. create
  2. update
  3. update_all
  4. save
  5. create_from_request
  6. save_from_request
  7. delete
  8. delete_all

Validación

  1. validates_presence_of
  2. validates_length_of
  3. validates_numericality_of
  4. validates_email_in
  5. validates_uniqueness_of
  6. validates_date_in
  7. validates_format_of

Transacciones

  1. commit()
  2. begin()
  3. rollback()

Otros Métodos

  1. sql(string $sql)

Callbacks ActiveRecord

  1. Introduccion
  2. before_validation
  3. before_validation_on_create
  4. before_validation_on_update
  5. after_validation_on_create
  6. after_validation_on_update
  7. after_validation
  8. before_save
  9. before_update
  10. before_create
  11. after_update
  12. after_create
  13. after_save
  14. before_delete
  15. after_delete

Asociaciones

  1. Introducción
  2. Pertenece (belongs_to)
  3. Tiene un (has_one)
  4. Tiene muchos (has_many)
  5. Tiene y pertenece a muchos (has_and_belongs_to_many)

Paginadores

  1. Paginate
  2. Paginate_by_sql
  3. Paginando en ActiveRecord
  4. Ejemplo completo de uso del paginador


APPLICATION CONTROLLER

VIEWS Y HELPERS

AJAX

EXTENSIONS (Módulos extras de KumbiaPHP)

Filter

GENERADOR DE FORMULARIOS

EJEMPLOS

GLOSARIO