PHP/Programmazione/Commenti

Indice del libro


All'interno dei tag <?php e ?> è possibile inserire commenti al codice, porzioni di testo opportunamente marcate che verranno ignorate dal motore PHP durante il parsing degli script.

L'uso dei commenti ha vari benefici, tra cui:

  1. rendere più leggibile il sorgente da parte di altri utenti che eventualmente debbano variare lo script PHP (utile soprattutto nei casi di collaborazione tra più persone);
  2. non eseguire una parte di codice senza doverla spostare o cancellare (potrebbe tornare utile in futuro, ad esempio).

Sintassi modifica

Il codice può essere commentato in tre modi:

  <?php

	// Commento su singola linea in stile 'C++'

	# Commento su singola linea in stile 'Unix shell'

	/* Commento multilinea (in stile 'C').
	   Al suo interno è ammessa qualsiasi cosa,
	   eccetto il delimitatore finale */

La differenza sostanziale è tra i primi due, che fanno uso di un solo delimitatore ma possono estendersi su una singola riga, e il terzo, che può estendersi su più righe.

Qualsiasi codice PHP presente nei commenti non viene eseguito dal parser tranne il tag di chiusura ?> nei tipi a singola linea. Si veda il seguente esempio:

  <?php
    echo 'Primo esempio'; // Commento del primo esempio ?>
    echo 'Altro testo';

Come detto, pur trovandosi sulla stessa riga del commento, il tag di chiusura non sarà ignorato e il secondo echo verrebbe interamente inviato in output al browser (in quanto esterno allo script). Anche usando il carattere # le cose non sarebbero andate diversamente.

La sintassi multi-linea, invece, non è affetta da questo rischio:

  <?php

    /*
     * Esempio di commento in cui il parser non
     * elabora il tag di chiusura: ?>
     */
    echo 'Secondo esempio'; 
  ?>

Si tratta di una tipologia usata spesso all'inizio degli script per descrivere lo scopo del file. Le uniche attenzioni che richiede sono di non dimenticare il delimitatore di chiusura (causerebbe errore durante l'esecuzione) e di non annidare altri commenti scritti con la stessa sintassi. A tal proposito si veda il seguente codice:

  <?php
    /*
      echo 'prova'; /* Test di esecuzione */
     */

Questo potrebbe essere un classico caso di codice scritto per verificare la corretta esecuzione (se appare "prova" nell'output vuol dire che funziona) commentato per eseguire altri test in futuro. Tuttavia il parser interpreterà il primo delimitatore di chiusura come la fine dell'intero commento, generando un errore di sintassi appena arriverà al successivo delimitatore. Pertanto non è possibile annidare commenti all'interno di altri.