我太喜歡<?=$whatever?>而不愿放棄它。我從來沒有遇到過問題。我會一直使用下去,直到它給我?guī)砺闊?。說真的,有85%的(我的)客戶在很少的情況下可以訪問php.ini來開啟它們。其他15%使用主流的托管提供商,幾乎所有的提供商都已經(jīng)啟用了它們。我喜歡它們。
必須清楚區(qū)分PHP的短標簽(<?)和簡寫的echo標簽(<?=)。
前者在PHP編碼規(guī)范中被禁止使用,主要是出于常識考慮,因為如果你需要將代碼移動到不支持短標簽的服務(wù)器上(并且無法啟用它),那么這會帶來很多麻煩。正如你所說,很多共享主機支持短標簽,但并不是所有的主機都支持。如果你想分享你的腳本,最好使用完整的語法。
而簡寫的echo標簽<?=無法禁用,因此完全可以使用。
我同意<?比<?php對程序員來說更容易,但只要每次使用相同的形式,就可以進行批量查找和替換。
我不認為可讀性是一個理由。大多數(shù)嚴肅的開發(fā)者都可以使用語法高亮選項。
正如ThiefMaster在評論中提到的,從PHP 5.4開始,<?= ... ?>標簽在任何地方都被支持,無論短標簽設(shè)置如何。這意味著它們在可移植代碼中是安全使用的,但這也意味著對PHP 5.4+有依賴。如果你想支持5.4之前的版本,并且不能保證短標簽的使用,仍然需要使用<?php echo ... ?>。
此外,你需要知道,在PHP 7中,ASP標簽<%、%>、<%=和script標簽被移除。因此,如果你希望支持長期可移植的代碼,并且希望切換到最現(xiàn)代的工具,請考慮更改代碼的這些部分。