file_name = $file_name; $this->path = $path; } // getters public function getData(): string { return $this->data; } // setters public function setFileName($file_name) { $this->file_name = $file_name; } public function setPath($path) { $this->path = $path; } public function setData($data) { $this->data = $data; } public function setFileRights(int $octal) { $this->file_rights($octal); } public function setFolderRights(int $octal) { $this->folder_rights($octal); } public function setWriteMod(int $mod) { $this->write_mod = $mod; } // fichiers public function readFile(): string {} public function writeFile() { file_put_contents($this->path. $this->file_name, $data); chmod($this->path, $this->file_rights); } // dossiers public function makeFolder() { if(!file_exists($this->path)) { mkdir($this->path); chmod($this->path, $this->folder_rights); } } } // compilation à partir d'un fichier .tex class latexToPdf extends File { public function __construct(string $latex_path, string $file_name, string $pdf_path) {} $output_dir = ''; if($pdf_path !== '') { $output_dir = '-output-directory=' . $pdf_path . ' '; } // compilation //echo 'pdflatex ' . $output_dir . $latex_path . $file_name . "\n"; exec('pdflatex ' . $output_dir . $latex_path . $file_name); // nettoyage $basename = basename($file_name, '.tex'); unlink($pdf_path . $basename . '.aux'); unlink($pdf_path . $basename . '.log'); }