SPARQL Protocol and RDF Query Language/Travail pratique/PHP les variables
Introduction
modifierDans 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
modifierLes variables dans PHP
modifier$ 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.
Les nombres sont écrits à l'anglaise : en informatique, le point remplace la virgule. C'est au moment de l'affichage, en fonction du pays, qu'on affiche un nombre avec un point ou une virgule.
Affichage dans PHP
modifierMaintenant, 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 ?
modifierPrenez 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
modifierUtiliser les variables PHP
modifierÀ 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.
<html>
<head><title>Mon CV</title></head>
<body>
<?php
//Initialisation des variables
$nom = 'Dupont';
$prenom = 'Pierre';
$adresse = '2 rue Carnot';
$code_postal = 92130;
$ville = 'Issy-les-Moulineaux';
$telephone = '0101010101';
$date_debut = '06/02/2011';
$date_fin = '06/03/2011';
$poste = 'Ingénieur ';
$societe = 'BorderCloud';
$description = 'Conception du backoffice pour les ressources humaines permettant d\'agréger les candidatures sur une ...';
$mot_cle1 = 'SPARQL';
$mot_cle2 = 'PHP';
$mot_cle3 = 'HTML';
$poste_actuel = true;
//affichage
?>
<b><?php echo $nom.' '.$prenom; ?></b><br />
<b><?php echo $adresse; ?></b><br />
<b><?php echo $code_postal.' '.$ville; ?></b><br />
Tel : <b><?php echo $telephone; ?></b><br>
Expériences : <br />
<?php echo '<b>Du '.$date_debut.' au '.$date_fin.'</b>'; ?>
: <?php echo '<b>'.$poste.' ('.$societe.')</b>' ?><br />
<?php echo '<b>'.$description.'</b><br />' ?>
Mots clés : <b><?php echo $mot_cle1.', '.$mot_cle2.', '.$mot_cle3; ?></b><br />
</body>
</html>
Utiliser une condition
modifierAjoutez la condition : si toujours en poste alors remplacer « Du 06/02/2011 au 06/03/2011 » par « Depuis le 06/02/2011 »
<html>
<head><title>Mon CV</title></head>
<body>
<?php
//Initialisation des variables
$nom = 'Dupont';
$prenom = 'Pierre';
$adresse = '2 rue Carnot';
$code_postal = 92130;
$ville = 'Issy-les-Moulineaux';
$telephone = '0101010101';
$date_debut = '06/02/2011';
$date_fin = '06/03/2011';
$poste = 'Ingénieur ';
$societe = 'BorderCloud';
$description = 'Conception du backoffice pour les ressources humaines permettant d\'agréger les candidatures sur une ...';
$mot_cle1 = 'SPARQL';
$mot_cle2 = 'PHP';
$mot_cle3 = 'HTML';
$poste_actuel = true;
//affichage
?>
<b><?php echo $nom.' '.$prenom; ?></b><br />
<b><?php echo $adresse; ?></b><br />
<b><?php echo $code_postal.' '.$ville; ?></b><br />
Tel : <b><?php echo $telephone; ?></b><br>
Expériences : <br />
<?php
if ($poste_actuel){
echo '<b>Depuis le '.$date_debut.'</b>';
}else{
echo '<b>Du '.$date_debut.' au '.$date_fin.'</b>';
}
?>
: <?php echo '<b>'.$poste.' ('.$societe.')</b>' ?><br />
<?php echo '<b>'.$description.'</b><br />' ?>
Mots clés : <b><?php echo $mot_cle1.', '.$mot_cle2.', '.$mot_cle3; ?></b><br />
</body>
</html>