SPARQL Protocol and RDF Query Language/Travail pratique/PHP les variables

Leçons de niveau 15
Une page de Wikiversité, la communauté pédagogique libre.
Après ce TP, vous saurez :
  • Déclarer et assigner des variables PHP
  • Utiliser des variables pour créer une page Web dynamique
Durée : 2 heures
Matériel :
  • un serveur Web Linux avec PHP.
Début de la boite de navigation du travail pratique
Les variables
Image logo représentative de la faculté
T.P. no 8
Leçon : SPARQL Protocol and RDF Query Language

TP de niveau 15.

Précédent :Faire un serveur SPARQL
Suivant :PHP les formulaires
En raison de limitations techniques, la typographie souhaitable du titre, « Travail pratique : Les variables
SPARQL Protocol and RDF Query Language/Travail pratique/PHP les variables
 », n'a pu être restituée correctement ci-dessus.

Introduction[modifier | modifier le wikicode]

Dans ce TP, nous allons utiliser les variables de PHP.

Ce TP est le premier de 4 TP qui vous permettront de vous mettre à niveau en PHP pour aborder, ensuite, les bases de données.

À savoir avant de commencer[modifier | modifier le wikicode]

Les variables dans PHP[modifier | modifier le wikicode]

$ devant une chaîne de caractères dans PHP signifie qu’il s'agit d'une variable. On la nomme comme on veut, mais elle doit respecter trois conditions :

  • jamais d'accent dans un nom de variable
  • jamais d'espace dans un nom de variable
  • une variable ne commence pas par un chiffre

Une variable PHP est faiblement typée. Cela signifie qu'elle peut prendre les types suivant alternativement.

Les types des variables :

  • string : chaîne de caractères
  • integer : nombre entier, double
  • bool : booléen, ce qui signifie logique binaire, vrai ou faux
  • float : nombre réel
  • array : tableau
  • object : objet


Syntaxe des variables :

<?php
$nom='Mickaël';
$age=17;
$gars=true;
$taille=1.75;
?>

Nous constatons que :

  • Toutes les instructions se terminent par un point virgule.
  • Seule la variable string exige les guillemets (simples ou doubles)
  • La variable booléenne prend la valeur true, sans guillemets ; elle a pour contraire false.
  • Le nombre réel prend un point à l'anglo-saxonne et non une virgule.


Affichage dans PHP[modifier | modifier le wikicode]

Maintenant, affichons les variables grâce à la commande echo, dans un environnement HTML :

<?php
echo '<p>Bonjour à tous.<br />
Mon vrai nom n\'est pas Toto.<br />
Mon vrai nom est '.$nom. '<br />
J\'ai '.$age.' ans et je mesure '.$taille. 'm.<br />
Et comme mon nom l\'indique, je suis ';
if ($gars == true){
	echo 'un garçon.</p>';
}else{
	echo 'une fille. </p>';
}
?>

Dans notre exemple :

  • Il y a deux instructions 'affiche' : une automatique, et une conditionnelle.
  • On retourne à la ligne au sein de l’affichage grâce à la balise <br />.
  • Les apostrophes dans le texte ont été neutralisées en plaçant \ devant chacune d'elle pour qu’elles ne soient pas considérées comme la fin de la chaîne de caractères.
  • L'affichage du contenu de la variable se fait automatiquement, en mettant la variable nue dans le code.
  • Vous remarquerez que le point sert à concaténer le texte (juxtaposer du texte).
  • Il vous faut gérer les espaces à l’affichage au sein des guillemets. Ici, la coloration syntaxique devient indispensable dans votre éditeur.
  • C'est toujours au niveau du code HTML que se gèrent les retours à la ligne de l’affichage (éléments <br />, <p></p> ou autres). Les retours à la ligne que vous faites spontanément dans votre code PHP après chaque instruction ne sont que des retours à la ligne à destination du programmeur pour une meilleure lisibilité de son code.

Guillemets ou apostrophes ?[modifier | modifier le wikicode]

Prenez l'habitude de savoir à quel niveau vous êtes :

  • au niveau du code PHP,
  • ou bien au niveau du code HTML, qui aboutit à un affichage.

Vous trouverez bien pratique de savoir que les guillemets "" (contrairement aux guillemets simples ou apostrophes) permettent ceci en PHP :

<?php
$age=18;
//Ceci affichera directement
//J’ai {{unité|18|ans}}.
echo "J’ai $age ans.";
?>

Vous allez donc trouver étrange d’utiliser les guillemets simples pour PHP, puisque l'exemple ci-dessus règle d'un seul coup l'interprétation directe de la variable et le problème de l'apostrophe de "J’ai"...


Pourtant, vous devrez procéder de façon plus rigoureuse si vous êtes amené à continuer avec PHP. Aussi, merci d'adopter la convention suivante pour tous les TP :

  • Quand vous utilisez le guillemet ' : on est au niveau du PHP.
  • Quand vous utilisez les guillemets " : on est au niveau du HTML.

En adoptant cette convention, vous saurez toujours si vous êtes au niveau du PHP ou bien du HTML.

Exemple : Gestion des apostrophes et des guillemets recommandée

<?php
echo '<div class="contenu">blablabla</div>';
?>


Pour la clarté du code et de vos idées, je conseille donc ceci :

<?php
$age=18;
echo 'J\'ai '.$age.' ans.';
?>

Attention, il faut un caractère d'échappement dans le contenu de mon HTML, entre deux balises, si j’ai une apostrophe dans mon texte.

Exemple :

<?php
echo'<div class="contenu">L\'hirondelle vole à tire d\'ailes vers l\'Europe du Nord : L\'hiver s\'éteint.</div>';
?>

Exercices[modifier | modifier le wikicode]

Utiliser les variables PHP[modifier | modifier le wikicode]

À partir d'une page vierge et sans copier-coller dans Eclipse, vous allez créer une nouvelle page monCV.php qui devra afficher ceci :


Nom Prénom
Adresse
Code postal Ville
Téléphone
Expériences :
Du 06/02/2011 au 06/03/2011 : Ingénieur (BorderCloud)
Conception du backoffice pour les ressources humaines permettant d’agréger les candidatures sur une seule application via la technologie Linked Data.
Mots clés : PHP, SPARQL, HTML


Le texte en gras sera affiché par des variables, car on va les modifier dans les TP suivants.

Lisez bien les messages d'erreurs de PHP, ils indiquent la ligne à modifier (ou parfois la ligne du dessus). Il est inévitable de faire beaucoup d'erreurs au début...

Pas de copier/coller, utilisez au maximum Eclipse et son débuggeur.

Utiliser une condition[modifier | modifier le wikicode]

Ajoutez la condition : si toujours en poste alors remplacer « Du 06/02/2011 au 06/03/2011 » par « Depuis le 06/02/2011 »