/dev/null 2>&1 &'; // stdout > /dev/null et & permettent de rendre la main à PHP // stderr > stdout pour cacher un message inutile return $command; } function rechercheClient(string $input, Clients $Client): array { $input_array = explode(' ', $input); // si plusieurs mot, on les recherche tous l'un après l'autre $result = $Client->findByKeywords($input_array, 'prenom_nom'); // on obtient un tableau à deux dimensions avec les entrées trouvées return($result); } // NOTE 1: en PHP les objets sont passés aux fonctions par référence par défaut, toutefois ce n'est pas entièrement vrai // NOTE 2: PHP n'a pas de pointeur mais des références, une référence est un alias qui ne contient pas l'objet lui-même // NOTE 3: la variable créée lors d'un "new" est elle-même une référence contenant un identifiant (= le pointeur?) // NOTE 4: l'objet est détruit lorsque la dernière référence est supprimée function controlFormInput(array $data): bool { $tableSize = count(StructTablesDB::$structureOfTables[$table]); // int if($data !== '') { $dataArray = explode('|', $data); if(count($dataArray) === $tableSize - 1) // nombre de champs sauf ID qui est auto-incrémenté automatiquement { } else { echo "debug: mauvais tableau, il doit avoir " . $tableSize - 1 . " cases\n"; return false; } } else { echo "debug: pas de données saisies\n"; return false; } } function getLatexFromTemplate(string $template) { // variables à injecter $nom_client = "M. Duchmol"; // on obtient la variable $latex avec ob_get_clean() include('latex_templates/' . $template . '.php'); // on retourne le buffer // normallement le code PHP inséré avec include est nettoyé en quittant la fonction return($latex); } // compilation à partir d'un fichier .tex function latexToPdf(string $latexPath, string $fileName, string $pdfPath) { $outputDir = ''; if($pdfPath !== '') { $outputDir = '-output-directory=' . $pdfPath . ' '; } // compilation exec('pdflatex ' . $outputDir . $latexPath . $fileName); // nettoyage $basename = basename($fileName, '.tex'); unlink($pdfPath . $basename . '.aux'); unlink($pdfPath . $basename . '.log'); }