Vos premiers pas en PHP
- Présentation du PHP
- Fonctions de sortie
- La fonction echo
- La fonction print()
- Conclusion : syntaxe du PHP et chaîne
- Les variables
- Différents types de variable
- Utilisation des variables
- Les opérateurs arithmétiques et logiques
- Opérateurs arithmétiques
- Opérateurs logiques
- Opérateurs relationnels
- Incrémentation et Décrémentation
- Opérateurs d'affectation élargie
- Remarques
- Les conditionnelles
- Les boucles
- La boucle conditionnelle : while
- La boucle inconditionnelle : for
- Présentation du PHP
Le PHP est exécuté côté serveur, il est interprété
c'est-à-dire que le code PHP est traduit en HTML. En effet, le code PHP
n'est pas visible en éditant la source d'une de vos pages, vous n'y verrez
uniquement du HTML. Coder en PHP demande tout de même une certaine maîtrise
du langage HTML car le PHP est obligatoirement mélé à de
l'HTML. Pour pouvoir lancer des pages PHP localement (sur votre ordinateur),
vous devez impérativement disposer d'un serveur (en général
Apache, sinon IIS, ... font aussi l'affaire) et installer PHP mais je ne vais
pas entrer dans les détails, le plus simple pour les novices est de se
tourner vers un logiciel qui se charge d'installer tout ceci : EasyPHP que vous
pouvez télécharger à cette adresse : http://www.easyphp.org/.
PHP c'est avant tout un langage vous proposant plus de 2000 fonctions des plus
diverses car il existe des librairies vous permettant de créer des images,
travailler/créer des fichiers .pdf, travailler avec flash, ... (mais
toutes ces librairies ne sont forcément disponibles sur tous les serveurs
donc renseignez vous auprès de votre hébergeur) ! En général,
PHP est principalement utilisé pour aller chercher des informations
dans une base de données MySQL.
- Fonctions de sortie
Dans les exemples ci-dessous nous allons créer dynamiquement du HTML.
Pour ça, il va falloir faire des sorties HTML en PHP. Pour cela 2 fonctions
simples : echo et print().
La fontion echo
Je vais représenter les premiers exemples sous forme de tableau. La première
colonne correspondra au code PHP (avec de l'HTML éventuellement), la deuxième
à ce qui apparaît dans votre navigateur à l'écran et
enfin la troisième au code que vous obtenez si vous faîtes "afficher
la source".
| Source de l'exemple |
<html>
<head>
<title>Titre</title>
</head>
<body>
<?php
echo "Hello World !";
?>
</body>
</html>
|
|
| Résultat affiché |
Hello World !
|
|
| Interprétation |
<html>
<head>
<title>Titre</title>
</head>
<body>
Hello World !</body>
</html>
|
|
Vous remarquerez que pour imprimer du texte vous devez mettre votre chaîne
entre guillemets.
La fonction print()
La fonction print() a le même but que la fonction echo. Cependant, comme
vous pourrez le voir dans l'exemple suivant, seule la syntaxe de cette fonction
est différente. Personnellement, je préfère utiliser la fonction
echo à la fonction print() qui vous posera certainement des problèmes
lorsque vous travaillerez avec des tableaux, mais nous verrons cela plus tard.
| Source de l'exemple |
<?php
print ("Hello World !");
?>
|
|
| Résultat affiché |
Hello World !
|
|
Conclusion : syntaxe du PHP et chaîne
Vous avez sans doute remarqué dans les exemples ci-dessus que les lignes de
codes PHP se terminent toutes par un point-virgule (;). Cependant, il existe des
lignes de code PHP qui ne nécessitent aucun point-virgule à la fin
comme les balises ouvrante et fermante, les lignes commençant ou terminant
par une accolade (ouvrante ou fermante), c'est le cas des boucles et conditionnelles.
Les balises qui indiquent le début et la fin du code PHP sont :
_ <?php votre code PHP ?> , celles qui sont les plus utilisées
_ <? votre code PHP ?> , appelées balises courtes que je déconseille
fortement car elles ne sont pas acceptées par tous les hébergeurs
_ <script language="PHP"> votre code PHP </script> , très
peu utilisé parce que longue à écrire
Afin de vous apprendre à écrire proprement du code PHP (ce qui vous
facilitera le débugage de vos scripts), on prendra pour habitude de mettre
les chaînes entre guillemets même s'il existe d'autres méthodes
tout aussi correctes mais posent souvent des problèmes lors de la réalisation
de scripts beaucoup plus complexes. Ce qui aura pour effet que lorsque vous aurez besoin
d'imprimer un guillemet vous devrez le faire précéder d'un \.
Exemple :
<?php
echo "\"Hypertext PreProcessor\"";
?>
Affichera dans votre navigateur le texte suivant : "Hypertext PreProcessor".
Mais vous auriez pu faire de même avec la fonction print() :
<?php
print("\"Hypertext PreProcessor\"");
?>
PHP possède aussi un but intéressant c'est de pouvoir mêler
aisément PHP et HTML :
Exemple :
Affichage de "bonjour" en gras :
<?php
echo "<b>bonjour</b>";
?>
Affichage d'une image :
<?php
echo "<img src=\"image.gif\">";
?>
- Les variables
Différents types de variable
Il existe une multitude de types de variable, à savoir :
- les nombres entiers (positifs ou négatifs), Exemple : 5, -1080
- les nombres flottants (positifs ou négatifs), Exemple : 2.17, -127.
Dans ce type de représentation, c'est le point qui
est utilisé à la place de la virgule (nous vient des pays anglophones)
- les booléens qui ne peuvent prendre que deux valeurs true (vrai) ou false (faux)
- les tableaux
- les ressources, on utilise une variable pour ouvrir une base de données,
ou créer une image dans ce cas la variable est une ressource qui nous
permettra ensuite de savoir par exemple si la connexion à une base de
données à échouée ou non !
- les chaînes de caractères qu'on ne vous présente même plus
Là encore un des avantages du PHP, pour ceux qui ont déjà
programmé en C/C++, Java ..., vous n'avez pas besoin de déclarer le type
de la variable à utiliser (PHP n'est pas typé), ce qui avantage
le développeur mais se fait certainement au détriment du serveur !
Utilisation des variables
Le référent à une variable (son nom) doit être précédé
d'un dollar ($). Attention à bien respecter la casse car ces deux variables
sont différentes : $x et $X. Le référent doit impérativement
commencer par une lettre mais les autres caractères composant le nom de
la variable peut ensuite contenir des chiffres et même le caractère
souligné (_).
Affectation d'une valeur à une variable
C'est l'opérateur égal (=) qui permet d'affecter une valeur à
une variable. Voyez les exemples suivants, où on affecte à différentes
variables des valeurs qu'on imprime par la suite :
Exemples :
<?php
$a = "Bonjour";
$b = 9;
$c = 12.1;
$d = "<a href=\"http://www.progotop.net\" target=\"_blank\">ProgOtoP.Net</a>";
echo $a;
echo $b;
echo $c;
echo $d;
?>
Essayer les exemples ci-dessus sur votre machine ou chez votre hébergeur !
Passons maintenant à des exemples plus complexes :
<?php
$pseudo = "Robert";
echo "Bienvenue $pseudo";
?>
Le code ci-dessus est juste, cependant vous aurez certainement envie d'utiliser
cette méthode d'impression lorsque vous travaillerez avec des tableaux
ce qui vous conduira à une erreur ! C'est pourquoi, je vous conseille fortement
d'utiliser la concaténation (rassemblement de deux chaînes) qui
est une bonne habitude à prendre car la concaténation s'applique
aussi bien aux tableaux qu'aux variables. Le code ci-dessus pourrait être écrit ainsi :
<?php
$pseudo = "Robert";
echo "Bienvenue " .$pseudo;
?>
- Les opérateurs arithmétiques et logiques
On peut utiliser des variables pour les comparer, effectuer des opérations
arithmétiques et logiques de base telles que l'addition, la multiplication, le ET logique, le OU
logique, le NON logique, les comparaisons (d'égalité, de supériorité
...).
Opérateurs arithmétiques
Les opérations arithmétiques sont : l'addition, la multiplication,
la soustraction et la division (entière et réelle).
| Opération |
Opérateur PHP |
| Addition |
+ |
| Soustraction |
- |
| Multiplication |
* |
| Division |
/ |
| Modulo |
% |
Opérateurs logiques
| Opération |
Opérateur PHP |
| NON |
! |
| ET |
and |
| ET |
&& |
| OU inclusif |
or |
| OU inclusif |
|| |
| OU exclusif |
xor |
Explications :
Soit deux variables :
$a et $b;
$a || $b ou $a or $b renvoie true si l'un au moins des termes
à la valeur true
$a && $b ou $a and $b renvoie true si les termes sont
tous à la valeur true
!$a renvoie le contraire (négation) de la valeur de $a
$a xor $b renvoie true si et seulement si l'un des termes à la valeur
true
En règle générale, les opérateurs logiques &&
et || sont beaucoup plus utilisés que leur équivalent
respectif and et or
Opérateurs relationnels
Les opérateurs relationnels permettent d'effectuer des comparaisons dans
des conditionnelles par exemple, le résultat ainsi retourné est
un booléen.
| Signification |
Opérateur PHP |
| strictement inférieur à |
< |
| strictement supérieur à |
> |
| inférieur ou égal à |
<= |
| supérieur ou égal à |
>= |
| égal à |
== |
| différent de |
!= |
| Indentique (lorsque les types des variables comparées sont identiques et les valeurs égales) |
=== |
Attention : Ne confondez en aucun
cas l'affectation (=) avec l'opérateur qui renvoie un booléen
sur la comparaison d'égalité de deux variables : égal à (==).
Incrémentation et Décrémentation
Selon la place des signes d'incrémentation ou de décrémentation,
la variable n'aura pas la même valeur.
L'incrémentation :
L'incrémentation est équivalente à ces expressions : $i = $i + 1 ou encore $i += 1
L'expression suivante : ++$i, a pour effet d'incrémenter de 1 la
valeur de i, et sa valeur de est celle de i après incrémentation.
En revanche, lorsque cet opérateur est placé après
son unique opérande, la valeur de l'expression correspondante est celle
de la variable avant incrémentation.
On dit que ++ est :
_ un opérateur de préincrémentation lorsqu'il est
placé à gauche de son opérande
_ un opérateur de postincrémentation lorsqu'il est
placé à droite de son opérande
La décrémentation :
La décrémentation est équivalente à ces expressions : $i = $i - 1 ou encore $i -= 1
L'expression suivante : --$i, a pour effet de décrémenter de 1 la
valeur de i, et sa valeur de est celle de i après décrémentation.
En revanche, lorsque cet opérateur est placé après
son unique opérande, la valeur de l'expression correspondante est celle
de la variable avant décrémentation.
On dit que -- est :
_ un opérateur de prédécrémentation lorsqu'il est
placé à gauche de son opérande
_ un opérateur de postdécrémentation lorsqu'il est
placé à droite de son opérande
Opérateurs d'affectation élargie
Lorsqu'on veut effectuer une opération dont le résultat dépend
de cette même variable, il est plus simple de recourir aux opérateurs
d'affectation élargie.
Exemple :
Au lieu d'écrire ceci : $a = $a + $b;
On peut directement procéder ainsi : $a += $b;
Ce genre d'opérateur est valable pour tous les opérateurs arithmétiques
ainsi que pour l'opérateur de concaténation, par exemple : $a
.= " et bienvenue"; équivaut à $a = $a . " et bienvenue";
| Opération normale |
Opération d'affectation élargie |
| $a = $a + $b |
$a += $b |
| $a = $a - $b |
$a -= $b |
| $a = $a * $b |
$a *= $b |
| $a = $a / $b |
$a /= $b |
| $a = $a % $b |
$a %= $b |
| $a = $a . $b |
$a .= $b |
Remarques
L'affectation (attribution d'une valeur à une variable) correspond à
l'opérateur = alors que l'opérateur de comparaison d'égalité
est == (qui lui renvoie un booléen).
Autre point sur lequel je veux aussi insister, c'est sur l'incrémentation
et la décrémentation, faites effectivement bien attention
à la place de l'opérateur d'incrémentation ou de décrémentation
car ceci changera la valeur de votre variable au cours du fonctionnement de votre
script.
- Les conditionnelles
Les conditionnelles sont très utilisées notamment pour faire
des tests sur des variables de type ressource pour savoir par exemple si une
connexion à une base de données à échouer ou non.
Il est important d'indenter vos scripts, ceci facilite la relecture de votre
code pour vous et pour ceux qui vous reliront (notamment pour vous aider !),
c'est ce que je vais faire dans les exemples suivants.
Je vais introduire maintenant un autre point essentiel dans la compréhension
des sources : ce sont les commentaires. Il ne faut pas hésiter à
en mettre, encore une fois cela vous aidera ainsi que ceux qui vous aideront
peut être à débuger vos scripts.
Un commentaire qui tient sur une seule ligne peut s'écire comme suit :
//ceci est un commentaire ou #ceci est aussi un commentaire
Pour écrire un commentaire qui tient sur plusieurs lignes optez pour :
/*
ceci est un commentaire
multi-lignes
*/
Cas de la conditionnelle la plus simple :
- <?php
- ...
- if ($password == "1234") {
- echo "Votre mot de passe est correct !";
- }
- ...
- ?>
Si la variable chaîne $password a la valeur 1234, alors le message : Votre mot de passe est correct sera affiché !
Conditionnelle si ... alors ... sinon ...
- <?php
- ...
- if ($password == "1234") {
- echo "Mot de passe valide !";
- } else {
- echo "Mot de passe incorrect !";
- }
- ...
- ?>
Si la variable chaîne $password contient 1234 alors on affiche Mot de passe valide sinon on affiche Mot de passe incorrect
Conditionnelle complexe et équivalent
- <?php
- ...
- if ($var == 1) {
- echo "La valeur de var est 1";
- } elseif ($var == 2) {
- echo "La valeur de var est 2";
- } elseif ($var == 3) {
- echo "La valeur de var est 3";
- } else {
- echo "La valeur de var est indéfinie";
- }
- ...
- ?>
Dont l'équivalent est :
- <?php
- ...
- switch ($var) {
- case 1:
- echo "La valeur de var est 1";
- break;
- case 2:
- echo "La valeur de var est 2";
- break;
- case 3:
- echo "La valeur de var est 3";
- break;
- default :
- echo "La valeur de var est indéfinie";
- }
- ...
- ?>
Les deux structures ci-dessus sont équivalentes, à vous de choisir
la structure qui demandera le moins de code. Cependant, n'oubliez pas de mettre
les break; dans le switch parce qu'un cas d'absence de break;
dans chaque cas (case) il effectuera alors tous les cas (case) !
- Les boucles
La boucle conditionnelle : while
La boucle while est énormément utilisé pour extraire des
données d'un tableau issu d'une base de données. Elle était
aussi très utilisée pour parcourir des tableaux avec PHP3 car depuis
la version 4 de PHP, une boucle remplace while car elle est moins contraignante,
il s'agit de foreach dont je ne parlerais pas pour le moment.
Exemple de code :
- <?php
- ...
- $i = 0;
- while ($i < 5) {
- echo "itération numéro ".$i."<br>";
- $i++;
- }
- ...
- ?>
La boucle while, exécutera les instructions qu'elle contient que tant que sa condition est remplie. Ainsi, il
est parfois possible de ne jamais y entrer !
Le code ci-dessous affichera :
itération numéro 0
itération numéro 1
itération numéro 2
itération numéro 3
itération numéro 4
La boucle inconditionnelle : for
Le code ci-dessous affichera la même chose que l'exemple pris pour la
boucle while ! Cependant la boucle while s'utilise en général sur des
variables ou autre dont on ne connaît pas la valeur qui provoquera la fin
d'exécution de la boucle. La boucle for s'utilise uniquement lorsqu'on connait
par avance le nombre d'itérations à effectuer, elle nécessite
une variable qu'on va initialiser à une valeur, comparer cette variable
à une valeur pour savoir si on doit continuer l'itération ou s'arrêter
(la condition), et incrémenter cette variable à chaque itération
d'une certaine valeur (pas forcément 1) !
- <?php
- ...
- for ($i=0; $i<5; $i++) { //tout est sur la même ligne
- echo "itération numéro ".$i."<br>";
- }
- ...
- ?>
|
|