PHP: gestire AJAX e JSON con l'approccio Object-Oriented

In PHP possiamo gestire il formato JSON di AJAX con relativa semplicità usando l'approccio Object-Oriented.

Sostanzialmente ci occorrono questi componenti:

  1. dei dati sotto forma di un array associativo
  2. l'header HTTP Content-Type impostato su application/json
  3. 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();

Torna su