Skip to content
Snippets Groups Projects
Select Git revision
  • main default protected
1 result

Auteur.php

Blame
  • Auteur.php 2.51 KiB
    <?php
    
    class Auteur
    {
    	// attributs
        private int $numAuteur;
        private string $nom;
        private string $prenom;
        private ?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);
            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
                $a = $req_prep->fetch();
                // retour
                return $a;
            } catch (PDEException $e) {
                echo $e->getMessage();
            }
        }
    
        public function getNumAuteur()
        {
            return $this->numAuteur;
        }
    
        // setter
    
        public function setNumAuteur($nu)
        {
            $this->numAuteur = $nu;
        }
    
        public function getNom()
        {
            return $this->nom;
        }
    
        public function setNom($n)
        {
            $this->nom = $n;
        }
    
        public function getPrenom()
        {
            return $this->prenom;
        }
    
        // un constructeur
    
        public function setPrenom($p)
        {
            $this->prenom = $p;
        }
    
        // une methode d'affichage.
    
        public function getAnneeNaissance()
        {
            return $this->anneeNaissance;
        }
    
        // méthode static qui retourne les auteurs en un tableau d'objets
    
        public function setAnneeNaissance($a)
        {
            $this->anneeNaissance = $a;
        }
    
        // méthode static qui retourne un auteur identifié par son numAuteur
    
        public function afficher()
        {
            echo "<p>auteur $this->prenom $this->nom, né(e) en $this->anneeNaissance </p>";
        }
    
    }
    
    ?>