PHP е един от най-често използваните езици за програмиране в уеб разработката. Една от най-важните характеристики на този език е, че предлага различни методи за ограничаване. Нека да разгледаме накратко PHP отварящите и затварящите тагове:

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

За да използвате PHP по-ефективно, е необходимо да разберете разликите и важността на тези тагове. В тази статия ще научим как да използваме PHP таговете ефективно.

Защо не трябва да използваме кратки PHP тагове?

Кратките PHP тагове могат да бъдат по-полезни за лекота и скорост на кодиране. Въпреки това, на повечето хостинг и сървъри той е деактивиран по подразбиране в конфигурацията на PHP.ini. В конфигурацията на PHP.ini, за да работят тези кратки тагове short_open_tag опцията трябва да е активирана. Така че единственият метод, който определено ще работи на всеки PHP сървър, е . Ако обмисляте да внедрите своя PHP на сървър, който не контролирате, винаги можете <?php ?> Трябва да използвате подхода.

Кратък PHP Echo Tag и PHP.ini

<?php echo() ?>

в PHP <?= таг в PHP конфигурация short_open_tag Може да се използва независимо дали опцията е активирана или не, така че можете безопасно да използвате този пряк път вместо този по-горе.
Ако просто пишете код за себе си и можете да контролирате PHP конфигурацията, която използвате, може да намерите кратките етикети за по-полезни. Но помнете това <? ?> тагът може да е в конфликт с XML декларациите. Също така <% %> Етикетът всъщност е в стил ASP.

PHP затварящи етикети и потенциални проблеми

Затваряне на чист PHP файл (например файл, съдържащ само дефиниция на клас) ?> Когато добавяте етикета, внимавайте да не оставите празни редове след себе си. Въпреки че интерпретаторът на PHP може безопасно да "изпълни" един знак за прекъсване на ред след затварящия таг, други прекъсвания на редове могат да бъдат изведени към браузъра. Ако след това пишете HTTP заглавки, нещата могат да станат още по-объркващи.

PHP PSR-2

Стандартът за кодиране PSR-2 е част от стандартите за кодиране на PHP PSR, създадени за определяне на най-добрите практики в PHP. Стандартите за кодиране PSR-2 се прилагат само за файлове, съдържащи PHP код. ?> препоръчва да не се използват затварящи тагове. Основната причина за тази препоръка е да се предотврати изпращането на знаци като интервали или нов ред след затварящия таг към браузъра. В PHP, ?> Всеки знак след етикета автоматично се счита за част от HTML изхода. Това може да бъде особено проблематично при обработка на HTTP заглавки.

Ненужните знаци в края на PHP файл могат да попречат на правилното обработване на HTTP заглавките. В HTTP протокола всеки изход прави невъзможно изпращането на заглавки, тъй като заглавките трябва да бъдат завършени преди изпращането на съдържанието. Това причинява проблем, известен като вече изпратени заглавки, който може да повлияе на действия като стартиране на сесия, задаване на бисквитка или пренасочване на страница.

Поради това PSR-2 препоръчва да не се използва затварящ таг във файлове, съдържащи само PHP код, за да се избегнат подобни често срещани грешки и да се запази чистотата на кода. Този подход елиминира възможни проблеми, които могат да възникнат поради нежелани интервали или знаци в края на реда в края на кода и допринася за по-стабилна и безгрешна работа на PHP скриптовете.

PHP тагове и съвместимост

При писане на уеб приложения за по-стари версии, затваряне ?> html с тагове <!doctype> Внимавайте да не оставите нов ред между таговете. По-старите версии на IE може да хвърлят различни грешки, ако срещат интервали, включително нови редове, преди декларацията на doctype. Това не е така при по-новите версии на IE и други, по-модерни браузъри. (Тоест за всеки браузър, различен от IE.)