Commit 6544c681 authored by Julien Ait azzouzene's avatar Julien Ait azzouzene
Browse files

♻️ refactor: écriture des classes modèles

et définition des managers
parent 003aec31
Loading
Loading
Loading
Loading

docs/Doxyfile

0 → 100644
+2862 −0

File added.

Preview size limit exceeded, changes collapsed.

+16 −0
Original line number Diff line number Diff line
@@ -2,6 +2,11 @@

declare(strict_types=1);

/**
 * Charge les variables d'environnement d'un fichier ".env".
 * @param string $path chemin du fichier .env
 * @return void
 */
function chargerDotenv($path)
{
    $lignes = file($path, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
@@ -14,9 +19,20 @@ function chargerDotenv($path)
    }
}

/**
 * Classe utilitaire pour se connecter à la base de données.
 * 
 * @author Julien Ait azzouzene <julien.aitazzouzene@etu.unicaen.fr>
 */
abstract class ConnectionBdd {
    private static ?PDO $instance = null;

    /**
     * Renvoie une connection de base de données avec 
     * les paramètres fournis dans le ".env".
     * La classe utilisant un singleton, plusieurs appels successifs ne créeront qu'un seul objet PDO.
     * @return PDO
     */
    public static function getInstance(): PDO{
        if (self::$instance === null) {
            self::$instance = self::connecterBdd();
+23 −0
Original line number Diff line number Diff line
<?php

declare(strict_types=1);

require_once 'src/model/manager.php';

/**
 * Classe utilitaire permettant de gérer les catégories de recettes.
 * Les catégories sont manipulés directement en un string 
 * qui contient le nom de la catégorie.
 * 
 * @author Julien Ait azzouzene <julien.aitazzouzene@etu.unicaen.fr>
 */
class CategorieManager extends Manager{    
    /**
     * Renvoie toutes les catégories en base.
     *
     * @return array un tableau contenant les noms de catégorie (string)
     */
    public function getCategories(): array{
        throw new Exception('not implemented yet');
    }
}
 No newline at end of file
+34 −0
Original line number Diff line number Diff line
<?php

declare(strict_types=1);

/**
 * Classe utilitaire permettant de gérer l'édito visible
 * sur la page d'accueil.
 * N'hérite pas de la classe Manager car l'édito n'est pas stocké
 * en base de données.
 * 
 * @author Julien Ait azzouzene <julien.aitazzouzene@etu.unicaen.fr>
 */
class EditoManager{   

    /**
     * Renvoie le texte de l'édito
     *
     * @return string
     */
    public function getEdito(): string{
        throw new Exception('not implemented yet');
    }

        
    /**
     * Modifie le texte de l'édito.
     *
     * @param string $edito
     * @return void
     */
    public function setEdito(string $edito){
        throw new Exception('not implemented yet');
    }
}
 No newline at end of file
+61 −0
Original line number Diff line number Diff line
<?php

declare(strict_types=1);

/**
 * Classe contenant les données d'un ingrédient.
 * 
 * @see IngredientManager
 * 
 * @author Julien Ait azzouzene <julien.aitazzouzene@etu.unicaen.fr>
 */
class Ingredient{
    private string $id;
    private string $intitule;
    private string $description;

        
    /**
     * Constructeur paramétré de la classe Ingredient.
     *
     * @param string $intitule intitulé (nom) de l'ingredient
     * @param string $id id de l'ingredient (lecture seulement)
     * @param string $description description de l'ingredient (facultatif)
     */
    public function __construct(string $intitule, string $id = "",  string $description = ""){$this->id = $id;$this->intitule = $intitule;$this->description = $description;}

        
    /**
     * Renvoie l'id de l'ingredient.
     * @return string
     */
    public function getId(): string {return $this->id;}

    /**
     * Renvoie l'intitulé (nom) de l'ingredient.
     * @return string
     */
	public function getIntitule(): string {return $this->intitule;}

    /**
     * Renvoie la description de l'ingredient.
     * @return string
     */
	public function getDescription(): string {return $this->description;}
  	
	/**
	 * Modifie l'intitulé (nom) de l'ingredient.
	 * @param string $intitule
	 * @return void
	 */
	public function setIntitule(string $intitule): void {$this->intitule = $intitule;}

    /**
	 * Modifie la description de l'ingredient.
	 * @param string $description
	 * @return void
	 */
	public function setDescription(string $description): void {$this->description = $description;}

	
}
 No newline at end of file
Loading