Edición de «Application controller»
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: | ||
− | + | '''ApplicationController''' | |
Es la clase principal utilizada para crear controladores, que son la primera parte del | Es la clase principal utilizada para crear controladores, que son la primera parte del | ||
modelo MVC. Contiene métodos importantes para facilitar la interacción entre éstos, los | modelo MVC. Contiene métodos importantes para facilitar la interacción entre éstos, los | ||
modelos y la presentación. | modelos y la presentación. | ||
− | |||
Características: | Características: | ||
− | + | • Los valores de los atributos de las sub-clases son persistentes, es decir que no se | |
− | |||
pierden cuando termina la ejecución de un script. | pierden cuando termina la ejecución de un script. | ||
+ | • Automatiza la interacción entre la lógica y la presentación | ||
+ | • Es sencilla de usar | ||
− | + | '''Métodos de la Clase ApplicationController''' | |
− | |||
− | |||
− | |||
− | |||
La clase posee una serie de métodos que son útiles para el trabajo con controladores. | 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. | + | Visualiza una vista que pertenece al mismo controlador. Ejemplo: |
− | + | <source lang=php line> | |
− | Ejemplo: | + | 1. <?php |
− | <source lang=php> | + | 2. |
− | <?php | + | 3. class ProductosController extends ApplicationController { |
− | + | 4. | |
− | class ProductosController extends ApplicationController { | + | 5. function index(){ |
− | + | 6. $this> | |
− | + | render('consultar'); | |
− | + | 7. } | |
− | + | 8. | |
− | + | 9. } //fin de la clase | |
− | } //fin de la clase | + | 10. |
− | + | 11.?> | |
− | ?> | ||
</source> | </source> | ||
En este caso se visualizaría la vista views/productos/consultar.phtml | 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 | Redirecciona la ejecución a otro controlador en un tiempo de ejecución determinado | ||
− | <source lang=php> | + | <source lang=php line> |
− | <?php | + | 1. <?php |
− | + | 2. | |
− | class ProductosController extends ApplicationController { | + | 3. class ProductosController extends ApplicationController { |
− | + | 4. | |
− | + | 5. function index(){ | |
− | + | 6. $this> | |
− | + | redirect('facturas/nueva', 2); | |
− | + | 7. } | |
− | } | + | 8. |
− | + | 9. } | |
− | ?> | + | 10. |
+ | 11.?> | ||
</source> | </source> | ||
En el ejemplo va a facturas/nueva después de 2 segundos | 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 | Obtiene acceso orientado a objetos a los valores de $_POST, $value es el índice para | ||
pasar al array asociativo. | pasar al array asociativo. | ||
− | + | '''Get($value)''' | |
Obtiene acceso orientado a objetos a los valores de $_GET, $value es el índice para | Obtiene acceso orientado a objetos a los valores de $_GET, $value es el índice para | ||
pasar al array asociativo. | pasar al array asociativo. | ||
− | + | '''Request($value)''' | |
Obtiene acceso orientado a objetos a los valores de $_REQUEST, $value es el índice para | Obtiene acceso orientado a objetos a los valores de $_REQUEST, $value es el índice para | ||
pasar al array asociativo. | pasar al array asociativo. | ||
− | + | '''Render_partial($name)''' | |
Visualiza una vista parcial (partial) que pertenece al mismo controlador. Ejemplo: | Visualiza una vista parcial (partial) que pertenece al mismo controlador. Ejemplo: | ||
− | <source lang=php> | + | <source lang=php line> |
− | <?php | + | 1. <?php |
+ | 2. | ||
+ | 3. class ProductosController extends ApplicationController { | ||
+ | 4. | ||
+ | 5. function index(){ | ||
+ | 6. $this> | ||
+ | render_partial('mostrar_menu'); | ||
+ | 7. }//fin del metodo | ||
+ | 8. | ||
+ | 9. }//fin de la clase | ||
+ | 10. | ||
+ | 11.?> | ||
+ | </source> | ||
+ | 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 | ||
+ | Ejemplo: | ||
+ | <source lang=php line> | ||
+ | 1. return $this> | ||
+ | route_to("controller: clientes", "action: consultar", "id:1"); | ||
+ | </source> | ||
− | + | 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: | ||
+ | <source lang=php line> | ||
+ | 1. $this> | ||
+ | redirect(“/productos/query”); | ||
+ | </source> | ||
− | + | '''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: | ||
+ | <source lang=php line> | ||
+ | 1. <?php | ||
+ | 2. class PruebaController extends ApplicationController { | ||
+ | 3. | ||
+ | 4. function index(){ | ||
+ | 5. $this> | ||
+ | render_text("Este es el index"); | ||
+ | 6. } | ||
+ | 7. | ||
+ | 8. function not_found($controller, $action){ | ||
+ | 9. Flash::error("No esta definida la accion $action, redireccionando | ||
+ | a index..."); | ||
+ | 10. return $this> | ||
+ | route_to('action: index'); | ||
+ | 11. } | ||
+ | 12. } | ||
+ | 13.?> | ||
</source> | </source> | ||
− | |||
− | = | + | '''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. | ||
+ | <source lang=php line> | ||
+ | 1. <?php | ||
+ | 2. class PruebaController extends ApplicationController { | ||
+ | 3. | ||
+ | 4. function accion_ajax(){ | ||
+ | 5. $this> | ||
+ | set_response(“view”); | ||
+ | 6. } | ||
+ | 7. } | ||
+ | </source> | ||
+ | |||
+ | '''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. | ||
+ | <source lang=php line> | ||
+ | 1. <?php | ||
+ | 2. class PruebaController extends ApplicationController { | ||
+ | 3. | ||
+ | 4. function adicionar(){ | ||
+ | 5. $nombre = $this> | ||
+ | request(“nombre”); | ||
+ | 6. if($this> | ||
+ | is_alnum($nombre)==false){ | ||
+ | 7. Flash::error(“Entrada invalidad para precio”); | ||
+ | 8. return; | ||
+ | 9. } | ||
+ | 10. /* ..*/ | ||
+ | 11. } | ||
+ | 12. } | ||
+ | 13.?> | ||
+ | </source> | ||
+ | '''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 | ||
+ | |||
+ | <source lang=php line> | ||
+ | //Ejemplo1: | ||
+ | $usuario = $this> | ||
+ | Usuario> | ||
+ | find(1); | ||
+ | $this> | ||
+ | load_record($usuario); | ||
+ | //Ejemplo2: | ||
+ | $usuario = $this> | ||
+ | Usuario> | ||
+ | find(1); | ||
+ | $this> | ||
+ | load_record($usuario, 'except: id, sexo'); | ||
+ | //Ejemplo3: | ||
+ | $usuario = $this> | ||
+ | Usuario> | ||
+ | find(1); | ||
+ | $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'); | ||
+ | </source> | ||
+ | |||
+ | '''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. | ||
+ | <source lang=php line> | ||
+ | 1. <?php | ||
+ | 2. class PruebaController extends ApplicationController { | ||
+ | 3. | ||
+ | 4. function adicionar(){ | ||
+ | 5. $precio = $this> | ||
+ | request(“precio”); | ||
+ | 6. if($this> | ||
+ | is_numeric($precio)==false){ | ||
+ | 7. Flash::error(“Entrada invalida para precio”); | ||
+ | 8. return; | ||
+ | 9. } | ||
+ | 10. /* ..*/ | ||
+ | 11. } | ||
+ | 12. } | ||
+ | 13.?> | ||
+ | </source> | ||
+ | |||
+ | '''Obtener valores desde una de Kumbia''' | ||
+ | |||
+ | Las URLs de Kumbia están caracterizadas por tener varias partes cada una de ellas con | ||
+ | una función conocida. Para obtener desde un controlador los valores que vienen en la | ||
+ | URL podemos usar algunas propiedades útiles en el controlador: | ||
+ | Ejemplo1: | ||
+ | |||
+ | '''http://www.kumbiaphp.com/aplicacion/productos/buscar/12''' | ||
− | + | El sitio es: '''kumbia.org''' | |
+ | La aplicación es: '''aplicacion''' | ||
+ | El controlador es: '''productos''' | ||
+ | La acción es: '''buscar''' | ||
+ | El valor para id es: '''12''' | ||
− | + | Nuestro controlador aplicación/productos_controller.php luce así: | |
+ | <source lang=php line> | ||
+ | 1. <?php | ||
+ | 2. | ||
+ | 3. class ProductosController extends ApplicactionController { | ||
+ | 4. | ||
+ | 5. public function buscar($id){ | ||
+ | 6. /* */ | ||
+ | 7. } | ||
+ | 8. } | ||
+ | 9. | ||
+ | 10.?> | ||
+ | </source> | ||
− | + | Dentro del método buscar podemos obtener el valor de id osea 12 en nuestro ejemplo | |
+ | colocando un parámetro al controlador $id podemos recoger este valor y utilizarlo | ||
+ | internamente. | ||
+ | Otras formas de hacer esto es utilizar los métodos post, get o request así: | ||
+ | <source lang=php line> | ||
+ | 1. public function buscar(){ | ||
+ | 2. $id = $this> | ||
+ | request(“id”); | ||
+ | 3. // o también | ||
+ | 4. $id = $this> | ||
+ | id; | ||
+ | 5. } | ||
+ | </lang> | ||
− | + | ¿Cómo saber el nombre del controlador actual? | |
+ | <source lang=php line> | ||
+ | 1. public function buscar(){ | ||
+ | 2. $controlador = $this> | ||
+ | controller_name; | ||
+ | 3. } | ||
+ | </source> | ||
− | + | ¿Cómo saber el nombre de la acción actual? | |
− | <source lang=php> | + | <source lang=php line> |
− | + | 1. public function buscar(){ | |
+ | 2. $controlador = $this> | ||
+ | action_name; | ||
+ | 3. } | ||
</source> | </source> | ||
− | El | + | Ahora veamos el siguiente ejemplo: |
− | + | '''http://www.kumbia.org/aplicacion/registro/buscar_fecha/2006/12/01''' | |
+ | El sitio es: '''kumbia.org''' | ||
+ | La aplicación es: '''aplicacion''' | ||
+ | El controlador es: '''registro''' | ||
+ | La acción es: '''buscar_fecha''' | ||
− | + | La mejor forma de recoger estos valores es de la siguiente forma: | |
− | + | <source lang=php line> | |
− | <source lang=php> | + | 1. <?php |
− | + | 2. | |
+ | 3. class RegistroController extends ApplicactionController { | ||
+ | 4. | ||
+ | 5. public function buscar_fecha($año, $mes, $dia){ | ||
+ | 6. /* */ | ||
+ | 7. } | ||
+ | 8. } | ||
+ | 9. | ||
+ | 10.?> | ||
</source> | </source> | ||
− | + | Como vemos los valores adicionales en la URL son automáticamente agregados como | |
− | + | parámetros en la acción del controlador. | |
− | + | '''¿Que pasa con id en este ejemplo?'''' | |
− | + | ''$id '''es el valor del primer parámetro siempre así que si nos referimos a éste, | |
+ | encontramos que tiene el valor 2006. | ||
+ | |||
+ | '''¿Cómo puedo obtener los parámetros extra si no sé cuántos son?''' | ||
+ | Aquí usamos la propiedad del controlador '''$parameters''' que contiene estos valores así | ||
+ | que el ejemplo podríamos reescribirlo así: | ||
+ | |||
+ | <source lang=php line> | ||
+ | 1. <?php | ||
+ | 2. | ||
+ | 3. class RegistroController extends ApplicactionController { | ||
+ | 4. | ||
+ | 5. public function buscar_fecha(){ | ||
+ | 6. $año = $this> | ||
+ | parameters[0]; | ||
+ | 7. $mes = $this> | ||
+ | parameters[1]; | ||
+ | 8. $dia = $this> | ||
+ | parameters[2]; | ||
+ | 9. /* ... */ | ||
+ | 10. } | ||
+ | 11. } | ||
+ | </source> | ||
− | + | Por último podemos ver todos los parámetros que vienen en una url de Kumbia usando la | |
− | <source lang=php> | + | propiedad del controlador '''$this->all_parameters'''. Una salida de esta variable en el |
− | + | ejemplo anterior con print_r muestra: | |
+ | <source lang=php line> | ||
+ | 1. Array | ||
+ | 2. ( | ||
+ | 3. [0] => registro | ||
+ | 4. [1] => buscar_fecha | ||
+ | 5. [2] => 2006 | ||
+ | 6. [3] => 12 | ||
+ | 7. [4] => 01 | ||
+ | 8. ) | ||
</source> | </source> | ||
− | |||
− | |||
− | + | '''ApplicationControllerBase''' | |
− | + | ||
− | + | Es una clase definida en el archivo controllers/application.php, de esta forma: | |
− | + | <source lang=php line> | |
− | <source lang=php> | + | 1. <?php |
− | <?php | + | 2. |
+ | 3. class ControllerBase { | ||
+ | 4. | ||
+ | 5. | ||
+ | 6. }//fin de la clase | ||
+ | 7. | ||
+ | 8. ?> | ||
+ | </source> | ||
− | class | + | La clase tiene como objetivo permitir que se compartan ciertos métodos y atributos que |
+ | deben estar disponibles para todos los controladores de la aplicación. | ||
+ | <source lang=php line> | ||
+ | 1. <?php | ||
+ | 2. | ||
+ | 3. class ControllerBase { | ||
+ | 4. | ||
+ | 5. protected function seguridad(){ | ||
+ | 6. /* ... */ | ||
+ | 7. } | ||
+ | 8. | ||
+ | 9. }//fin de la clase | ||
+ | 10. | ||
+ | 11.?> | ||
+ | </source> | ||
− | + | y por ejemplo en el controlador productos podríamos usar este método así: | |
− | |||
− | |||
− | + | <source lang=php line> | |
− | + | 1. <?php | |
− | + | 2. | |
− | + | 3. class Productos extends ApplicationController { | |
− | } | + | 4. |
− | ?> | + | 5. public function adicionar(){ |
+ | 6. | ||
+ | 7. if($this> | ||
+ | seguridad()){ | ||
+ | 8. /* .... */ | ||
+ | 9. } | ||
+ | 10. | ||
+ | 11. } | ||
+ | 12. | ||
+ | 13. }//fin de la clase | ||
+ | 14. | ||
+ | 15. ?> | ||
</source> | </source> | ||
− | + | El método seguridad ahora se encuentra disponible para cualquier controlador. | |
− | + | ||
− | |||
− | |||
− | |||
− | + | '''Enrutamiento y Redirecciones''' | |
− | |||
− | + | Kumbia proporciona un poderoso sistema de redireccionamiento que permite cambiar el | |
+ | flujo de la ejecución de una aplicación entre los controladores MVC. | ||
+ | Kumbia permite el re-direccionamiento de 2 formas: estático y dinámico. | ||
− | + | '''¿Por qué re-direccionamiento?''' | |
− | + | • Necesitamos cambiar el flujo de la ejecución entre controladores, básicamente | |
− | + | • Ejemplo: El usuario trata de acceder a una acción que no existe y queremos enviarla a una válida. | |
+ | • Ejemplo: El usuario de la aplicación no tiene privilegios para continuar ejecutando determinada acción y debemos enviarlo a otra | ||
− | + | '''Estático''' | |
+ | El direccionamiento estático ocurre en el archivo forms/config/routes.ini en donde le decimos al framework cuándo debe redireccionar de acuerdo a los controladores y/o acciones solicitadas. | ||
+ | El archivo config/routes.ini se ve así: | ||
+ | <source lang=php line> | ||
+ | 1. ; Usa este archivo para definir el enrutamiento estático entre | ||
+ | 2. ; controladores y sus acciones | ||
+ | 3. ; | ||
+ | 4. ; Un controlador se puede enrutar a otro controlador utilizando '*' como | ||
+ | 5. ; comodín así: | ||
+ | 6. ; controlador1/accion1/valor_id1 = controlador2/accion2/valor_id2 | ||
+ | 7. ; | ||
+ | 8. ; Ej: | ||
+ | 9. ; Enrutar cualquier petición a posts/adicionar a posts/insertar/* | ||
+ | 10.; posts/adicionar/* = posts/insertar/* | ||
+ | 11.; | ||
+ | 12.; Enrutar cualquier petición a cualquier controlador en la acción | ||
+ | 13.; adicionar a posts/adicionar/* | ||
+ | 14.; */adicionar/* = posts/insertar/* | ||
+ | 15. | ||
+ | 16.[routes] | ||
+ | 17.prueba/ruta1/* = prueba/ruta2/* | ||
+ | 18.prueba/ruta2/* = prueba/ruta3/* | ||
+ | </source> | ||
+ | Cualquier política definida en este archivo tiene menos relevancia sobre un | ||
+ | direccionamiento dinámico. | ||
− | + | '''Dinámico''' | |
− | + | Ocurre cuando en ejecución necesitamos cambiar el flujo normal y pasar a otro controlador o a otra acción. | |
− | + | El principal método para hacer esto es usar el método route_to: | |
− | + | 1. route_to([params: valor]) | |
+ | Recibe los parámetros con nombre: | ||
+ | • '''controller:''' A que controlador se va a redireccionar | ||
+ | • '''action:''' A que acción se va a redireccionar | ||
+ | • '''id:''' Id de la redirección | ||
+ | <source lang=php line> | ||
+ | 1. return $this->route_to("controller: clientes", "action: consultar", "id:1"); | ||
</source> | </source> | ||
+ | No todos los parámetros son obligatorios sólo el que sea necesario. | ||
− | |||
− | |||
− | + | '''Filter''' | |
− | |||
− | |||
− | class | + | 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, 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> | </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. |