Ok, ti faccio un esempio pratico con tanto di codice di un mio software.
In gioco abbiamo:
ajax.php : Pagina che viene chiamata via Ajax.
usersControl-class.php : classe che gestisce gli utenti. Crea, modifica, assegna privilegi, cancella, etc...
Supponiamo che io mi trovi in un pannello di amministrazione di un'applicazione web based e davanti mi trovo l'elenco dei miei dipendenti (gli utenti).
Decido di cancellare l'utente con id 23 e tramite ajax chiamo: ajax.php?request=usersControl&action=delete&id=23
In pratica sto dicendo alla pagina Ajax.php che voglio accedere alla classe userControl ed eseguire l'azione di delete sull'id 23
Ma come fa ajax.php a fare questo? Così:
[PHP]<?php
/*
@author: Andrea Dell'Orco http://www.adostudio.it/
@copyright: Comune di Cremona http://www.comune.cremona.it/
*/
require_once ("../config.php");
require_once ("../classes/db-class.php");
require_once ("../classes/core-class.php");
[..]
require_once ("classes/usersControl-class.php");
[..]
[..]
switch ($_GET['request']) {
case "usersControl" :
$ajax = new usersControl();
break;
case "labs" :
$ajax = new labs();
break;
case "paths" :
$ajax = new paths();
break;
[..]
}
?>[/PHP]
Capisce che sto cercando di accedere alla classe userConrol e allora crea un'istanza di tale classe. Sarà compito della classe capire cosa voglio fare.
La classe userControl, funziona così:
[PHP]<?php
/*
@author: Andrea Dell'Orco http://www.adostudio.it/
@copyright: Comune di Cremona http://www.comune.cremona.it/
*/
class usersControl extends core {
//CONSTRUTTORE - Inizializza la classe e comprende cosa c'e da fare
function __construct() {
switch ($_GET['action']) {
case "addUser" :
$this -> doForm();
break;
case "insertUser" :
echo $this -> insert();
break;
case "delete" :
echo $this -> delete();
break;
case "edit" :
echo $this -> edit();
break;
default :
$this -> show();
break;
}
}
[..]
/*---------------------------------------------------------------------
-
Metodo delete-----------------------------------------------------
-
Cancella l'utente ------------------------------------------------
-
--------------------------------------------------------------------*/
function delete() {
$id = $this -> injStr($_GET['id']);
//esegue le operazioni di DELETE
[..]
return $output;
}
[..]
[/PHP]
Come vedi, sarà compito della classe userControl, tramite il metodo DELETE eliminare l'utente. Ovviamente è necesario inserire controlli di sicurezza che ho omesso qui (per semplificare e per problemi di copyright :P)
Puoi tranquillamente inoltre generare qualunque tipo di output.
Spero di essere stato abbastanza chiaro.
Un saluto