fileName = $quoi . '-' . $codePresta . '.tex'; } } class DevisLatex extends PrestaLatex {} class FactureLatex extends PrestaLatex {} class LocationLatex extends PrestaLatex {} class EnveloppeRectoLatex extends PrestaLatex {} class EnveloppeVersoLatex extends PrestaLatex {} abstract class ComptaLatex extends Latex { public function __construct(string $quoi, string $annee, int $numeroMois = 0) { nameTheFile($quoi, $annee, $numeroMois); } // forme = Recettes-2022-06-Juin.tex ou Recettes-2022.tex // type de 'annee'? protected function nameTheFile(string $quoi, string $annee, int $numeroMois = 0) { $this->fileName = $quoi . '-' . $annee; $mois = ['', 'Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre']; if($numeroMois > 0 && $numeroMois <= 12) { $this->fileName .= '-' . $numeroMois . '-' . $mois[$numeroMois]; } $this->fileName .= '.tex'; } } class LivreRecettesLatex extends ComptaLatex {} class RegistreAchatsLatex extends ComptaLatex {} class BilanLatex extends ComptaLatex {}