Tag PHP

Quando il PHP inizia a esaminare un file, cerca i tag di apertura e di chiusura, che sono <?php e ?>, i quali indicano dove iniziare e terminare l'interpretazione del codice. Questa tecnica permette al PHP di essere incorporato in tutte le tipologie di documenti, poiché ogni cosa esterna ai tag di apertura e di chiusura viene ignorata dal parser PHP.

PHP permette anche dei tag abbreviati <? e ?> (che sono sconsigliati in quanto sono disponibili solo se abilitati con la direttiva short_open_tag nel file di configurazione php.ini, oppure se PHP è stato configuration con l'opzione --enable-short-tags .

Se un file contiene solo codice PHP, è cosniglato di omettere il tag di chiusura PHP alla fine del file. Questo evita che vengano aggiunti spazi o ritorni a capo dopo il tag di chiusura, che può creare effetti indesiderati poiché PHP comincerà a processare l'output quando in realtà non c'è intenzione da parte dello sviluppatore di inviare dell'output in quella parte dello script.

<?php
echo "Hello world";

// ... altro codice

echo "Last statement";

// lo script finisce qui senza tag di chiusura

add a note add a note

User Contributed Notes 4 notes

up
-4
mario
18 days ago
A few related notes, partly covered elsewhere in the manual:

  → Since PHP 5.4 the inline echo <?= ?> short tags are always
    enabled regardless of the short_open_tag (php.ini) setting.

  → PHP tags are infrequently also referred to as open/close "tokens"
    (as per the tokenizers T_OPEN_TAG / _ECHO, and T_CLOSE_TAG naming).

  → The historic ASP-style <% %> and even more rarely used
    <script language=PHP></script> tags are to be repealed in PHP7.
    http://wiki.php.net/rfc/remove_alternative_php_tags

There also exists a small tool called "phptags tidier" for consistently rewriting PHP short/long tags.  It's suitable to normalize include and template scripts, e.g. employ the always-enabled long <?php ?> tags, and/or relieve whitespace padding before/after PHP tags:

    phptags --long --whitespace --warn  *.php

Instead of reliably fixing the common whitespace/BOM issues around tags, it can also just remove all ?> close tags with `--unclose --tokenizer` as advised afore.
up
-22
alexander dot podgorny at somewhere dot com
1 month ago
One reason to use long tags over short is to avoid confusion with <?xml ?> notation.
up
-25
billscloud dot mail at gmail dot com
1 month ago
In your paragraph you need to close your bracket.

<grammernazi>Me</grammarnazi>
up
-65
preda dot vlad at yahoo dot com
1 year ago
So here are the valid ways to open PHP tags:

<?php ?> // standard tags
<? ?> // short tags, need short_open_tag enabled in php.ini
<% %> // asp tags, need asp_tags enabled in php.ini
<script language="php"> </script> // case insensitive

PSR-1 coding standards suggest to only use <?php ?> or <?= ?> (echo short tags) - and no other variations, and PSR-2 suggests to not close the tags in PHP only files.
To Top