Tag adalah pintu masuk dan keluar mode PHP: di dalam tag, teks dibaca sebagai kode yang dieksekusi; di luar tag, teks dilewatkan sebagai output apa adanya. Kemampuan berganti mode inilah yang membuat PHP begitu natural dipakai membangun halaman web — kode program bisa disisipkan tepat di tengah-tengah HTML. Pada Chapter ini kita pelajari empat bentuk tag yang perlu Anda kenali, mulai dari bentuk lengkap yang selalu aman hingga bentuk warisan yang sebaiknya dihindari. Setiap bentuk akan kita buktikan lewat program yang benar-benar dijalankan.
Tag Lengkap #
Bentuk paling kanonik adalah <?php ... ?>. Tag ini bekerja di semua konfigurasi server dan semua versi PHP, tanpa kecuali — itulah alasan bentuk ini menjadi standar de facto kode modern. Untuk berkas yang seluruhnya berisi PHP, cukup tulis tag pembuka di baris pertama dan biarkan akhir berkas menutup mode PHP secara otomatis:
<?php
$kota = "Bandung";
echo "Kantor kami berada di $kota\n";Output yang Dihasilkan:
Kantor kami berada di BandungTag pembuka boleh muncul beberapa kali dalam satu berkas — setiap kemunculan membuka mode PHP hingga tag penutup ?> atau akhir berkas. Kita akan memanfaatkan perilaku ini di bagian berikutnya.
Menyisipkan PHP di Tengah HTML #
Inilah pola yang menjadikan PHP terkenal: sebuah berkas berformat HTML biasa, lalu kode PHP diselipkan tepat di tempat yang butuh nilai dinamis. Data disiapkan lebih dulu di blok PHP pada baris pertama, kemudian template HTML di bawahnya tinggal mencetak nilai lewat tag echo pendek. Perhatikan contoh halaman berikut:
<?php $menu = "Kopi Susu Gula Aren"; ?>
<!DOCTYPE html>
<html>
<head>
<title>Daftar Menu</title>
</head>
<body>
<h1>Menu Kopi Hari Ini</h1>
<p>Favorit pelanggan: <strong><?= $menu ?></strong></p>
<p>Harga: Rp<?= 18000 ?></p>
</body>
</html>
Output yang Dihasilkan:
<!DOCTYPE html>
<html>
<head>
<title>Daftar Menu</title>
</head>
<body>
<h1>Menu Kopi Hari Ini</h1>
<p>Favorit pelanggan: <strong>Kopi Susu Gula Aren</strong></p>
<p>Harga: Rp18000</p>
</body>
</html>Mari kita bedah cara kerjanya baris per baris:
- Baris 1 (
<?php $menu = ...; ?>): mode PHP dibuka, variable$menudiisi string, lalu mode PHP ditutup kembali. Blok ini tidak mencetak apa pun — tugasnya hanya menyiapkan data untuk dipakai baris-baris di bawahnya. - Baris 2-9: seluruhnya berada di luar tag PHP, sehingga dilewatkan sebagai output apa adanya — interpreter tidak menyentuh tag HTML sama sekali.
- Baris 11 (
<strong><?= $menu ?></strong>): tag<?= ... ?>mencetak isi$menutepat di posisinya, menghasilkanKopi Susu Gula Arendi dalam elemen<strong>. - Baris 12 (
Rp<?= 18000 ?>): nilai angka dicetak langsung menempel setelahRpkarena tidak ada spasi antara teks HTML dan tag.
Hasil akhirnya: HTML statis keluar apa adanya, dan setiap titik <?= ... ?> diganti nilai hasil eksekusi PHP. Saat berkas seperti ini diminta lewat web server, pengguna menerima HTML final yang sudah terisi nilai — kode PHP tidak pernah terlihat oleh browser.
Tag Echo Pendek #
Tag <?= ... ?> adalah kependekan resmi dari <?php echo ...; ?>. Nilai atau expression apa pun yang bisa diberikan ke echo boleh diletakkan di dalamnya. Sejak PHP 5.4, tag ini selalu aktif berapa pun pengaturan konfigurasi short_open_tag — Anda bisa memakainya tanpa rasa was-was di server mana pun:
<?php $totalBelanja = 75000; ?>
<p>Total belanja Anda: Rp<?= $totalBelanja ?></p>
Output yang Dihasilkan:
<p>Total belanja Anda: Rp75000</p>Karena singkat dan aman, <?= ... ?> menjadi bentuk paling populer untuk menampilkan nilai di dalam template HTML. Gunakan bentuk ini hanya untuk mencetak nilai; logika yang lebih panjang tetap ditulis di dalam blok <?php ... ?> lengkap.
Tag Warisan short_open_tag #
Bentuk keempat adalah <? ... ?> — disebut short tag — yang menggantikan <?php. Bentuk ini tidak lagi bisa diandalkan: aktifnya dikendalikan oleh pengaturan short_open_tag di berkas php.ini. Pada PHP yang dijalankan tanpa berkas php.ini, pengaturan ini bernilai aktif sehingga <? sempat berfungsi; namun banyak instalasi produksi menonaktifkannya. Ketika pengaturan tersebut mati, tag <? berhenti dikenali dan seluruh isinya dicetak sebagai teks biasa — kode program Anda tampil mentah di halaman.
<? echo "memakai short tag warisan"; ?>
Pesan di terminal ketika short_open_tag dimatikan melalui php -d short_open_tag=Off:
<? echo "memakai short tag warisan"; ?>Ada pula alasan teknis yang lebih tua: deklarasi <?xml version="1.0"?> pada dokumen XML bentrok dengan short tag karena sama-sama diawali <?. Untuk menghindari seluruh persoalan ini, komunitas PHP sepakat menuliskan tag pembuka secara lengkap.
| Bentuk tag | Fungsi | Status |
|---|---|---|
<?php ... ?> | Membuka mode PHP | Selalu aktif, bentuk standar |
<?= ... ?> | Mencetak nilai | Selalu aktif sejak PHP 5.4 |
<? ... ?> | Membuka mode PHP | Warisan, bergantung short_open_tag |
<script language="php"> ... </script> | Membuka mode PHP | Dihapus sejak PHP 7 |
Ringkasan #
Empat bentuk tag menandai perbatasan antara kode dan teks: <?php ... ?> untuk membuka mode PHP secara aman, <?= ... ?> untuk mencetak nilai di tengah template, dan <? ... ?> sebagai warisan yang harus dihindari. Di dalam zona kode, kita menulis instruksi yang disebut statement — dan itulah topik Chapter berikutnya.