In PHP possiamo gestire il formato JSON di AJAX con relativa semplicità usando l'approccio Object-Oriented.
Sostanzialmente ci occorrono questi componenti:
- dei dati sotto forma di un array associativo
- l'header HTTP Content-Type impostato su application/json
- la funzione json_encode() per la codifica dei dati in formato JSON.
Usando un approccio OO potremmo scrivere il seguente codice:
namespace App;
use Database;
class Ajax {
private $request = $_POST;
private $param;
protected $term;
public function __construct($p) {
$this->param = $p;
$this->term = $this->request[$this->param];
}
public function process() {
$this->headers();
$db = new Database();
$query = $db->sanitize($this->term);
$results = $db->query("SELECT * FROM docs WHERE title LIKE '%$query%'");
echo json_encode($results);
exit;
}
public function getTerm() {
return $this->term;
}
private function headers() {
header('Content-Type: application/json');
}
}
Esempio d'uso:
$ajax = new Ajax('s');
$ajax->process();