Ecco le informazioni secondo la documentazione ufficiale :
Esistono quattro diverse coppie di tag di apertura e chiusura che possono essere utilizzate in PHP. Due di questi,
<?php ?>
e<script language="php"> </script>
, sono sempre disponibili. Gli altri due sono tag brevi e tag stile ASP e possono essere attivati e disattivati dal file di configurazione php.ini. Pertanto, sebbene alcune persone trovino convenienti tag brevi e tag stile ASP, sono meno portatili e generalmente sconsigliati .
Nella mia esperienza maggior parte dei server non hanno tag brevi abilitati. Digitando
<?=
è molto più conveniente della digitazione
<?php echo
La comodità dei programmatori è un fattore importante, quindi perché non sono raccomandati?
<?= $example;?>
! Questo è molto importante poiché l'uso di tutti gli altri tag brevi è considerato inutile. Ad ogni modo, l'uso del tag eco breve è incoraggiato da ora in poi. Fornisce una base di codice più fluida e ordinata - esp. nei file di visualizzazione. Quindi per PHP> = 5.4.0 <?= ?>
può essere usato senza impostazione short_open_tag
. Non utilizzare gli altri tag brevi nel codice. Gli dei-codice si arrabbiano molto quando lo fai ...
<?
non viene utilizzato solo in XML per la <?xml version="1.0" ?>
dichiarazione di apertura ; è la sintassi generale per "istruzioni di elaborazione", essendo il secondo esempio più comune <?xml-stylesheet ... ?>
. <?php
può effettivamente essere considerata un'istruzione di elaborazione valida, come può <?=
(come consentito in 5.4+), ma affermare che anche tutto <?
ciò crea conflitti inutili tra le sintassi.
why
parte, vorrei citare la guida alla certificazione Zend PHP 5: "I tag brevi erano, per un certo periodo, lo standard nel mondo PHP; tuttavia, hanno il principale svantaggio di essere in conflitto con le intestazioni XML e, quindi, hanno un po ' caduto a terra ".