> Tech > PHP : sortie du navigateur

PHP : sortie du navigateur

Tech - Par iTPro - Publié le 30 mars 2012
email

Après avoir défini quelques variables dans le script, il est temps de produire une sortie.

PHP : sortie du navigateur

J’ai voulu l’exemple du contenu HTML le plus court possible, pour insister sur l’aspect PHP. J’utilise seulement le tag <br> pour fournir quelques coupures de lignes et pour formater la sortie. Bien que ce puisse être une bonne idée, aucun en-tête « content-type … » ou tag HTML n’est requis puisque PHP les fournira à ma place.

En E de la figure 1, la fonction echo ajoute du contenu à la page web. Echo est une construction de langage en PHP et ne demande pas la présence de parenthèses de part et d’autre de ses paramètres, même si vous les verrez souvent. Notons que la chaîne littérale obtenue en sortie est placée entre des guillemets doubles. De ce fait, les éventuelles variables présentes dans la chaîne seront remplacées par leur contenu en sortie. Donc ce qui apparaîtra sur la page web est « This script was written by Jon Paris ». Avec des guillemets simples, ç’eût été « This script was written by $myName ».

Il serait beaucoup plus compliqué de fusionner de la même manière des littéraux et des variables en RPG. Dans le cas présent, j’aurais dû coder quelque chose du genre :

‘This script was written by ‘ + $myName + ‘.<br>’;

Même si la différence ne saute pas aux yeux, il est beaucoup plus difficile avec la version RPG de suivre l’espacement, la ponctuation, etc. Et je suis sûr que vous appréciez la simplicité de l’approche PHP, particulièrement dans le cas de chaînes plus complexes.

Les deux lignes suivant E dans la figure 1  ajoutent des données à la page et illustrent comment plus d’une variable peut être imbriquée dans la chaîne. A noter aussi que PHP assurera l’édition de base en cas de sortie d’une variable numérique ($experience). L’effet obtenu dans ce cas est comme si la BIF RPG %Char avait été utilisée (c’est-à-dire, élimination des zéros de gauche). PHP, tout comme RPG, est capable d’une édition beaucoup plus élaborée, mais ce sera pour plus tard.

J’en arrive à l’une de mes constructions PHP favorites (F en figure 1) : foreach. C’est un moyen très simple de faire une itération dans une matrice et d’appliquer le même traitement à chaque élément à tour de rôle. Dans l’exemple, je demande à PHP de prendre chacun des éléments dans la matrice $languages et d’attribuer chacun d’eux à tour de rôle à la variable $language. Le bloc de code entre accolades { … } est ensuite exécuté en utilisant cette variable. Tout ce que je vais faire dans ce cas est de sortir le contenu de la variable : cette fois-ci en utilisant la construction print (G en figure 1). Dans les derniers articles de cette série, j’approfondirai l’utilisation des accolades dans les expressions conditionnelles.

Pour éclairer cela, voici le processus équivalent en RPG :
     d $languages      s             20a   Dim(6)
     d $language       s             20a
     d $i              s             10i 0
    
      /free
       For $i = 1 to %elem($languages);
         $language = $languages($i);
         dsply $language;
       EndFor;

Au sens strict, le code PHP et RPG n’est pas identique parce que PHP gère deux situations – que je n’ai pas tenté de couvrir dans la version RPG – « automagiquement » à ma place. La première est que mon code RPG suppose que la matrice est pleine. foreach() de PHP ne traitera que les entrées de matrices qui ont été définies. Il me faudrait établir un comptage de matrice en RPG pour traiter cela. Par ailleurs, RPG n’a pas la notion d’entrées de matrices « vides ». En PHP, si j’avais placé des valeurs dans seulement les premier, quatrième et sixième éléments, foreach() aurait automatiquement sauté les éléments de matrices vides.

Après cette introduction de print et echo, quelle est la différence ? La seule différence notable entre les deux est que echo peut prendre plusieurs paramètres, tandis que print n’en prend qu’un. Sur le plan pratique, les deux sont interchangeables : le choix est alors une question de style et de préférence personnelle. Pour ceux d’entre vous qui « doivent connaître » tous les détails des différences, vous trouverez ce luxe d’informations en ligne.

Téléchargez gratuitement cette ressource

Sécurité Office 365 : 5 erreurs à ne pas commettre

Sécurité Office 365 : 5 erreurs à ne pas commettre

A l’heure où les données des solutions Microsoft de Digital Workplace sont devenues indispensables au bon fonctionnement de l’entreprise, êtes-vous certain de pouvoir compter sur votre plan de sécurité des données et de sauvegarde des identités Microsoft 365, Exchange et Teams ? Découvrez les 5 erreurs à ne pas commettre et les bonnes pratiques recommandées par les Experts DIB France.

Tech - Par iTPro - Publié le 30 mars 2012