PHP is een van de meest gebruikte programmeertalen bij webontwikkeling. Een van de belangrijkste kenmerken van deze taal is dat deze verschillende beperkingsmethoden biedt. Laten we een korte blik werpen op PHP-openings- en sluitingstags:

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

Om PHP efficiënter te kunnen gebruiken, is het noodzakelijk om de verschillen en het belang van deze tags te begrijpen. In dit artikel leren we hoe u PHP-tags effectief kunt gebruiken.

Waarom zouden we geen korte PHP-tags gebruiken?

Korte PHP-tags kunnen nuttiger zijn voor het gemak en de snelheid van het coderen. Op de meeste hosting en servers is dit echter standaard uitgeschakeld in de PHP.ini-configuratie. In de PHP.ini-configuratie werken deze korte tags short_open_tag optie moet geactiveerd zijn. Dus de enige methode die zeker op elke PHP-server zal werken is . Als u overweegt uw PHP te implementeren op een server die u niet beheert, kunt u dat altijd doen <?php ?> Je moet de aanpak gebruiken.

Korte PHP-echotag en PHP.ini

<?php echo() ?>

in PHP <?= tag in PHP-configuratie short_open_tag Het kan worden gebruikt, ongeacht of de optie is ingeschakeld of niet, dus u kunt deze snelkoppeling veilig gebruiken in plaats van de bovenstaande.
Als u alleen code voor uzelf schrijft en de PHP-configuratie die u gebruikt, kunt beheren, vindt u korte tags wellicht nuttiger. Maar onthoud dat <? ?> tag kan conflicteren met XML-declaraties. Ook <% %> De tag is eigenlijk in ASP-stijl.

PHP-sluitingstags en mogelijke problemen

Een puur PHP-bestand sluiten (bijvoorbeeld een bestand dat alleen een klassedefinitie bevat) ?> Let er bij het toevoegen van de tag op dat er geen lege regels achterblijven. Hoewel de PHP-interpreter veilig een enkel regeleindeteken kan "uitvoeren" na de afsluitende tag, kunnen andere regeleinden naar de browser worden uitgevoerd. Als je vervolgens HTTP-headers schrijft, kan het nog verwarrender worden.

PHPPSR-2

De PSR-2-coderingsstandaard maakt deel uit van de PHP PSR-coderingsstandaarden die zijn gemaakt om best practices in PHP te bepalen. PSR-2-coderingsstandaarden zijn alleen van toepassing op bestanden die PHP-code bevatten. ?> raadt aan om geen sluitingstags te gebruiken. De belangrijkste reden voor deze aanbeveling is om te voorkomen dat tekens zoals spaties of regeleinden die per ongeluk achterblijven na de afsluitende tag, naar de browser worden verzonden. In PHP, ?> Elk teken dat op de tag volgt, wordt automatisch beschouwd als onderdeel van de HTML-uitvoer. Dit kan vooral problematisch zijn bij het verwerken van HTTP-headers.

Onnodige tekens aan het einde van een PHP-bestand kunnen voorkomen dat HTTP-headers correct worden verwerkt. In het HTTP-protocol maakt elke uitvoer het onmogelijk om headers te verzenden, omdat headers moeten worden voltooid voordat de inhoud wordt verzonden. Dit veroorzaakt een probleem dat bekend staat als reeds verzonden headers en dat van invloed kan zijn op acties zoals het starten van een sessie, het instellen van een cookie of het omleiden van een pagina.

Daarom raadt PSR-2 aan om de afsluitende tag niet te gebruiken in bestanden die alleen PHP-code bevatten, om dergelijke veelvoorkomende fouten te voorkomen en de netheid van de code te behouden. Deze aanpak elimineert mogelijke problemen die kunnen optreden als gevolg van ongewenste spaties of einderegeltekens aan het einde van de code en draagt ​​bij aan een stabielere en foutloze werking van PHP-scripts.

PHP-tags en compatibiliteit

Bij het schrijven van webapplicaties voor oudere versies, afsluiten ?> html met tags <!doctype> Zorg ervoor dat er geen nieuwe regel tussen de tags achterblijft. Oudere versies van IE kunnen verschillende fouten genereren als ze spaties tegenkomen, inclusief nieuwe regels, vóór de doctype-declaratie. Dit is niet het geval bij nieuwere versies van IE en andere, meer geavanceerde browsers. (Dat wil zeggen, voor elke andere browser dan IE.)