Xajax è un framework opensource per rendere possibile l'uso di ajax all'interno del nostro codice PHP ed eseguirlo attraverso normali funzioni "server-side"
Come si fa?
Per prima cosa scarichiamo dal sito la libreria. Xajax 0.5b4 (a cui si riferisce questa pillola)
una volta spacchettato il pacchetto (xd) posizionamo le 4 directory nella root (/) del nostro sito web.
XAJAX ha un funzionamento molto semplice, ci basterà infatti includere il file principale (ubicato nella directory xajax_core e chiamato xajax.inc.php) con
Codice PHP:
require_once "xajax_core/xajax.inc.php";
e istanziare l'oggetto $xajax con:
Codice PHP:
$xajax = new xajax();
dobbiamo poi dare dei settaggi di configurazione a xajax.
Codice PHP:
$xajax->configure("javascript URI", "/"); //questo passaggio dice a xajax di iniziare il percorso al file (xajax_core/xajax.inc.php) dalla root del sito, se per esempio mettere le 4 directory in (/xajax) il configure sarà (/xajax)
$xajax->configure("debug", false); //questo settaggio a si che all'esecuzione delle funzioni ajax non si apra il popup con tutte le operazioni e i rispettivi risultati.
Ora cominciamo a lavorare con xajax vero e proprio e lo facciamo REGISTRANDO in xajax le funzioni PHP che chiameremo tramite AJAX così :
Codice PHP:
$xajax->register(XAJAX_FUNCTION, "provaDiv");
Abbiamo registrato la funzione provaDiv, che andremo a scrivere.
Codice PHP:
function provaDiv($form)
{
//adesso dobbiamo inizializzare l'oggetto che dovrà processare le risposte server side e inviarle a javascript (attenzione uno per ogni funzione, e solamente all'interno della singola funzione, come "oggetto locale")
$objResponse = new xajaxResponse();
//adesso possiamo cominciare con il codice PHP
$oraLocale = time(); //funzione PHP time();
$risultatoFinale = $form['testo'].strftime("%d %m %Y", $oraLocale);
//adesso assegnamo a javascript quanto fatto.
$objResponse("divCheConterraIlValore", "innerHTML", $risultatoFinale);
//e adesso ritorniamo il risultato della richiesta javascript con
return $objResponse;
}
Fatto questo però non abbiamo ancora finito infatti dovremo dire a xajax di poter realmente processare le richieste e di scrivere per noi il codice javascript per implementare il metodo ajax nella pagina così:
Codice PHP:
$xajax->processRequest();
$xajax->printJavascript();
Ma arrivati a questo punto, vi chiederete, come posso chiamare la funzione javascript scritta prima?
così:
ammettiamo di avere un form
<form id="QuestoForm" name="QuestoForm">
<input type="text" name="testo" id="testo" />
<button value="cliccami" id="bottone" name="bottone" onclick="javascript:xajax_provaDiv(xajax.getFormVa lues('QuestoForm'));" />
</form>
<div id="divCheConterraIlValore"></div>
Adesso proviamo a inserire nel campo text il testo "Sono le ore" e clicchiamo su "cliccami".. . come per magia, senza sbatterci troppo, vedremo comparire il nostro effetto AJAX bello e pronto!