Select Git revision

Sofiane Lasri authored
Auteur.php 1.84 KiB
<?php
require_once "Objet.php";
class Auteur extends Objet
{
// attributs
protected ?int $numAuteur;
protected ?string $nom;
protected ?string $prenom;
protected ?int $anneeNaissance;
// getter
public function __construct($nu = NULL, $n = NULL, $p = NULL, $a = NULL)
{
if (!is_null($nu)) {
$this->numAuteur = $nu;
$this->nom = $n;
$this->prenom = $p;
$this->anneeNaissance = $a;
}
}
public static function getAllAuteurs()
{
// écriture de la requête
$requete = "SELECT * FROM Auteur;";
// envoi de la requête et stockage de la réponse
$resultat = Database::pdo()->query($requete);
// traitement de la réponse
$resultat->setFetchmode(PDO::FETCH_CLASS, 'Auteur');
$tableau = $resultat->fetchAll();
return $tableau;
}
public static function getAuteurByNum($numAuteur)
{
// écriture de la requête
$requetePreparee = "SELECT * FROM Auteur WHERE numAuteur = :num_tag;";
$req_prep = Database::pdo()->prepare($requetePreparee);
// le tableau des valeurs
$valeurs = array("num_tag" => $numAuteur);
$response = null;
try {
// envoi de la requête
$req_prep->execute($valeurs);
// traitement de la réponse
$req_prep->setFetchmode(PDO::FETCH_CLASS, 'Auteur');
// récupération de l'auteur
$response = $req_prep->fetch();
// retour
} catch (PDOException $e) {
echo $e->getMessage();
}
return $response;
}
// méthode static qui retourne un auteur identifié par son numAuteur
public function afficher()
{
return "<p>auteur $this->prenom $this->nom, né(e) en $this->anneeNaissance </p>";
}
}