10
votes

besoin de mettre des commentaires de code à l'intérieur d'une hérédec

Eh bien, je n'arrive pas à ajouter des commentaires à l'intérieur d'un bloc code> Heredoc code> dans mon foo.php code> Fichier:

<-- //
--> //


2 commentaires

La réponse courte est que vous ne pouvez pas. Ce que @Neal montre est le seul moyen (mais note que les commentaires apparaîtront dans le navigateur de l'utilisateur dans le code source)


@Pekka Oui, il montrent, mais l'utilisateur ne le voit pas à moins de voir la source


4 Réponses :


2
votes

Essayez ceci:

echo <<<_HEREDOC_FOO

       <!-- okay this comment was intended to explain the code below but it
            is showing up on the web page html sent to the browser -->

      <form action="foo.php" method="post">
      <input type="submit" value="DELETE RECORD" /></form>

_HEREDOC_FOO;


2 commentaires

Question était dans le commentaire PHP, pas de HTML


@garvey qui n'est pas combien cela est compris. L'OP n'a pas spécifié quel type de commentaire



10
votes

c'est par conception. Une fois que vous êtes votre hérédoc, tout ce que vous tapez jusqu'à ce que vous puissiez la fin, elle soit traitée comme faisant partie d'une longue chaîne. Votre meilleur choix serait de casser votre hérédoc, de mettre votre commentaire, puis de commencer une nouvelle ligne d'écho xxx

comme quelqu'un d'autre mentionné, vous pouviez faire des commentaires HTML, mais ceux-ci seront toujours visibles pour quiconque Views votre code source


5 commentaires

Cela défait le but de l'hérédoc


Eh bien, il a mentionné son texte est massivement tronqué et s'il a des commentaires côté serveur, il ne veut pas montrer, c'est la seule façon de le faire. Votre méthode mentionnée est correcte, mais seulement si elle est correcte pour que les commentaires HTML soient inclus.


@Daoogre comme je l'ai expliqué au Downvoter de ma réponse, l'OP n'a jamais spécifié quel type de commentaire souhaite


En fait (dans mon cas particulier quand même), les commentaires ne doivent pas être visibles dans la source visible par l'utilisateur du navigateur lorsqu'ils considèrent la source, et je vais casser l'hérédoc pour le faire fonctionner - merci à tous, et comme vous l'avez probablement soupçonné que je suis Nouveau à PHP, etc. (beaucoup de connaissances de programmation mais nouvelle à PHP, etc.)


Aucun problème veut que, c'est ce que nous sommes ici.



11
votes

Vous pouvez transmettre la chaîne de commentaire en tant que paramètre d'une fonction variable.

function heredocComment($comment)
{
    return "";
}

$GLOBALS["heredocComment"] = "heredocComment";

echo <<<_HEREDOC_FOO

   {$heredocComment("
   okay this comment was intended to explain the code below but it
   is showing up on the web page html sent to the browser
   ")}

  <form action="foo.php" method="post">
  <input type="submit" value="DELETE RECORD" /></form>

_HEREDOC_FOO;


1 commentaires

Probablement ne vaut probablement pas la peine, mais brillante néanmoins.



0
votes

Le moyen le plus simple de le faire consiste à utiliser la même tactique que Seppotaalasmaa utilisée, mais plus courte: xxx

ajoutez simplement la première ligne définissant $ commentaire , Et vous pourrez insérer des commentaires dans la prochaine hérédoc de cette façon. Cela fonctionnera également si vous ne définissez pas la fonction de la portée globale.


0 commentaires