Aller au contenu

Prise en main des bases de PHP

Cette page couvre les bases de la programmation en PHP. Comme vous connaissez déjà JavaScript, chaque notion est mise en regard de son équivalent JS : ce qui se ressemble, et ce qui diffère.

echo envoie du texte dans la réponse HTTP (donc dans la page).

<?php
echo "Bonjour le serveur";

La grande différence avec le console.log que vous connaissez : echo produit le contenu que le visiteur verra, pas un message de débogage.

Une variable PHP commence toujours par $, à la déclaration comme à l’usage.

<?php
$name = "Ti-Jean";
$age = 42;
echo $name;

En JavaScript :

let name = "Ti-Jean";
let age = 42;
console.log(name);

Les deux langages ont un typage dynamique : le type est déduit de la valeur et peut changer. La différence visible est le $ obligatoire en PHP, et l’absence de mot-clé comme let ou const.

<?php
$name = "Ti-Jean";
echo "Bonjour " . $name; // concaténation avec un point
echo "Bonjour {$name}"; // interpolation (guillemets doubles)

En JavaScript :

let name = "Ti-Jean";
console.log("Bonjour " + name); // concaténation avec un plus
console.log(`Bonjour ${name}`); // gabarit (backticks)

Arithmétique : + - * / % et ** (puissance), comme en JavaScript.

Comparaison :

<?php
var_dump(5 == "5"); // true : compare la valeur
var_dump(5 === "5"); // false : compare la valeur ET le type

== et === existent dans les deux langages et veulent dire la même chose : == compare après conversion de type, === compare valeur et type. La recommandation est la même qu’en JavaScript : préférez ===.

Logique et coalescence :

<?php
$actif = true && false; // et, ou (||), non (!)
$nom = $entree ?? "anonyme"; // valeur par défaut si $entree est null
<?php
if ($age >= 18) {
echo "Majeur";
} elseif ($age >= 0) {
echo "Mineur";
} else {
echo "Âge invalide";
}

En JavaScript :

if (age >= 18) {
console.log("Majeur");
} else if (age >= 0) { // deux mots
console.log("Mineur");
} else {
console.log("Âge invalide");
}

L’opérateur ternaire et le switch fonctionnent comme en JavaScript :

<?php
$statut = $age >= 18 ? "majeur" : "mineur";
switch ($jour) {
case "samedi":
case "dimanche":
echo "Fin de semaine";
break;
default:
echo "Jour de semaine";
}
Vérification En PHP, quelle est la différence entre == et === ?

== compare seulement les valeurs, avec conversion de type (5 == "5" est vrai). === compare la valeur et le type (5 === "5" est faux). On préfère ===, comme en JavaScript.

<?php
// for
for ($i = 1; $i <= 3; $i++) {
echo "Ligne {$i}";
}
// while
$i = 1;
while ($i <= 3) {
echo "Ligne {$i}";
$i++;
}

La syntaxe for et while est identique à celle de JavaScript (au $ près sur les variables). La boucle foreach, propre au parcours des tableaux, est vue dans les notions avancées.

<?php
// commentaire sur une ligne
# autre façon de commenter une ligne
/* commentaire
sur plusieurs lignes */

// et /* */ sont communs avec JavaScript ; PHP ajoute #.

Quiz. Quelle est la bonne façon d'afficher la valeur de $name dans la page ?

Quiz. Comment concatène-t-on deux chaînes en PHP ?