Convention de programmation pour les thèmes

Date du document original en anglais : 27 Août 2009 – 02h47 - http://drupal.org/node/1965



Les concepteurs de thème ne devraient écrire qu'un code clair et bien structuré, comme le ferait tout développeur dans n'importe quel autre projet. Le code sera ainsi facile à lire, à comprendre et à maintenir. Bien que chaque structure ait ses propres conventions d'écriture de code, il est conseillé de suivre les règles régissant les normes Drupal puisque cela facilitera la collaboration entre concepteurs, ou les demandes d'aide.

  • Utilisez 2 espaces pour l'indentation plutôt qu'une tabulation (pour une question de cohérence et de compatibilité avec les normes de programmation Drupal)
  • Conservez l'indentation dans les balises d'ouverture et de fermeture de blocs HTML
  • Dissociez l'indentation PHP et l'indentation HTML

    Évitez ceci :

      ...
      <?php if ($header): ?>
      <div id="header">
        <?php print $header; ?>
      </div>
      <?php endif; ?>
      ...


    Mais faites cela :

      ...
    <?php if ($header): ?>
      <div id="header">
        <?php print $header; ?>
      </div>
    <?php endif; ?>
      ...


    Cela facilite grandement la recherche de balises d'ouverture et de fermeture définies avec des indentations différentes.

  • Dans les gabarits, privilégiez le PHP dans de l'HTML plutôt que l'HTML dans le PHP.

    Par exemple, évitez ceci :

    <?php
    if (!$page) {
      print
    "<h2><a href=\"$node_url\" title=\"$title\">$title</a></h2>";}
    if (
    $submitted) {
      print
    "<span class=\"submitted\">$submitted</span>";
    }
    ?>


    Mais faites plutôt cela :

    <?php if (!$page): ?>
      <h2><a href="<?php print $node_url ?>" title="<?php print $title ?>"><?php print $title ?></a></h2>
    <?php endif; ?>
    <?php if ($submitted): ?>   <span class="submitted"><?php print $submitted ?></span>
    <?php endif; ?>
       

    Après tout, c'est le PHP qui produit de l'HTML et non l'inverse.
  • Dissociez la logique de la présentation des données

    Vous verrez parfois ceci :

    Price: <?php print $price; ?>
    Tax: <?php print $price * 0.075; ?>


    Sortez le calcul du code avant de commencer la mise en page des données.

    La partie logique du script contiendra :

    <?php $tax = $price * 0.075; ?>


    et la mise en page contiendra :

    Price: <?php print $price; ?>
    Tax: <?php print $tax; ?>

  • Placez toujours un point-virgule à la fin de vos instructions d'affichage PHP :

    <?php print $tax?> -- OUI
    <?php print $tax ?> -- NON
    ?>
  • Pour les portions de code PHP plus importantes, respectez les normes de programmation Drupal

Commentaires

Poster un nouveau commentaire

Le contenu de ce champ sera maintenu privé et ne sera pas affiché publiquement.
  • Les adresses de pages web et de messagerie électronique sont transformées en liens automatiquement.
  • Tags HTML autorisés : <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Les lignes et les paragraphes vont à la ligne automatiquement.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>, <css>, <php>, <html>, <ccss>, <ccss>, <drupal5>, <drupal6>, <html>, <javascript>, <php>. Beside the tag style "<foo>" it is also possible to use "[foo]".
  • You may use [view:viewname] tags to display listings of nodes.

Plus d'informations sur les options de formatage

CAPTCHA
Cette question permet d'éviter le spam :
1 + 0 =
Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.