Un langage informatique est surtout utile pour stocker temporairement différents types d'informations pour réaliser des opérations et traitements.
Durant l’exécution de votre script, vous allez devoir stocker dans la mémoire du serveur des informations pour les traiter, les comparer,
les modifier, les envoyer au client, dans une base de données...
C'est le cœur de tout système informatique.
Une fois votre script terminé, le moteur PHP libère l'ensemble des espaces mémoires réservés et donc toutes les variables disparaissent. Nous verrons plus tard comment faire pour les garder en mémoire quelques temps (Base de données, Session, Cookies, Fichiers).
La mémoire d'un serveur est comme un immense parking avec de nombreuse places de stationnement disponibles ou occupées.
Pour éviter d'utiliser toute la mémoire du serveur lors de l'utilisation de votre programme,
le script va réserver de la mémoire en fonction des besoins de stockage.
Pour cela, il faut réserver et vérouiller une plage d'adresses mémoire (nombres de places de stationnement).
Il faut donc savoir à l'avance le nombre de places que l'on aura besoin pour stocker un type d'information.
Exemple "imagé" de réservation d'espace mémoire en fonction du type de valeur :
Comme il serait trop compliqué d'indiquer des adresses mémoires pour chaque besoin, les langages informatiques permettent de réserver des espaces mémoires avec de simples mots (variables) souvent préfixés d'un caractère spécial (le signe '$' pour PHP : $prenom) ou avec une déclaration par un mot clé ('var' en JS : var prenom).
Dans certains langages très structurés comme C, JAVA... il faut obligatoirement indiquer le type d'information que la variable va contenir (nombre de places de parking). Elle ne pourra ensuite que contenir ce type de valeur sous peine de générer une erreur.
La force de PHP (qui peut aussi être une faiblesse), c'est qu'il n'est pas du tout nécessaire d'indiquer ce que va contenir une variable (typage).
Vous n’êtes même pas obligé de la déclarer en avance (a priori) et peut être créée à la volée quand vous allez en avoir besoin dans votre script.
Quand vous avez besoin de stocker une information en mémoire vous déclarez une variable $maVariable;
et vous ajoutez la valeur
dedans $maVariable = 'mon texte';
.
PHP va détecter automatiquement le type de valeur que vous allez affecter et faire la réservation automatique
de l'espace mémoire nécessaire (ça c'est vraiment top !).
C'est ce que l'on appelle le transtypage automatique.
PHP adapte en temps réel le typage de la variable en fonction de la valeur affectée.
Le typage peut changer plusieurs fois durant le cycle de vie de la variable.
Pour en savoir plus sur le transtypage automatique de PHP c'est ici :
https://www.php.net/manual/fr/language.types.type-juggling.php
Pour déclarer une variable en PHP on utilise le préfixe '$'
suivit d'un nom (sans espace).
$maVariable
$foo
,
$Foo
et $FOO
sont des variables différentes pour PHP.
Pour affecter une valeur à une variable PHP on utilise le signe '='
suivit de la valeur à ajouter.
$maVariable = 'ma valeur' ;
Bien sur vous pouvez toujours forcer un typage de la donnée pour une variable à l'aide de l'instruction
settype()
Voici une liste des types qu'une variable PHP peut posséder.
[Type Bool] $variable = true; //Assigne la valeur TRUE ou FALSE
[Type Int] $variable = 1234; //Assigne un nombre décimal
[Type Float] $variable = 1.23456789; //Assigne un nombre à virgule flottante
[Type String] $variable = 'chaîne simple'; //Assigne une chaîne de caractères
[Type Array] $variable = array('case1' => 'hello','case2' => 'world'); //Assigne un tableau
[Type Objet] $variable = new client(); //Assigne un objet de type client
[Type Ressource] $ressource; //Une ressource représente un fichier ouvert, une connexion à une base de données, une image, etc.,
[Type NULL] $variable = NULL; //Représente une variable sans valeur. NULL est la seule valeur possible du type null.
Il est parfois intéressant de vérifier ou de comparer le type d'une ou plusieurs variables avant de faire un traitement.
Pour connaître le type d'une variable on utilise la fonction «gettype() » :
https://www.php.net/manual/fr/types.comparisons.php
Liste des opérateurs de comparaison de type :
https://www.php.net/manual/fr/types.comparisons.php
Affiche dans le navigateur la chaine de caractères placée entre les simples cotes sans interpréter le code PHP.
<?php echo 'monTexte'; ?>
Si vous avez besoin d'afficher le contenu d'une variable PHP dans un texte
alors il faut placer votre chaine de caractères entre des doubles cotes.
La fonction echo()
va alors interpreter les variables PHP.
Le contenu de la variable $maVariable
sera donc affichée dans le texte.
<?php $maVariable = 'Hello word !';
echo "mon texte : $maVariable"; ?>
echo
dispose aussi d'une version courte, où vous pouvez faire suivre la balise PHP ouvrante d'un signe égal (=)
.
Les instructions suivantes sont équivalentes :
<?php echo 'mon texte';?>
Sans l'instruction "echo"
.
<?='mon texte';?>
print_r($maVariable);
Pour affiche les informations structurées d'une variable, y compris son type et sa valeur
il faut utiliser la fonction var_dump().
Les tableaux et les objets sont explorés récursivement, avec des indentations, pour mettre en valeur leur structure.
var_dump($maVariable);
La fonction var_dump()
est idéal pour le débugage en PHP en affichant tout ce qui se passe dans
un tableau, objet...
Toutes les infos sur var_dump ici : https://www.php.net/manual/fr/function.var-dump.php
Exercice 1 : Afficher une variable PHP contenant le chiffre 43 en utilisant var_dump().
Exercice 2 : Afficher une variable PHP contenant un tableau de prénoms.
Exercice 3 : quelles variables ont un nom qui n'est pas valide.
$foo, $_foo, $fo_o, $fo-o, $FOO, $foo!, $2foo, $foo2
Exercice 4 : Afficher une variable PHP contenant un tableau de prénoms.
Exercice 5 : Completer le code ci-dessous pour calculer le volume d'une piece.
<?php
$largeur = 10;
$hauteur = 15;
$profondeur = 5;
$volume = //ecrire votre code ici;
echo 'Le volume est de '.$volume.' m3.';
?>
Exercice 6 : Completer le code ci-dessous pour calculer une réduction sur un prix.
<?php
$prix = 156;
$reduction = 25; //Reduction en pourcentage
$newPrice = //ecrire votre code ici
echo 'Ancien prix :' //completer la ligne pour affiche l'ancien prix ici
echo 'Nouveau prix :'.$newPrice.' €.';
?>