PHP je jedním z nejčastěji používaných programovacích jazyků při vývoji webových aplikací. Jednou z nejdůležitějších vlastností tohoto jazyka je, že nabízí různé metody omezení. Podívejme se krátce na otevírací a zavírací tagy PHP:

  • <?php ?>
  • <?= ?>
  • <? ?>
  • <% %>

Aby bylo možné používat PHP efektivněji, je nutné pochopit rozdíly a důležitost těchto značek. V tomto článku se naučíme, jak efektivně používat PHP tagy.

Proč bychom neměli používat krátké PHP tagy?

Krátké PHP tagy mohou být užitečnější pro snadnost a rychlost kódování. Na většině hostingů a serverů je však ve výchozím nastavení v konfiguraci PHP.ini zakázán. V konfiguraci PHP.ini, aby tyto krátké značky fungovaly short_open_tag možnost musí být aktivována. Takže jediná metoda, která bude určitě fungovat na každém PHP serveru, je . Pokud uvažujete o nasazení vašeho PHP na server, který nemáte pod kontrolou, můžete to vždy udělat <?php ?> Měli byste použít přístup.

Krátký PHP Echo Tag a PHP.ini

<?php echo() ?>

v PHP <?= tag v konfiguraci PHP short_open_tag Lze jej použít bez ohledu na to, zda je tato možnost povolena nebo ne, takže tuto zkratku můžete bezpečně použít místo výše uvedené.
Pokud si jen píšete kód pro sebe a můžete ovládat konfiguraci PHP, kterou používáte, mohou se vám hodit krátké značky. Ale pamatujte si to <? ?> tag může být v konfliktu s deklaracemi XML. Také <% %> Značka je ve skutečnosti ve stylu ASP.

PHP uzavírací značky a potenciální problémy

Zavření čistého souboru PHP (například souboru obsahujícího pouze definici třídy) ?> Při přidávání štítku dávejte pozor, abyste za ním nezůstali prázdné řádky. Zatímco interpret PHP může bezpečně „vykonat“ jeden znak zalomení řádku po uzavírací značce, do prohlížeče se mohou zobrazit další zalomení řádku. Pokud pak píšete HTTP hlavičky, věci mohou být ještě více matoucí.

PHP PSR-2

Kódovací standard PSR-2 je součástí kódovacích standardů PHP PSR vytvořených za účelem stanovení osvědčených postupů v PHP. Standardy kódování PSR-2 se vztahují pouze na soubory obsahující kód PHP. ?> doporučuje nepoužívat uzavírací značky. Hlavním důvodem tohoto doporučení je zabránit tomu, aby se do prohlížeče odeslaly znaky, jako jsou mezery nebo zalomení řádků, které náhodně zůstanou po závěrečné značce. V PHP, ?> Jakýkoli znak následující za tagem je automaticky považován za součást výstupu HTML. To může být problematické zejména při zpracování HTTP hlaviček.

Zbytečné znaky na konci souboru PHP mohou bránit správnému zpracování hlaviček HTTP. V protokolu HTTP jakýkoli výstup znemožňuje odesílání záhlaví, protože záhlaví musí být dokončeno před odesláním obsahu. To způsobuje problém známý jako již odeslaná záhlaví, který může ovlivnit akce, jako je zahájení relace, nastavení souboru cookie nebo přesměrování stránky.

Proto PSR-2 doporučuje nepoužívat uzavírací značku v souborech obsahujících pouze PHP kód, aby se předešlo takovým běžným chybám a zachovala se čistota kódu. Tento přístup eliminuje možné problémy, které mohou nastat v důsledku nežádoucích mezer nebo znaků na konci řádku na konci kódu, a přispívá ke stabilnějšímu a bezchybnějšímu fungování PHP skriptů.

PHP tagy a kompatibilita

Při psaní webových aplikací pro starší verze zavírání ?> html se značkami <!doctype> Dejte pozor, abyste mezi značkami nenechali nový řádek. Starší verze IE mohou házet různé chyby, pokud před deklarací doctype narazí na mezery, včetně nových řádků. U novějších verzí IE a jiných pokročilejších prohlížečů tomu tak není. (To znamená pro každý jiný prohlížeč než IE.)