Alejandro Morales Meza
Diseñador y Desarrollador de Software y Bases de Datos
Soy un profesional en Ingeniería de Sistemas con más de seis años de experiencia en el diseño y desarrollo de software y bases de datos. He trabajado en proyectos de software de pequeño, mediano y alto grado de complejidad para diferentes sectores del mercado. Soy de espíritu proactivo, investigador, creativo e ingenioso que me lleva a brindar soluciones efectivas a cualquier tipo de requerimiento asociado a mi área de desempeño. Realizo mi trabajo con excelencia, calidad y profesionalismo. Tengo un deseo continuo de crecimiento personal y profesional.
29th
SEP
Clase Request v2.0
Enviado por alejandromoralesmeza bajo PHP
En esta breve entrega quiero presentarles la clase Request, que ya fue introducida previamente en esta WEB, con algunas mejoras, de las cuales vamos a considerar las más significativas a continuación:
- Permite enviar datos cifrados o sin cifrar, lo cual es muy útil si estamos manejando información sensible en nuestras aplicaciones. Esto es muy importante, ya que los datos enviados por POST, si bien no son visibles en la URL, pueden ser recuperados con algunas herramientas de software diseñadas para tal propósito, lo cual, en algunos casos hace necesaria esta medida de seguridad adicional.Para indicarle a la clase
Requestque debe cifrar los datos, creamos una instancia como sigue:$request = new Request(Request::POST, Request::DEFAULT_TARGET, true);
O una vez que ésta se encuentre creada invocamos el método:
$request->setCyphered(true);
Cabe mencionar también, que no solo podemos enviar datos cifrados por POST, sino que además podemos enviarlos por GET. Para hacerlo, podríamos crear una instancia de la clase
Requestpasando al constructor la constanteRequest::GETde la siguiente manera:$request = new Request(Request::GET, Request::DEFAULT_TARGET, true);
Cuando decidimos enviar nuestros parámetros cifrados mediante una instancia de la clase
Request, debemos incluir el archivo que contiene la claseRequesten el archivo PHP que recibe los datos, de esta manera, ella se encargará de descifrar los datos, permitiéndonos acceder a ellos mediante una invocación del métodogetParam()ogetParams()del objeto$request, como sigue:$nombre = $request->getParam("nombre");o
$parametros = $request->getParams();
Donde el primer caso nos muestra cómo obtener el valor de un único parámetro mediante su nombre y el segundo nos permite obtener todos los parámetros de una vez en un arreglo de tipo [clave => valor].
- Permite enviar parámetros por GET o por POST a una ventana emergente de una manera muy elegante. Basta con agregar los parámetros a una instancia de la clase
Requesten invocar el métodopopUpForward()en lugar de soloforward(). Un ejemplo completo de esto es el siguiente:$request = new Request(); $request->addParam("dato1", "Sr."); $request->addParam("dato2", "Alejandro"); $request->addParam("dato3", "Morales"); $request->addParam("dato4", "Meza"); $request->setParamsFromString("?param1=valor1¶m2=valor2¶m3=valor3"); $request->setCyphered(true); $request->popUpForward("response.php");Al invocar el método
popUpForward()con la dirección de destino únicamente, la claseRequestasumirá una configuración por defecto para la ventana emergente. Si por el contrario, nosotros queremos especificar una configuración personalizada, debemos pasarle al métodopopUpForward()un arreglo con los valores de configuración deseados, como sigue:$propiedades = array("width" => 300, "height" => 300, "resizable" => "no"); $request->popUpForward("response.php", "nombrePopup", $propiedades);Los nombres para dichas propiedades deben ser los mismos que se usan en javascript para denominarlas.
- Al incluir el archivo Request.php en una página PHP automáticamente se creará una instancia de la clase
Requestque nos permitirá manejar todos los parámetros enviados utilizando dicha instancia, sin importar si estos fueron enviados por GET o por POST y por un mecanismo diferente a la clase. - Ahora contamos con el método setParamsFromString(), el cual nos permite añadir parámetros a una instancia de la clase Request mediante el paso de una cadena de la forma:
"¶m1=valor1¶m2=valor2&...¶mN=valorN", lo cual en algunos contextos puede resultar más cómodo, ya que se traduce en menor cantidad de líneas de código.
Realmente espero que esta nueva versión pueda ser tan útil como la anterior y quedo atento a comentarios y sugerencias.
- Descargar el archivo Request.php
- Descargar un ejemplo del uso de Request.php
Escribe un comentario
Post Meta
-
septiembre 29, 2010 -
PHP -
Sin Comentarios -
Feed de Comentarios