Générer du code HTML avec PHP

PHP est un langage de programmation côté serveur. Lors de la création d'une page Web, le rôle ultime de PHP consiste à générer des balises HTML qu'il enverra au client (votre navigateur).

La beauté des langages côté serveurs est qu'ils permettent de générer des balises HTML tenant compte des aspects suivants :

  • le respect ou non d'une condition (ex : l'usager possède-t-il les droits requis ? Si oui, affiche un formulaire. Si non, affiche un message approprié)
  • les actions posées par l'usager (ex : le bouton « Enregistrer » a été cliqué alors on enregistre les données puis on affiche un message de confirmation)
  • les données lues dans la base de données (ex : boucle qui génère une ligne dans un tableau pour chaque enregistrement de la table)

Pour générer des balises HTML, PHP devra utiliser une syntaxe particulière afin de déterminer qu'est-ce qui est du PHP et qu'est-ce qui est du HTML.

▼Publicité

Imbriquer du code HTML dans le PHP et vice-versa

La génération de balises HTML en PHP peut être effectuée de deux façons :

  • à l'intérieur du code PHP, à l'aide de la commande echo ( ex : <?php ... echo "<form...>"; ... ?> )
  • en dehors du code PHP ( ex :<?php  ... ?><form...> ... <?php ... ?> )

Si votre code HTML comprend plusieurs balises et qu'il est généré dans une fonction PHP, il sera plus simple de refermer la balise PHP avant de débuter le code puis de la réouvrir après.

PHP

function generer_formulaire() {

   ?>

 

   <form ...>

      ...

      <input type="submit" name="submit" value="Ajouter l'automobile"  />

   </form>

 

   <?php

}

Vous pouvez également, si vous le préférez, utiliser l'instruction echo pour envoyer le code HTML au navigateur. À ce moment, il vous faudra être prudent dans la gestion des apostrophes et des guillemets à l'intérieur des balises HTML. Le code peut rapidement devenir complexe...

PHP

function generer_formulaire() {

   echo "<form ...>";

      ...

      echo "<input type='submit' name='submit' value='Ajouter l&#039;automobile'  />";

   echo "</form>";

}

Internationalisation des libellés

Même si vous développez un thème ou une extension pour vos propres besoin, il est d'usage d'internationaliser le tout dès le départ. Qui sait, vous aurez peut-être un jour l'opportunité de vendre votre travail ? Les efforts demandés pour l'internationalisation valent la peine d'être investis.

On utilisera donc les fonctions _e() ou __() devant tout libellé.

La fonction _e() permet d'envoyer le résultat de la localisation directement à l'écran (le e tient pour echo). Lorsqu'un libellé fait directement partie d'une balise HTML, on ouvrira une balise PHP puis on entourera le libellé par la fonction _e().

Ex : <input type="submit" name="submit" value="<?php _e( 'Ajouter l\'automobile' ); ?>"  />

La fonction __(), quant à elle, permet de localiser un libellé mais ne l'affiche pas directement à l'écran. On l'utilisera, par exemple, lorsque le libellé est un paramètre passé à une fonction ou, comme dans l'exemple suivant, lorsque le libellé fait déjà partie d'un echo.

Ex : echo "<input type='submit' name='submit' value='" . __( 'Ajouter l&#039;automobile' ) . "' />";

Merci de partager ! Share on FacebookTweet about this on TwitterShare on Google+Share on LinkedInPin on PinterestShare on StumbleUponEmail this to someone
Catégories