Procediamo con la creazione delle classi PHP, partendo dalla classe delle categorie che sarà semplificata in quanto ci interessa solo il metodo che restituisce la lista delle categorie presenti nel nostro database.
La nostra classe avrà due proprietà private
riferite all'uso del database e quattro proprietà public
relative alle caratteristiche delle categorie e quindi mappate sui campi del database.
class Categoria{
// connessione al database e nome della tabella
private $conn;
private $table_name = "categorie";
// proprietà dell'oggetto
public $id;
public $nome;
public $descrizione;
public $data_insert;
}
In questo momento l'unico valore assegnato è quello relativo al nome della tabella del database sulla quale vogliamo andare ad operare. La connessione invece verrà passata tramite il costruttore, ovviamente sfruttando la classe vista nella lezione precedente.
public function __construct($db){
$this->conn = $db;
}
A questo punto abbiamo la connessione al database e il nome della tabella sulla quale vogliamo operare, andiamo quindi a implementare il metodo che restituirà tutte le categorie, sarà anche l'unico metodo della nostra classe dato che non andremo a gestire le categorie.
public function readAll(){
$sql = "SELECT id, nome, descrizione
FROM " . $this->table_name . "
ORDER BY nome";
$stmt = $this->conn->prepare( $sql );
$stmt->execute();
return $stmt;
}
Il metodo che abbiamo chiamato readAll
è costituito da una variabile stringa, $sql
che contiene la stringa della query da eseguire sulla tabella delle categorie definita come proprietà dell'oggetto.