
Cât de confortabil îți este limbajul PHP? Te descurci ori ba? Tag-urile în limbajul PHP reprezintă aproape 0,1% din puterea limbajului, dar acel 0,1% e la fel de important precum diferența din uptime-ul de 99,9% al serverelor.
Un uptime de 99,9% pe an la un site web înseamnă aproximativ 8 ore de downtime (adică de site inactiv). Și când te gândești că e un banal 0,1%. Totuși, 8 ore din 8760 de ore dintr-un an nu e chiar atât de mult, dar se simt…
Ei bine, raportat la limbajul PHP, tag-urile au un rol esențial. Le găsești peste tot, mai ales dacă lucrezi în framework-uri PHP. Important e să ai habar de ele și să știi cum trebuie să le folosești (unele nu trebuie folosite deloc).
Hai să enumăr subtitlurile articolului, iar apoi le vizităm pe toate.
Tag-urile în limbajul PHP | Ghid practic 🔗
- Tag-urile standard <?php … ?>
- Tag-urile de tip echo <?= … ?>
- Tag-uri de tip ASP <% … %>
- Tag-uri scoase din uz
Tag-urile standard <?php … ?> 🔗
Tag-urile standard pentru PHP sunt <?php și ?>.
Hai totuși să definim ce este un tag…
Ce este un tag? Un tag este un delimitator sau o etichetă în interiorul căruia introducem date specifice.
Să dau o definiție mai „pe șleau” sau un pic mai academică? Pur și simplu, un tag este o unitate sintactică de marcare folosită pentru a scrie instrucțiuni specifice.
În general, când întâlnești noțiunea de tag, trebuie să ai în minte că orice tag de început are și un tag de sfârșit. Bineînțeles că există și excepții, dar excepțiile nu contrazic regula, ci doar o cizelează (în cazul tag-urilor, evitarea tag-ului de sfârșit ajută la eficientizarea codului).
Ce zici de HTML? Dacă ai intrat în lumea IT-ului sau a programatorilor, cu siguranță ai auzit de HTML.
HTML are tag-uri care necesită atât tag-uri de început și de sfârșit (cum sunt <a>….</a>, <div>…</div>, <p>…</p>), cât și tag-uri de sine stătătoare (precum <br>, <input>, <img>).
PHP are tag-uri care trebuie neapărat deschise și închise, adică tag-uri pereche.
Tag-urile <?php … ?> se explică astfel:
- <?php este tag-ul care se pune la începutul unui script PHP
- ?> este tag-ul care se pune la sfârșitul unui script (sunt situații când vrei să ai mai multe scripturi PHP în același fișier, iar atunci este nevoie să le delimitezi bine)
Practic și teoretic, orice cod PHP se scrie între tag-uri, iar tag-urile <?php și ?> sunt cele mai folosite.
În caz că fișierul în care lucrezi are extensia .php (pentru PHP), atunci este suficient să pui doar tag-ul de început, de deschidere, <?php, fără a fi nevoie să mai pui ?> la finalul codului. De ce?
Dacă pui ?> la finalul unui script dintr-un fișier cu extensia .php, intri pe un tărâm cu riscuri. Ce fel de riscuri? Riscul de a avea spații albe după tag-ul ?>, fapt ce va duce la coruperea fișierului.
Așadar, este mai bine să nu pui tag-ul ?> într-un fișier cu extensia .php pentru a evita potențialele erori care ar putea să apară și pe care nu ai știi cum și de unde să le apuci…
Pentru confortul tău, când înveți ceva, învață să fii profesionist!
Tag-urile de tip echo <?= … ?> 🔗
Tag-urile de tip echo, <?= și ?> sunt echivalentul tag-urilor <?php echo… ?>, cu tot cu echo.
Oare ce o fi cu acest echo? Echo (sau echo, cu „e” mic) este un element nativ al limbajului PHP, deci nu este nici cuvânt cheie (#keyword), nici vreo funcție.
Hai să ne uităm la un exemplu de asemănare:
// Exemplu <?php echo "Test" ?> // Asemănător cu exemplul de mai sus <?= "Test" ?>
Observi că nu am mai pus ; (punct și virgulă) la finalul scriptului? Tag-ul ?> acționează implicit ca simbolul ; (punct și virgulă). Dacă aveam mai multe instrucțiuni în cadrul scriptului (sau scripturilor), atunci da, trebuia să punem punct și virgulă peste tot.
Tag-urile <?= și ?> sunt foarte utile când lucrăm în HTML. Uite aici două exemple, unul „pe rit lung”, altul „pe rit scurt”:
// Pe rit lung <div class="<?php echo $numeVar; ?>...</div> // Pe rit scurt <div class<"<?= $numeVar ?>...</div>
A doua variantă este mult mai „aerisită” și mai ușor de urmărit. Bineînțeles, un programator get-beget, înțelege codul fără efort sau fără durere (este o carte cu titlul „Teoria muzicii fără durere” – ar trebui scrisă una cu aluzie și la programatori).
Oare ce zici de ASP?
Tag-uri de tip ASP <% … %> 🔗
ASP (Active Server Pages) este un limbaj de scripting pentru pagini web dinamice. În ianuarie, 2002 (adică în urmă cu 24 de ani), a fost înlocuit de ASP.NET, care este mult mai modern, mult mai rapid și mult mai folosit în mediile de business (#enterprise).
Tag-urile <% și %> se numesc tag-uri de tip ASP și au fost introduse în documentația PHP pentru programatorii care au migrat de la ASP la PHP (sau care jonglează cu mai multe limbaje).
Începând cu versiunea PHP 7.0, suportul pentru tag-urile ASP s-a evaporat, iar ca bună practică se folosesc doar tag-urile standard, <?php și ?> ori varianta prescurtată, <?= și ?>.
Dacă întâlnești vreodată un site și vezi un cod care începe cu <%, înseamnă că fie este vechi, fie este scris în Ruby.
Apropo, dacă te joci puțin în Laravel, îți vei da seama că în Laravel, în loc să scriem <?= $categoria->nume ?>, scriem {{ $categoria-> nume }}, deci acoladele duble sunt noile variante de tag-uri. Evident, e o schemă oferită prin Blade (motorul de template-uri din Laravel).
Tag-uri scoase din uz 🔗
Mai demult, în epoca mezozoică, epoca dinozaurilor, glumesc, s-a folosit și varianta de tag-uri de tip script, la fel cum se folosește astăzi la JavaScript:
- <script language=”php”> … </script>
Ghici în ce versiune de PHP s-a declarat „istorie”? În aceeași versiune în care s-a renunțat și la tag-urile ASP, și anume PHP 7.0.
Evoluția PHP a mers pe ideea de curățare a limbajului, ceea ce e și normal. Cu cât te maturizezi, cu atât mai mult ai grijă să elimini lucrurile dăunătoare, corect?
Pe la începuturi, PHP încerca să fie prietenos (#friendly) cu toată lumea, și cu cei care venea din ecosistemul ASP, și cu cei care au migrat spre ecosistemul JavaScript). Rezultatul? Un ghiveci. Unora le place ghiveciul…
Dacă vrei să fii profesionist, ține minte că tag-urile PHP recomandate să le folosești sunt următoarele:
- Tag-urile standard: <?php și ?>
- Tag-urile de tip echo: <?= și ?>
Spor la învățarea limbajului PHP! Îți va fi de folos!
Învață să fii profesionist!