Diferencia entre revisiones de «Indice»
(→Filter) |
|||
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:53 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.
Sumario
- 1 AGRADECIMIENTOS
- 2 PREFACIO
- 3 EMPEZANDO CON KUMBIA PHP FRAMEWORK
- 4 TRABAJANDO CON KUMBIA PHP FRAMEWORK
- 5 MODELOS
- 6 ACTIVE RECORD
- 7 ACTIVE RECORD API
- 8 APPLICATION CONTROLLER
- 9 VIEWS Y HELPERS
- 10 AJAX
- 11 EXTENSIONS (Módulos extras de KumbiaPHP)
- 12 Filter
- 12.1 Que es un Filtro?
- 12.2 Utilización Básica
- 12.3 Métodos de la clase Filter
- 12.3.1 Add_filter($filter)
- 12.3.2 Apply($var, [filters]) y apply_filter($var, [filters])
- 12.3.3 Get_instance()
- 12.3.4 Filtros Disponibles
- 12.3.5 Addslashes
- 12.3.6 Alnun
- 12.3.7 Alpha
- 12.3.8 Date
- 12.3.9 Digit
- 12.3.10 Htmlentities
- 12.3.11 htmlspecialchars
- 12.3.12 Upper
- 12.3.13 Trim
- 12.3.14 Striptags
- 12.3.15 Stripspace
- 12.3.16 Stripslaches
- 12.3.17 Numeric
- 12.3.18 Nl2br
- 12.3.19 Md5
- 12.3.20 Lower
- 12.3.21 Ipv4
- 12.3.22 Int
- 13 GENERADOR DE FORMULARIOS
- 14 EJEMPLOS
- 15 GLOSARIO
AGRADECIMIENTOS
PREFACIO
- Sobre este libro
- Sobre Kumbia
- Sobre la comunidad
- Historia de Kumbia
- Que aporta Kumbia
- ¿Porque usar Kumbia?
- Modelo, Vista, Controlador (MVC)
EMPEZANDO CON KUMBIA PHP FRAMEWORK
Instalar Kumbia
- Requisitos
- Descargar Kumbia
- Configuración de módulos (Apache, PHP y bbdd)
- Configurar XAMPP
- Configurar Apache2Triad
- Verificar la instalación de Kumbia
Estructura de Kumbia
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
TRABAJANDO CON KUMBIA PHP FRAMEWORK
MODELOS
- Introducción
- ¿Por qué usar una capa de Abstracción?
- Capa de Abstracción Independiente en Kumbia
- Adaptadores Kumbia
- Esquema de Acceso a BB.DD en Kumbia
- Modelos
ACTIVE RECORD
- Ventajas del ActiveRecord
- Crear un Modelo en Kumbia PHP Framework
- Columnas y Atributos
- Llaves Primarias y el uso de IDs
CRUD: Create, Read, Update, Delete
- Creando Registros
- Consultando Registros
- El poderoso Find
- Promedio, Contando, Sumando, Mínimo y Máximo
- Actualizando Registros existentes
- Borrando Registros
- Propiedades Soportadas
Convenciones en ActiveRecord
Convenciones para RDBMs
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 Sumatorias
Promedios, Máximo y Mínimo
Creación-Actualización-Borrado de Registros
Validación
- validates_presence_of
- validates_length_of
- validates_numericality_of
- validates_email_in
- validates_uniqueness_of
- validates_date_in
- validates_format_of
Transacciones
Otros Métodos
Callbacks ActiveRecord
- Introduccion
- before_validation
- before_validation_on_create
- before_validation_on_update
- after_validation_on_create
- after_validation_on_update
- after_validation
- before_save
- before_update
- before_create
- after_update
- after_create
- after_save
- before_delete
- after_delete
Asociaciones
- Introducción
- Pertenece (belongs_to)
- Tiene un (has_one)
- Tiene muchos (has_many)
- Tiene y pertenece a muchos (has_and_belongs_to_many)
Paginadores
APPLICATION CONTROLLER
VIEWS Y HELPERS
AJAX
EXTENSIONS (Módulos extras de KumbiaPHP)
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.
$filter = new Filter('upper', 'htmlspecialchars');
$var = '<b>Hola</b>';
print_r($filter->apply($var)); //<B>HOLA</B>
A continuación se aplica el filtro de manera dinámica.
$filter = new Filter();
$var = '<b>Hola</b>';
print_r( $filter->apply_filter($var, 'upper', 'htmlspecialchars')) //<B>HOLA</B>
Otra forma de aplicar filtros
$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>
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
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.