6 juin 2024

Introduction à PHP

PHP: Hypertext Preprocessor, plus connu sous son sigle PHP, est un langage de programmation libre, principalement utilisé pour produire des pages Web dynamiques via un serveur HTTP. PHP est un langage impératif orienté objet. Il s'agit d'un langage de script interprété côté serveur.

Il est considéré comme une des bases de la création de sites web dits dynamiques, mais également des applications web. PHP a permis de créer un grand nombre de sites web célèbres, comme Facebook, Wikipédia, etc.

Même s'il peut être utilisé en ligne de commande, PHP est principalement associé à un serveur Web utilisant le protocole HTTP dans le cadre d'une architecture client/serveur.

Un serveur Web en architecture trois tiers est composé d'un système d'exploitation, un serveur HTTP, un langage serveur et enfin un système de gestion de base de données (SGBD), cela constituant une plate-forme.

Dans le cas de PHP comme langage serveur, les combinaisons les plus courantes sont celles d'une plateforme LAMP (pour Linux Apache MySQL PHP) et WAMP (Windows Apache MySQL PHP). Une plate-forme WAMP s'installe généralement par le biais d'un seul logiciel qui intègre Apache, MySQL et PHP, par exemple EasyPHP et WampServer. Il existe le même type de logiciels pour les plates-formes MAMP (Mac OS Apache MySQL PHP), à l'exemple du logiciel MAMP.

# 1 La structure


PHP est un langage facile à prendre en main au départ, mais il se complexifie dans une utilisation plus poussée. Nous resterons sur les bases du langage pour cette formation.
— index.php —

<html>
<head>
<title>Exemple</title>
</head>
<body>
<?php
echo "Premier script PHP";
?>
</body>
</html>


— Le php doit obligatoirement être ouvert par une balise <?php et fermé par la balise ?>

C'est comme ça que l'on différencie le PHP d'un autre langage. Il faut également savoir que l'on peut introduire du HTML / CSS dans du PHP, c'est une façon de développer qui est utilisé pour retourner des éléments directement sur notre page web :

<?php echo “<a href='exemple.com'>Mon lien</a>”; ?>


Ce bout de code retournera un lien cliquable et pourtant, tout est compris dans nos balises PHP.

Détaillons le tout :

<?php = balise d'ouverture d'un code PHP.

echo = Affiche un contenu.

; = Très important ! Il ne faut jamais oublier le “ ; ” à chaque fin de bout de code, sinon vous aurez des erreurs !

?> = Balise de fermeture PHP

# Les variables


PHP intègre un système de variable comme beaucoup d'autre langage de programmation. C'est-à-dire que l'on peut utiliser une instance n'importe où quand on appelle cette variable ! Regardons ça :

<?php
$ma_Variable = “bonjour”; // Je déclare ma variable avec le sigle « $ »
echo $ma_Variable; ?>


Ce script nous retournera « bonjour », car nous appelons la variable $ma_Variable dans un “echo” qui je rappelle sert à afficher du contenu directement sur la page web.

Une variable peut être de plusieurs types :

$a_bool = TRUE; // un booléen retourne seulement TRUE ou FALSE (vrai ou faux)

$a_str = "foo"; // une chaîne de caractères

$a_str2 = 'foo'; // une chaîne de caractères

$an_int = 12; // un entier

$an_float = 12.5 ; // un nombre à virgule flottante

Je n'ai pas parlé d'assignation aux variables, c'est un moyen de donner une valeur à nos variables. Avec le sigle “=” on lui donne la valeur qui succède ce signe :

<?php $nom = "arkunis"; ?>


Dans cet exemple, on donne la valeur arkunis à la variable $nom. Donc, en partant de ce principe, nous pourrions additionner des variables entres elles si elles sont des numériques (nombre, chiffre, etc.) regardons ça :

<?php
$chiffre1 = 2 ;
$chiffre2 = 2 ;
echo $chiffre1 + $chiffre2;
?>[


Le résultat serait bien évidemment 4. Ça fonctionne également avec des nombres entiers qui s'additionneraient avec des flottants. (2 + 2.4 = 4.4). On pourrait croire qu'on ne peut pas additionner des chaînes de caractère, et bien si, seulement si celles-ci sont des chiffres !

<?php
$var1 = "2.3";
$var2 = "2";
echo $var1 + $var2; // Résultat 4.3
?>


EXEMPLE NOM RÉSULTAT -$a Négation Opposé de $a.

$a + $b Addition Somme de $a et $b.

$a - $b Soustraction Différence de $a et $b.

$a * $b Multiplication Produit de $a et $b.

$a / $b Division Quotient de $a par $b.

$a % $b Modulus Reste de la division entière de $a par $b.

$a ** $b Exponentielle Résultat de l'élévation de $a à la puissance $b.

L'opérateur de division / retourne une valeur à virgule flottante. Pour la division entière, il faut utiliser la fonction intdiv

Mais en revanche, on ne peut pas additionner du texte ensemble.

<?php
$var1 = "Bonjour";
$var2 = "Arkunis";
echo $var1 + $var2; // Résultat retournant une erreur
?>


Pour « additionner » du texte ensemble, il faut concaténer ceci avec un point.

<?php
$var1 = "Bonjour";
$var2 = "Arkunis";
echo $var1 . $var2; // Résultat BonjourArkunis
?>


En effet, on peut constater que notre texte est collé, nous n'avons pas spécifié d'espace entre nos variables, par conséquent, elles sont collées.

<?php
$var1 = "Bonjour";
$var2 = "Arkunis";
echo $var1 .' '. $var2; // Résultat Bonjour Arkunis
?>


En ajoutant un espace comme ci-dessus, on aura bien notre texte affiché correctement !

Regardons un autre exemple d'utilisation des variables (ce sont les nerfs de la guerre pour PHP).

<?php
$var = 10 ;
echo “Je possède $var pommes”;
?>


Dans cet exemple, on appelle notre variable directement dans notre « echo », le résultat retourné sera bien : « Je possède 10 pommes ».

Une variable reste malléable, on pourrait lui ajouter des mots grâce à une autre façon de concaténer nos variables :

<?php
$var = "10";
$var .= " verres";
echo "Je possède $var"; // Je possède 10 verres
?>


Cette méthode ne fonctionne que si votre « echo » se trouve à la fin de toutes vos variables. Dans l'hypothèse ou nous aurions mis l'echo avant le second $var, le résultat ne serai pas le même :

<?php
$var = "10";
echo "Je possède $var"; // Je possède 10
$var .= " verres";
?>


# 3 Les autres type de variable


Nos variables peuvent prendre plusieurs types, comme vu précédemment, mais ça ne s'arrête pas là. En effet, les variables peuvent être un tableau :

<?php
$var = [10, 11];
var_dump($var); // var_dump est une commande dites de « débug », dans notre cas elle affichera toutes les lignes de notre tableau.
?>


Il existe également des tableaux associatifs (on défini un nom qui appellera une valeur) :

<?php
$var = ["Chiffre1"=>10, "Chiffre2"=>11];
var_dump($var['Chiffre2']); // On donne comme nom Chiffre2 pour afficher 11
?>


Une variable peut également prendre une valeur dite « NULL »

<?php
$var = null;
echo $var; // N'affichera rien, car notre variable est égale à NULL (rien).
?>


Il est possible mettre un tableau dans un tableau $var = ["Chiffres"=>["Chiffre1"=>1, "Chiffre2"=>2]];

Une constante est un identifiant (un nom) qui représente une valeur simple. Comme son nom le suggère, cette valeur ne peut jamais être modifiée durant l'exécution du script. Par défaut, le nom d'une constante est sensible à la casse. Par convention, les constantes sont toujours en majuscules.

<?php
define("FOO","Hello");
echo FOO . "World"; // Le résultat sera : HelloWorld
?>


# 4 Les opérateurs logique


EXEMPLE NOM RÉSULTAT ! $a Not (Non) TRUE si $a n'est pas TRUE.

$a && $b And (Et) TRUE si $a ET $b sont TRUE.

$a || $b Or (Ou) TRUE si $a OU $b est TRUE.

$a and $b And (Et) TRUE si $a ET $b valent TRUE.

$a xor $b XOR TRUE si $a OU $b est TRUE, mais pas les deux en même temps.

$a or $b Or (Ou) TRUE si $a OU $b valent TRUE.

Regardons ça en exemple :

<?php
$a=true;
$b=false;
var_dump($a && $b); // Nous retourne un booléen (false)
var_dump($a or $b); // Nous retourne un booléen (true)
var_dump($a xor $a); // Nous retourne un booléen (false)
//Les réponses des deux lignes ci-après sont différentes à cause de la priorité des opérateurs.
var_dump($a || $b and $b); // Nous retourne un booléen (false)
var_dump($a || $b && $b); // Nous retourne un booléen (true)
?>


# 5 Les opérateurs de comparaison


EXEMPLE NOM RÉSULTAT $a == $b Egal TRUE si $a est égal à $b après le transtypage.

$a === $b Identique TRUE si $a est égal à $b et qu'ils sont de même type.

$a != $b Différent TRUE si $a est différent de $b après le transtypage.

$a <> $b Différent TRUE si $a est différent de $b après le transtypage.

$a !== $b Différent TRUE si $a est différent de $b ou bien s'ils ne sont pas du même type.

$a < $b Plus petit TRUE si $a est strictement plus petit que $b.

$a > $b Plus grand TRUE si $a est strictement plus grand que $b.

$a <= $b Inférieur ou égal TRUE si $a est plus petit ou égal à $b.

$a >= $b Supérieur ou égal TRUE si $a est plus grand ou égal à $b.

<?php
$a=1;
$b='1';
var_dump($a==$b); // Nous retourne un booléen (true)
var_dump($a===$b); // Nous retourne un booléen (false)
?>


Il existe un dernier opérateur un peu différent :

$a <=> $b Combiné Un entier inférieur, égal ou supérieur à zéro lorsque $a est respectivement inférieur, égal, ou supérieur à $b. Disponible depuis PHP 7.

<?php
var_dump(1<=>1); // Nous retourne un entier (0)
var_dump(1<=>2); // Nous retourne un entier (-1)
var_dump(2<=>1); // Nous retourne un entier (1)
?>


# 6 Les conditions, répétitions et fonctions


Cette partie sera la plus lourde, si vous ne comprenez pas, ce n'est pas grave, le faite de juste l'avoir vu, vous aidera à assimiler plus facilement les informations.

Commençons par le IF :

L'instruction if est une des plus importantes instructions de tous les langages, PHP inclus. Elle permet l'exécution conditionnelle d'une partie de code.

Comme nous l'avons vu dans le paragraphe consacré aux expressions, une expression est convertie en sa valeur booléenne. Si l'expression vaut TRUE, PHP exécutera l'instruction et si elle vaut FALSE, l'instruction sera ignorée.

<?php
$a=5;
$b=3;
if ($a > $b) /* Nous retourne un booléen (true) */ {
echo "a est plus grand que b"; // Vu que c'est vrai, on affiche notre phrase.
}
?>


Souvent, vous voulez exécuter une instruction si une condition est remplie, et une autre instruction si cette condition n'est pas remplie. C'est à cela que sert ELSE. ELSE fonctionne après un if et exécute les instructions correspondantes au cas où l'expression du if serait FALSE. Dans l'exemple suivant, ce bout de code affiche a est plus grand que b si la variable $a est plus grande que la variable $b, et a est plus petit que b sinon :

<?php
$a=2;
$b=3;
if ($a > $b) /* Nous retourne un booléen (false) */ {
echo "a est plus grand que b";
} else {
echo "a est plus petit que b"; // Vu que c'est faux, on affiche notre phrase.
}
?>


Il reste encore une instruction dans le IF, le ELSEIF, celui-ci aura pour but d'exécuter une autre condition si le IF ne correspond pas avant d'aller dans le ELSE :

<?php
$a=5;
$a=5;
if ($a > $b) {
echo "a est plus grand que b";
} elseif ($a == $b) /* Nous retourne un booléen (true) */ {
echo "a est égal à b"; // Vu que c'est vrai, on affiche notre phrase.
} else {
echo "a est plus petit que b";
}
?>


Et pour finir avec les conditions, il existe ce qu'on appelle un SWITCH, on entrera différents cas, qui seront vérifiés dans l'ordre et si aucune condition ne remplie un des cas, alors on aura un cas par défaut qui sera exécuté :

<?php
$i=1;
switch ($i) {
case 0: // Vérifie si le cas retourne true, là non.
echo "i égal 0";
break;
case 1: // Vérifie si le cas retourne true, là oui
echo "i égal 1"; // On affiche ce cas.
break;
case 2: // Vérifie si le cas retourne true, là non
echo "i égal 2";
break;
default:
echo "i n'est ni égal à 2, ni à 1, ni à 0.";
} ?>


Le SWITCH à besoin de cas qui eux-mêmes ont besoin d'un break pour fonctionner correctement, sans le break, notre SWITCH continuera son chemin sans s'arrêter au cas qui nous retournera TRUE. Passons aux répétitions, il existe trois forment de répétition en PHP (qui sont souvent commun à d'autres langages):
  • - 1. While
  • - 2. For
  • - 3. Foreach
1- La signification d'une boucle WHILE est très simple. PHP exécute l'instruction tant que l'expression de la boucle WHILE est évaluée comme TRUE. La valeur de l'expression est vérifiée à chaque début de boucle, et, si la valeur change durant l'exécution de l'instruction, l'exécution ne s'arrêtera qu'à la fin de l'itération. Si l'expression du WHILE est FALSE avant la première itération, l'instruction ne sera jamais exécutée.

<?php
$i = 1; // Essayer avec $i qui vaut 10
while ($i < 10) {
echo $i . " "; // Nous affichera 1 2 3 4 … 10
$i++;
} ?>


Les boucles DO WHILE ressemblent beaucoup aux boucles WHILE, mais l'expression est testée à la fin de chaque itération plutôt qu'au début. La principale différence par rapport à la boucle WHILE est que la première itération de la boucle DO WHILE est toujours exécutée

<?php
$i = 1; //Essayer avec $i qui vaut 10
do {
echo $i . " "; //Nous affichera 1 2 3 4 … 10
$i++;
} while ($i < 10);
?>


2- Les boucles FOR sont très utilisé quand on connaît déjà le nombre de fois où l'on va devoir itérer. for (expr1; expr2; expr3) commandes La première expression (expr1) est évaluée (exécutée), quoi qu'il arrive au début de la boucle. Au début de chaque itération, l'expression (expr2) est évaluée. Si l'évaluation vaut TRUE, la boucle continue et les commandes sont exécutées. Si l'évaluation vaut FALSE, l'exécution de la boucle s'arrête. À la fin de chaque itération, l'expression expr3 est évaluée (exécutée)

<?php
for ($i = 1; $i < 10; $i++) {
echo $i . " ";
}
?>


3- La structure de langage FOREACH fournit une façon simple de parcourir des tableaux. FOREACH ne fonctionne que pour les tableaux et les objets, et émettra une erreur si vous tentez de l'utiliser sur une variable de type différent ou une variable non initialisée. La première forme passe en revue le tableau array_expression. À chaque itération, la valeur de l'élément courant est assignée à $value et le pointeur interne de tableau est avancé d'un élément.

<?php foreach (array_expression as $value){ /* commandes */ } ?>


La seconde forme assignera en plus la clé de l'élément courant à la variable $key à chaque itération.

<?php foreach (array_expression as $key => $value){ /* commandes */ } ?>


<?php
$arr = array(1, 2, 3, 4); // Ajouter des éléments au tableau
foreach ($arr as $valeur) {
echo $valeur . "n"; // Retournera : 1 2 3 4
}
echo "n";
foreach ($arr as $cle => $valeur) {
echo '$arr[' . $cle . "] = " . $valeur . "n"; // Retournera : $arr[0] = 1, $arr[0] = 2 ...
}
?>


Le dernier élément que l'on va aborder, ce sont les fonctions, elles sont très souvent utilisées pour créer un automatisme que l'on peut rappeler partout sans devoir retaper le code complet :

<?php
function deux(){
echo 2;
}
deux(); // On appel notre fonction, ça nous retournera « 2 ».
deux(); // On appel une nouvelle fois notre fonction, ça nous retournera également « 2 ».
?>


Dans les fonctions, on peut définir des arguments, ce sont des informations qui peuvent être passées à une fonction, dont chaque expression est séparée par une virgule. Les arguments seront évalués depuis la gauche vers la droite :

<?php
function deux($arg_1) {
echo $arg_1;
}
deux(3); /* On appel notre fonction en spécifiant une valeur a l'argument, ça nous retournera « 3 ». */
deux("Bonjour"); /* On appel notre fonction en spécifiant une valeur a l'argument, ça nous retournera « Bonjour ». */
?>


On peut définir des valeurs par défaut à nos arguments, pour cela, il faut ajouter un = suivi de la valeur choisie :

<?php
function deux($arg = 10) {
echo $arg;
} deux(); // Affichera 10 par défaut
deux(100); // Affichera 100
?>


Vous avez terminé cette formation ! J'espère que ça n'a pas été trop éprouvant pour vous et que vous avez appris des choses !

Mots clés:

php intro

Cours Du Dev

Recevez les dernières formations disponibles en vous inscrivant à la newsletter

Créé par arkunis