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 ... ?>. <?phppuò 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.

whyparte, 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 ".