SPARQL Protocol and RDF Query Language/Travail pratique/PHP les variables
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.
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
[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.
<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
[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 »
<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>