Programmation PHP/Variables
Définition.
En PHP, les variables sont représentées par un signe dollar "$" suivi du nom de la variable, ou d'un underscore "_" pour les constantes (un warning apparait quand ces dernières sont redéfinies).
Le nom est sensible à la casse (par exemple codice_1 est différent de codice_2). Dans tous les cas, les variables doivent commencer par une lettre (a-z, A-Z) :
 $1MaVariable // incorrect
 $MaVariable // correct
 $_MaVariable // correct
 $àéè // correct
 MA_CONSTANTE // correct
 _MA_CONSTANTE // correct
Exemple.
 <?php
 // Initialisation des variables
 $Prenom = 'Romuald';
 $Age = '23 ans';
 $Profession = 'informaticien';
 // Affichage
 echo 'Bonjour ' . $Prenom . ', tu as ' . $Age . ' et ta profession est ' . $Profession . '.';
 // Ce qui affichera sur votre navigateur : Bonjour Romuald, tu as 23 ans et ta profession est informaticien.
 // Une autre manière de faire
 echo "Bonjour $Prenom, tu as $Age et ta profession est $Profession";
 // Ce qui affichera sur votre navigateur : Bonjour Romuald, tu as 23 ans et ta profession est informaticien.
 // Subtilité des " et des '
 echo 'Bonjour $Prenom, tu as $Age et ta profession est $Profession';
 // Ce qui affichera sur votre navigateur : Bonjour $Prenom, tu as $Age et ta profession est $Profession
 // Le contenu d'une chaîne construite avec des " sera interprété par PHP et les variables
 // éventuellement utilisées seront remplacées par leurs valeurs.
Nota bene : une variable accolée à du texte est précédée d'un point. Ce dernier sert à la concaténation et dans le cas présent est surtout utile pour indiquer à l'interpréteur que l'on passe du texte, puis à une variable. On lui évite ainsi un temps de réflexion qu'il aurait si l'on avait écrit :
echo "Bonjour $Prenom, tu as $Age et ta profession est $Profession";
echo 'Hello "World"!';
echo 'Hello \'the\' "World" !';
Here document.
Pour éviter de s'encombrer des caractères d'échappement, il existe aussi les syntaxes "" et "nowdoc" avec l'opérateur "«<". Ex :
$v = 1;
echo «<Test
 'Hello' "World" \\ $v heredoc
Test;
// 'Hello' "World" \ 1 heredoc
echo «<'Test'
 'Hello' "World" \\ $v nowdoc
Test;
// 'Hello' "World" \\ $v nowdoc
heredoc interprète similairement à une chaine entre guillemets et nowdoc entre apostrophes.
Types de variables.
Contrairement à de nombreux langages de programmation, en PHP il ne faut pas prédéclarer une variable mais celle-ci est typée lors de son instanciation.
$x = 1; // indique implicitement que $x est un entier
$mot = 'test'; // indique que $mot est une chaîne de caractères
En PHP il y a donc quatre types de :
De plus, on trouve les types complexes :
Pratique sur les nombres flottant.
Exemple :
Lors de la division de nombres à virgules flottantes, on peut facilement avoir une imprécision à cause du mode de leur stockage en mémoire :
donne :
Variables dynamiques.
Il est pratique d'avoir parfois des noms de variables qui sont variables. C'est-à-dire un nom de variable qui est affecté et utilisé dynamiquement.
La valeur codice_3 est affectée à une variable classique appelée codice_4 avec l'instruction suivante :
 <?php
 $a = "MaVariable";
Une variable dynamique, ou variable variable, utilise le nom d'une autre variable. Dans l'exemple ci-dessous, la valeur codice_5 est affectée à la variable dynamique codice_6, c'est-à-dire à une variable dont le nom est la valeur codice_7 de la variable codice_4. La variable classique codice_4 contient la valeur codice_3 donc le code :
 <?php
 $$a = "bonjour";
est équivalent à : codice_11
Attention : cette syntaxe est inutile pour les fonctions. Ex :
 <?php
 function direBonjour()
 echo "Bonjour !";
 $a = 'direBonjour';
 $a();
Variable de classe variable.
Les variables de classe seront introduites en détails dans un chapitre ultérieur. Mais il faut savoir que leurs noms peuvent aussi être variables avec ces notations :
 echo $this->$myVariableName;
 echo $this->{'variable'.$i};
 echo self::$myStaticVariableName;
 echo constant(self::class.'::'.strtoupper($myConstantName));
Autres variables.
Les variables présentées dans ce paragraphe sont des tableaux indicés par le nom de la valeur accédée (une chaîne de caractère).
Variables de sessions.
Lors de la création d'une session (codice_12), il est possible d'enregistrer des variables (par codice_13 ).
On peut aussi utiliser le tableau codice_14 pour créer et modifier une variable de session (par exemple : codice_15 )
Il est également possible de supprimer les sessions courantes dans le code PHP en utilisant la fonction codice_16. La destruction de la session en cours peut aussi se faire par la fermeture du navigateur.
Pour supprimer une variable de session sans supprimer la session entière, il suffit d'utiliser la fonction codice_17.
Variables de cookie.
Le tableau codice_18 permet de gérer les cookies (définis avec codice_19).
Ces cookies sont d'une très grande importance mais sont limités à 20 dans la configuration par défaut de PHP.
Variables de requêtes.
$_REQUEST est un tableau associatif constitué du contenu des variables $_GET, $_POST, $_COOKIE.
Variables de fichiers.
Lors d'un téléchargement de fichiers vers le serveur, une variable est assignée aux données de ce fichier. Il s'agit de codice_20. Elle permet de récupérer le nom du fichier envoyé (exemple : codice_21), le nom du fichier temporaire où PHP a copié les données et où il est donc possible de les lire (exemple: codice_22).
Exemple :
 $_FILES['nom_fichier']
Variables mixtes.
Le mot clé codice_23 permet de définir une .
Variables de serveurs.
$_SERVER permet d'obtenir des renseignements sous forme d'un tableau sur le serveur.
Détection du protocole.
Pour déterminer si l'utilisateur se connecte en HTTP ou HTTPS à partir de la superglobale codice_63 :
Si ces variables renvoient les caractéristiques HTTP en connexion HTTPS, c'est qu'il faut activer SSL pour le site.
Tester les types.
Plusieurs fonctions permettent de déterminer les types des objets.
Soit une variable $v :
Conversions.
En PHP, il n'y a pas de de variable selon un type figé. Pour le forcer, il faut donc utiliser les fonctions suivantes, ou un (vers un type entre parenthèses).
Soit une variable $v, et $s un séparateur :
De plus, il est possible de réaliser un en préfixant la variable avec le type entre parenthèses. Exemple :
$a = 1;
$b = (bool) $a;
print gettype($a); // integer
print gettype($b); // boolean
URLs.
Tous les caractères Unicode n'étant pas admis dans les URL, on utilisera codice_91 pour convertir une chaine dans ce format.
De plus, si l'URL contient des paramètres HTTP, codice_92 permet, en plus de l'encodage, de les générer à partir d'un tableau associatif.

Programmation GTK2 en Pascal/GtkMenuItem