.. ================================================== .. FOR YOUR INFORMATION .. -------------------------------------------------- .. -*- coding: utf-8 -*- with BOM. ===================================== Syntaxe ===================================== Le principe de la programmation en PHP ne diffère pas de C#, il y a cependant parfois des particularités dans la syntaxe. C'est à la base un langage non typé. Cependant depuis la version 7, il est possible d'ajouter des types à certains éléments (méthodes, fonctions, variable de classe). **Variables et constantes** =========================== Les variables sont précédées d'un $. .. code-block:: php // Déclaration d'une variable $captainsAge; // Déclaration d'une variable avec une assignation $number = 0; Les constantes sont définies en majuscule, les mots séparés par des _ avec la fonction define ou const. .. code-block:: php // Hors d'une classe define("CAPTAINS_AGE", 54); // A l'intérieur d'une classe class foo { const CAPTAINS_AGE = 54; } **Chaînes de caractères** ========================= Les chaînes de caractères se définissent également avec un $. Il est possible d'utiliser les guillemets ou les simples guillemets. .. code-block:: php $textWeather = "Aujourd'hui, il fera beau."; $textWeatherNextWeek = 'La semaine prochaine, il neigera.'; La différence réside dans la substitution des variables. Si on intègre une variable dans une chaine avec des guillemets, nous verrons la valeur de la variable. Si on fait de même dans une chaine avec des simples guillemets, nous verrons le nom de la variable. .. code-block:: php $alert = "Danger ! "; $textWeather = "$alert Aujourd'hui, il fera beau."; //Danger ! Aujourd'hui, il fera beau. $textWeatherNextWeek = '$alert La semaine prochaine, il neigera.'; //$alert La semaine prochaine, il neigera. Pour concaténer deux chaînes ensembles, l'opération est le point (.) .. code-block:: php $textWeather = "Aujourd'hui, il fera beau."; $textWeatherNextWeek = 'La semaine prochaine, il neigera.'; // En mettant les chaînes l'une après l'autre echo $textWeather . $textWeatherNextWeek; // Aujourd'hui, il fera beau.La semaine prochaine, il neigera. // En ajoutant un espace entre les chaînes echo $textWeather . ' ' . $textWeatherNextWeek; // Aujourd'hui, il fera beau. La semaine prochaine, il neigera. **Opérateurs** ============== .. figure:: Images/operateurs.jpg :scale: 100 % :alt: Opérateurs en PHP :align: center A retenir : .. code-block:: php $textNumber = "1"; $textNumber += 2; // La variable contiendra 3. **Conditions** ============== .. code-block:: php if ($a > $b) { echo "a est plus grand que b"; } elseif ($a == $b) { echo "a est égal à b"; } else { echo "a est plus petit que b"; } **Switch** ========== .. code-block:: php switch ($i) { case 0: echo "i égal 0"; break; case 1: echo "i égal 1"; break; case 2: echo "i égal 2"; break; default: echo "ce cas n'existe pas"; } **While et Do While** ===================== .. code-block:: php // While $i = 1; while ($i <= 10) { echo $i++; } // Do While $i = 0; do { echo $i; } while ($i > 0); **For et Foreach** ================== .. code-block:: php // For for ($i = 1; $i <= 10; $i++) { echo $i; } // Foreach $arr = array(1, 2, 3, 4); foreach ($arr as $value) { $value = $value * 2; } **Fonctions** ============== .. code-block:: php function foo($arg_1, $arg_2, /* ..., */ $arg_n) { echo "Exemple de fonction.\n"; return $retval; } // Depuis PHP7, il est possible de typer function sum(int $a, int $b): int { return $a + $b; } **Inclure des fichiers** ======================== Il est parfois nécessaire d'inclure un fichier PHP dans un autre fichier PHP. Dans le cas d'un site web, certaines parties du site sont similaires entre les pages. Exemple avec le bas de page, il est possible de le créer dans une page PHP qui sera incluse dans toutes les autres pages du site. Cela permet en cas de modification dans le footer, de l'effectuer sur un seul fichier, même si le site comporte plusieurs pages. PHP met à disposition plusieurs fonctions afin d'inclure un fichier. * include : En cas de problème, lance un avertissement. * include_once : En cas de problème, lance un avertissement et vérifier que le fichier n'est pas déjà inclus. * require : En cas de problème, lance une erreur. * require_once : En cas de problème, lance une erreur et vérifier que le fichier n'est pas déjà inclus. Les fonctions avec "_once" sont plus lentes à l'exécution. Les fonctions include et include_once lance un avertissement et l'interprétation du code est continué. .. code-block:: php // Fichier footer.php .. code-block:: php // Fichier index.php //Début du fichier html //Contenu du site include("footer.php"); //Fin du fichier html