Apa itu PHP ?

Sejarah PHP sejak 1995 dan tempat PHP berjalan, dari CMS besar hingga Laravel dan modernisasi kode lama.

Daftar isi

PHP adalah bahasa skrip serbaguna yang terutama dipakai untuk membangun web. Bahasa ini dirilis pertama kali pada 1995 dan hingga kini tetap menjadi salah satu bahasa sisi server yang paling banyak digunakan di dunia. Topik ini menelusuri sejarah singkat PHP, tempat PHP berjalan, serta perannya mulai dari proyek web besar sampai framework modern. Setelah membacanya, gambaran mengenai posisi PHP sudah terbentuk dan menjadi bekal untuk seluruh jalur ini.

Sejarah singkat PHP#

PHP dimulai sebagai kumpulan skrip sederhana yang ditulis Rasmus Lerdorf untuk mengelola halaman pribadinya. Skrip itu dipublikasikan pada 1995 dengan nama Personal Home Page Tools, dan dari nama itulah singkatan PHP berasal. Kegunaannya yang praktis menarik banyak kontributor, sehingga proyek kecil tersebut berkembang menjadi bahasa pemrograman yang utuh.

Perubahan besar terjadi pada 1998 ketika PHP 3 diluncurkan dengan penafsir yang ditulis ulang dari awal. PHP 4 menyusul pada 2000 dan memperkenalkan Zend Engine, yaitu mesin eksekusi yang menjadi fondasi bahasa sampai sekarang. PHP 5 hadir pada 2004 dan menyempurnakan dukungan pemrograman berorientasi objek.

Loncatan performa terjadi pada PHP 7 yang diluncurkan pada 2015. Mesinnya dibangun ulang dari cabang yang dijuluki phpng, dan tolok ukur berbasis WordPress mencatat peningkatan kecepatan yang hampir dua kali lipat. PHP 8 hadir pada 26 November 2020 dengan kompiler just-in-time (JIT) serta fitur bahasa baru seperti ekspresi match, union types, dan attributes. Rilis 8.x berikutnya melanjutkan pengembangan dengan enumerations, properti readonly, sampai property hooks. Jalur ini ditulis untuk PHP 8.3.

Tempat PHP berjalan#

PHP terutama berjalan di server sebagai penghasil halaman web. Ketika sebuah permintaan (request) tiba, server mengeksekusi kode PHP yang terkait dan mengirimkan hasilnya berupa HTML ke browser. Browser hanya menerima hasil akhirnya, sehingga kode sumber PHP tidak pernah terlihat oleh pengunjung situs. Pola ini berbeda dari JavaScript yang secara default dieksekusi di sisi browser.

Peran PHP sebagai penghasil HTML dapat dilihat langsung. Berkas berikut berisi HTML biasa yang disisipi dua potong kode PHP.

php salam.php
<?php
$sapaan = 'Selamat datang';
$jam    = 10;
?>
<p><?php echo $sapaan; ?>. Jam kunjungan: <?php echo $jam; ?>:00.</p>
bash
# mengeksekusi berkas PHP lewat command line
php salam.php
text Keluaran
<p>Selamat datang. Jam kunjungan: 10:00.</p>

Keluaran di atas berupa HTML murni. Bagian antara <?php dan ?> dieksekusi, lalu keluarannya diletakkan pada posisi yang sama di dalam dokumen, sedangkan baris HTML di luar tag PHP diteruskan tanpa diubah. Inilah asal mula nama PHP: Hypertext Preprocessor, yaitu pemroses yang bekerja sebelum hiperteks dikirim ke browser.

Selain melayani web, PHP menyediakan antarmuka command line sehingga skrip dapat dijalankan langsung dari terminal untuk tugas seperti pengolahan berkas dan pembuatan arsip cadangan. PHP tersedia untuk Linux, macOS, dan Windows, dan pemasangannya dibahas pada topik Penyiapan Lingkungan. Menurut pengukuran W3Techs, PHP digunakan oleh sekitar dua dari tiga situs web yang bahasa sisi servernya diketahui. Porsi sebesar itu menjelaskan mengapa dokumentasi, pustaka, dan forum diskusi seputar PHP sangat melimpah.

PHP di proyek besar dan framework#

PHP menjadi pondasi banyak proyek web besar yang sudah lama berjalan. WordPress, sistem manajemen konten (content management system, CMS) yang paling luas pemakaiannya di dunia, ditulis dengan PHP. Drupal dan Joomla juga merupakan CMS berbasis PHP, sedangkan MediaWiki yang menggerakkan Wikipedia dan Moodle yang lazim dipakai untuk pembelajaran daring sama-sama dibangun di atasnya. Proyek semacam ini membutuhkan pengembang PHP dalam jumlah besar, sehingga keterampilan membaca kode yang sudah ada tetap relevan. Bagi pemula, skala tersebut membawa keuntungan lain, yaitu kemudahan menemukan contoh kode, dokumentasi, serta jawaban atas masalah yang umum.

Di sisi yang lebih baru, framework seperti Laravel dan Symfony menyediakan struktur baku untuk membangun aplikasi, mulai dari routing, templating, akses basis data, sampai pengujian. Keduanya ditulis dengan PHP modern dan mengandalkan Composer untuk mengelola pustaka pihak ketiga. Jalur ini bergerak tanpa framework terlebih dahulu, sebab memahami bahasanya membuat kerangka kerja tersebut lebih mudah diikuti ketika saatnya tiba.

Modernisasi kode lama#

Banyak proyek PHP yang berjalan hari ini ditulis untuk versi lama, terutama PHP 5 yang mendominasi selama lebih dari satu dekade. Kode tersebut biasanya masih berfungsi, tetapi melewatkan perbaikan performa, deklarasi tipe, dan pembenahan keamanan yang tersedia di versi baru. Karena itu, modernisasi kode lama (legacy) menjadi jenis pekerjaan yang sangat umum bagi pengembang PHP.

Proses modernisasinya berjalan bertahap. Pembaruan versi mengikuti panduan migrasi resmi yang menerangkan perubahan yang tidak kompatibel satu per satu. Alat analisis statis seperti PHPStan dan Psalm membantu menemukan bagian yang rawan tanpa harus mengeksekusi seluruh program. Setelah kode berada di PHP 8, fitur bahasa baru dapat diadopsi sedikit demi sedikit.

Jalur ini memakai gaya PHP 8 sepenuhnya, sehingga kebiasaan yang dibentuk di sini langsung sesuai dengan kode modern. Kode PHP 5 yang ditemui di tempat kerja tetap dapat dibaca, tetapi perbedaannya diperlakukan sebagai pengetahuan tambahan dan bukan titik awal.

Kesalahan umum#

Beberapa salah paham yang sering muncul ketika PHP baru dipelajari adalah sebagai berikut.

  • Menyamakan PHP dengan JavaScript. PHP dieksekusi di server sebelum halaman terbentuk, sedangkan JavaScript secara default dieksekusi di browser setelah halaman diterima. Mengetahui lokasi eksekusi masing-masing mencegah kebingungan ketika mengubah kode.
  • Menilai PHP dari tutorial era PHP 5. Tutorial lama memakai gaya yang sudah ditinggalkan dan fitur yang mungkin sudah dihapus. Periksa versi PHP yang dipakai tutorial sebelum mengikutinya, dan utamakan sumber yang mencakup PHP 8.
  • Menganggap PHP sedang ditinggalkan. Rilis 8.x terus menambah fitur bahasa, dan porsi pemakaiannya yang besar menunjukkan ekosistemnya masih aktif. Selama rilis mayor masih diterbitkan dan proyek besar memakainya, kekhawatiran semacam ini tidak berdasar.
  • Mengira PHP hanya untuk halaman web. Bahasa ini juga menyediakan antarmuka command line untuk skrip pemeliharaan dan pengolahan berkas, sebagaimana ditunjukkan oleh contoh salam.php yang dijalankan langsung dari terminal.

Ringkasan#

PHP berakar pada Personal Home Page Tools tahun 1995 dan tumbuh menjadi bahasa sisi server yang menggerakkan sekitar dua dari tiga situs web yang bahasa servernya diketahui. PHP dieksekusi di server dan menghasilkan HTML, sedangkan browser hanya menerima hasil akhirnya. Proyek besar seperti WordPress, MediaWiki, dan Moodle ditulis dengan PHP, sementara framework seperti Laravel dan Symfony mewakili sisi modernnya. Modernisasi kode PHP 5 ke PHP 8 menjadi bidang pekerjaan yang nyata dan terus berjalan.

Referensi#