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:

  1. 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 Request que 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 Request pasando al constructor la constante Request::GET de 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 clase Request en 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étodo getParam() o getParams() 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].

  2. 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 Request en invocar el método popUpForward() en lugar de solo forward(). 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&param2=valor2&param3=valor3");
    $request->setCyphered(true);
    $request->popUpForward("response.php");
    

    Al invocar el método popUpForward() con la dirección de destino únicamente, la clase Request asumirá una configuración por defecto para la ventana emergente. Si por el contrario, nosotros queremos especificar una configuración personalizada, debemos pasarle al método popUpForward()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.

  3. Al incluir el archivo Request.php en una página PHP automáticamente se creará una instancia de la clase Request que 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.
  4. 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: "&param1=valor1&param2=valor2&...&paramN=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.

  1. Descargar el archivo Request.php
  2. Descargar un ejemplo del uso de Request.php

¿Te pareció interesante? Entonces recomienda esta entrega a tus amigos y colegas.

Escribe un comentario