Implementación de AJAX con PEAR y PHP

Cuando empecé a utilizar esta técnica de desarrollo me recuerdo que era bastante tedioso poder crear aplicaciones utilizando AJAX pero gracias a las librerias de PEAR para PHP se nos hace bastante simple el desarrollo.

Poniendolos un poco en contexto, AJAX es una técnica de programación que hace llamadas asíncronas hacia el servidor de aplicaciones, recargándo únicamente el área de la página que deseamos y evitar hacer una recarga total de la página. Bien, PEAR dentro de su gran gama de librerias proporciona un paquete llamado HTML_AJAX que contiene todas las librerias para manejo de AJAX. En este tutorial veremos como hacer uso de estas librerías.

Lo primero es crear la clase que será llamada por medio de AJAX, para este caso asumiremos que tenemos una clase en un script de PHP con un método que recibe como parámetros 2 números y hace alguna operación con ellos. Ahora vamos a ver como se implementa el script que estará recibiendo las peticiones que se hagan por medio de AJAX:

require_once "HTML/AJAX/Server.php";
class AutoServer extends HTML_AJAX_Server{
var $initMethods = true;
function initMyClass()
{
// se hace el include hacia el script que contendrá las clases que llamaremos por medio de AJAX
require_once "myClass.php";


$obj = new myClass();
$this->registerClass($obj);
}
}
$objServer = new AutoServer();
$objServer->handleRequest();

Esta clase AutoServer es un extend de la clase HTML_AJAX_Server la cual se encarga de manejar todas las peticiones que se hacen hacia los distintos scripts que definamos dentro de la clase. Explicando un poco el código:

  • require_once "HTML/AJAX/Server.php": Incluye la librería que contiene todos los métodos que se requieren para el manejo de peticiones desde el cliente
  • var $initMethods = true; : Esta bandera indica que utilizarán los initMethods que definamos dentro de esta clase.
  • function initMyClass: Este es la función que registra las distintas clases que querramos llamar por medio de AJAX (se hará una por cada clase que querramos agregar).
  • $objServer->handleRequest(): Luego de instanciar la clase AutoServer, se tendrá que ejecutar este método para que se inicialice un listener el cual manejará todas las peticiones que se hagan.

Con esta clase únicamente tenemos que agregar métodos de inicialización por cada una de las clases que querramos instanciar desde AJAX lo cual es ventajoso ya que no tenemos que hacer un script que maneje peticiones asíncronas por cada una de ellas.

Esta es la primera parte de la implementación en un futuro post les estaré detallando como hacer las llamadas a estos métodos ya desde JavaScript.

Los comentarios están cerrados.