Lompat ke isi

PHP

Dari Wikipedia bahasa Indonesia, ensiklopedia bebas
PHP: Hypertext Preprocessor
Paradigmaimperatif, berorientasi objek, prosedural, reflektif
Dirancang olehRasmus Lerdorf
PengembangThe PHP Development Team, Zend Technologies
Pertama kali muncul8 Juni 1995; 31 tahun lalu (1995-06-08)[1]
Rilis stabil
8.5[2] / 20 November 2025; 11 bulan lalu (2025-11-20)
Tata tertib penjenisanDinamis, lemah

sejak versi 7.0:

bertahap[3]
Bahasa pelaksanaanC (utama; beberapa komponen C++)
SOLintas platform (sistem mirip Unix, Windows, platform 32-bit dan 64-bit lain), IBM i, OpenVMS
LisensiLisensi PHP (sebagian besar mesin Zend di bawah lisensi Zend Engine)
Ekstensi nama berkas.php, .phar, .phtml, .pht, .php3, .php4, .php5, .php7, .phps, .php-s
Situs webwww.php.net
Pelaksanaan utama
Zend Engine, HHVM, Phalanger, Quercus, Project Zero, Parrot
Dipengaruhi oleh
Perl, HTML, C, C++, Java, Tcl,[1] JavaScript, Hack[4]
Memengaruhi
Hack, JSP, ASP

PHP: Hypertext Preprocessor[5] (sebelumnya disebut Personal Home Pages) atau hanya PHP saja, adalah bahasa skrip dengan fungsi umum yang terutama digunakan untuk pengembangan web.[6] Bahasa ini awalnya dibuat oleh seorang pemrogram Denmark-Kanada Rasmus Lerdorf pada tahun 1994.[7] Implementasi referensi PHP sekarang diproduksi oleh The PHP Group.[8] PHP awalnya merupakan singkatan dari Personal Home Page,[7] tetapi sekarang merupakan singkatan dari inisialisasi rekursif PHP: Hypertext Preprocessor.[9]

Kode PHP biasanya diproses di peladen web oleh interpreter PHP yang diimplementasikan sebagai modul, daemon, atau sebagai Common Gateway Interface (CGI) yang bisa dijalankan. Di server web, hasil dari kode PHP yang ditafsirkan dan dieksekusi (dapat berupa semua jenis data, seperti HTML atau data gambar biner) akan membentuk keseluruhan atau sebagian dari respons HTTP. Berbagai sistem templat web, sistem manajemen konten web, dan kerangka kerja web ada yang dapat digunakan untuk mengatur atau memfasilitasi pembuatan respons itu. Selain itu, PHP dapat digunakan untuk banyak tugas pemrograman di luar konteks web, seperti aplikasi grafis mandiri[10] dan kontrol drone robotik.[11] Kode PHP juga dapat langsung dieksekusi dari baris perintah.

Sejarah PHP

[sunting | sunting sumber]

Asal mula (1993 hingga 1997)

[sunting | sunting sumber]
Rasmus Lerdorf, pembuat dari PHP; dan Andi Gutmans dan Zeev Suraski, pembuat dari Zend Engine

PHP pertama kali dikembangkan oleh Rasmus Lerdorf pada tahun 1994. Pada awalnya PHP merupakan kependekan dari Personal Home Page (Situs personal). Pada waktu itu PHP masih bernama Form Interpreted (FI), yang wujudnya berupa sekumpulan skrip yang digunakan untuk mengolah data formulir dari web.

Selanjutnya Rasmus merilis kode sumber tersebut untuk umum dan menamakannya PHP/FI. Dengan perilisan kode sumber ini menjadi sumber terbuka, maka banyak pemrogram yang tertarik untuk ikut mengembangkan PHP.

Pada November, dirilis PHP/FI 2.0. Pada perilisan ini, interpreter PHP sudah diimplementasikan dalam program C. Dalam rilis ini disertakan juga modul-modul ekstensi yang meningkatkan kemampuan PHP/FI secara signifikan.

Pada tahun 1995, sebuah perusahaan bernama Zend menulis ulang interpreter PHP menjadi lebih bersih, lebih baik, dan lebih cepat. Kemudian pada Juni 1995, perusahaan tersebut merilis interpreter baru untuk PHP dan meresmikan rilis tersebut sebagai PHP 3.0 dan singkatan PHP diubah menjadi akronim berulang PHP: Hypertext Preprocessor.

Pada pertengahan tahun 1999, Zend merilis interpreter PHP baru dan rilis tersebut dikenal dengan PHP 4.0. PHP 4.0 adalah versi PHP yang paling banyak dipakai pada awal abad ke-21. Versi ini banyak dipakai disebabkan kemampuannya untuk membangun aplikasi web kompleks tetapi tetap memiliki kecepatan dan stabilitas yang tinggi.

Pada Juni 2004, Zend merilis PHP 5.0. Dalam versi ini, inti dari interpreter PHP mengalami perubahan besar. Versi ini juga memasukkan model pemrograman berorientasi objek ke dalam PHP untuk menjawab perkembangan bahasa pemrograman ke arah paradigma berorientasi objek. Peladen web bawaan ditambahkan pada versi 5.4 untuk mempermudah pengembang menjalankan kode PHP tanpa menginstal peladen perangkat lunak.

Versi terbaru dan stabil dari bahasa pemrograman PHP saat ini adalah versi 8.4.[12]

Sintaksis

[sunting | sunting sumber]

PHP hanya mengeksekusi kode yang ditulis dalam pembatas sebagaimana ditentukan oleh dasar sintaks PHP. Apapun di luar pembatas tidak diproses oleh PHP meskipun teks PHP ini masih mengendalikan struktur yang dijelaskan dalam kode PHP. Pembatas yang paling umum adalah <?php untuk membuka dan ?> Untuk menutup kode PHP. Tujuan dari pembatas ini adalah untuk memisahkan kode PHP dari kode di luar PHP, seperti HTML, dan JavaScript.

Variabel diawali dengan simbol dolar $. Pada versi php PHP 5 diperkenalkan jenis isyarat yang memungkinkan fungsi untuk memaksa mereka menjadi parameter objek dari class tertentu, array, atau fungsi. Namun, jenis petunjuk tidak dapat digunakan dengan jenis skalar seperti angka atau string. Contoh variabel dapat ditulis sebagai $nama_variabel.

Penulisan fungsi, penamaan kelas, nama variabel adalah peka akan huruf besar (Kapital) dan huruf kecil case sensitive. Kedua kutip ganda "" dari string memberikan kemampuan untuk interpolasi nilai variabel ke dalam string PHP. PHP menerjemahkan baris sebagai spasi, dan pernyataan harus diakhiri dengan titik koma ;.

PHP memiliki 3 jenis sintaks sebagai komentar pada kode yaitu tanda blok; # untuk satu baris komentar, // untuk dua baris komentar, dan /* komentar */ untuk lebih banyak komentar. Komentar digunakan untuk Komentar bertujuan untuk meninggalkan catatan pada kode PHP dan tidak akan diterjemahkan ke program.

Ratusan fungsi yang disediakan oleh PHP serta ribuan lainnya yang tersedia melalui berbagai ekstensi tambahan. Fungsi-fungsi ini didokumentasikan dalam dokumentasi PHP. Namun, dalam berbagai tingkat pengembangan, kini memiliki berbagai konvensi penamaan. Salah satu contoh sintaks fungsi sederhana adalah seperti di bawah ini:

<?php
    // membuat fungsi
    function perkenalan($nama){
      echo "Perkenalkan, nama saya $nama.";
    }
    
    // memanggil fungsi yang sudah dibuat
    perkenalan("Dinda");
?>

Maka browser akan menampilkan kalimat Perkenalkan, nama saya Dinda.

Membuat Sebuah Halaman Web PHP

Sebuah Halaman web yang ditulis menggunakan Bahasa Pemograman PHP adalah sebagai berikut:

<?php
    echo "Halo dunia!";
?>

Program bilangan Fibonacci

Berikut ini adalah contoh program yang relatif lebih kompleks yang ditulis dengan menggunakan PHP. Contoh program ini adalah program untuk menampilkan 20 bilangan pertama dari deret bilangan Fibonacci. Terdapat beberapa variabel atau sintaks, seperti function.

<?php
    function fibonacci_seq( $panjang ) {
       for( $l = array(0,1), $i = 2, $x = 0; $i < $panjang; $i++ ) {
            $l[] = $l[$x++] + $l[$x];
       }
       return $l;
    }
    
    // Angka "20" dapat diganti sesuai keinginan
    print_r(fibonacci_seq(20));
?>

Program Mengukur Panjang Karakter

Berikut adalah contoh program mengukur panjang karakter pada sebuah teks dapat menggunakan fungsi strlen() pada PHP

<?php
  $teks = 'John Doe';
  echo strlen($teks); // 8
?>

Tipe data

[sunting | sunting sumber]

PHP memiliki 8 tipe data, yaitu:

  • Boolean
  • Integer
  • Float/ Double
  • String
  • Array
  • Object
  • Resource
  • NULL
elePHPant, maskot PHP

Maskot dari proyek PHP adalah elePHPant, seekor gajah biru dengan logo PHP disisinya, didesain oleh Vincent Pontier pada tahun 1998.[13][14] "Tiba-tiba saya menyadari bahwa huruf [PHP] membentuk bentuk gajah jika dilihat dari sudut menyamping [sic]."[15]

elePHPant terkadang diwarnai berbeda pada bentuk mainan boneka.[16] Selama bertahun-tahun telah dibuat berbagai variasi maskot fisik ini. Hanya elePHPants yang didasarkan pada desain asli karya Vincent Pontier yang dianggap resmi oleh komunitas.[17] Ini adalah barang koleksi dan beberapa di antaranya sangat langka.[18]

Pada tahun 2019, 11% dari semua kerentanan yang tercantum dalam National Vulnerability Database terkait dengan PHP;[19] secara historis, sekitar 30% dari semua kerentanan yang tercantum sejak tahun 1996 dalam basis data ini terkait dengan PHP. Kelemahan keamanan teknis pada bahasa itu sendiri atau pustaka intinya tidak sering terjadi (22 pada tahun 2009, sekitar 1% dari total meskipun PHP berlaku untuk sekitar 20% program yang terdaftar).[20] Mengakui bahwa programmers membuat kesalahan, beberapa bahasa pemrograman menyertakan pemeriksaan taint checking untuk secara otomatis mendeteksi kurangnya validasi masukan yang dapat menimbulkan banyak masalah. Fitur semacam itu pernah diusulkan untuk PHP di masa lalu, tetapi ditolak atau proposal tersebut ditinggalkan.[21][22][23]

Proyek pihak ketiga seperti Suhosin[24] dan Snuffleupagus[25] menargetkan untuk menghapus atau mengganti bagian berbahaya dari bahasa.

Dukungan jangka panjang

[sunting | sunting sumber]

Tim pengembang PHP menyediakan perbaikan bug resmi selama dua tahun setelah rilis setiap versi minor, diikuti oleh dua tahun berikutnya di mana hanya perbaikan keamanan yang dirilis.[26] Setelah itu, rilis tersebut dianggap sudah mencapai akhir masa pakainya dan tidak lagi didukung secara resmi.

Dukungan jangka panjang yang lebih luas di luar ini tersedia dari penyedia komersial, seperti Zend dan lainnya.[27][28]

PHP2Shell

[sunting | sunting sumber]

CVE-2026-109618 dan CVE-2026-109619 merupakan dua kerentanan di PHP yang memungkinkan eksekusi kode jarak jauh dan secara bersama-sama dikenal sebagai PHP2Shell. Keberadaan kerentanan tersebut diumumkan secara publik pada tanggal 20 Oktober 2026[29] dan tambalan darurat serta detail tentang kerentanan tersebut dirilis keesokan harinya.[30][31]

Kerangka kerja PHP

[sunting | sunting sumber]

PHP memiliki banyak framework atau kerangka kerja, yaitu :

Lihat pula

[sunting | sunting sumber]

Referensi

[sunting | sunting sumber]
  1. 1 2 Lerdorf, Rasmus (2007-04-26). "PHP on Hormones – history of PHP presentation by Rasmus Lerdorf given at the MySQL Conference in Santa Clara, California". The Conversations Network. Diakses tanggal 10 Februari 2024.
  2. ↑ "major update of the PHP language". php.net.
  3. ↑ "PHP: Function arguments - Manual". secure.php.net.
  4. ↑ Stogov, Dmitry (2015-12-04). "It's not a secret that some #PHP7 optimization ideas came from HHVM, LuaJIT and V8". Twitter.
  5. ↑ "What does PHP stand for?". Diarsipkan dari asli tanggal 2011-08-11. Diakses tanggal 10 Februari 2024.
  6. ↑ "PHP: Hypertext Preprocessor". www.php.net. Diakses tanggal 23 Juli 2026.
  7. 1 2 "History of PHP". php.net.
  8. ↑ "History of PHP and related projects". The PHP Group. Diakses tanggal 10 Februari 2024.
  9. ↑ PHP Manual: Preface, www.php.net.
  10. ↑ "Introduction: What can PHP do?". PHP Manual. Diakses tanggal 10 Februari 2024.
  11. ↑ helicopter: Port of node-ar-drone which allows user to control a Parrot AR Drone over PHP: jolicode/php-ar-drone, JoliCode, 2019-01-11, diakses tanggal 10 Februari 2024
  12. ↑ "PHP: PHP 8.3.0 Release Announcement". php.net (dalam bahasa Inggris). Diakses tanggal 2024-01-08.
  13. ↑ "PHP: ElePHPant". 4 Okt 2014. Diakses tanggal 4 Okt 2014.{{cite web}}: Pemeliharaan CS1: Tanggal diterjemahkan otomatis (link)
  14. ↑ "Redirecting..." wwphp-fb.github.io. {{cite web}}: Kutipan menggunakan judul generik
  15. ↑ "The PHP Mascot's Birth – Creator Of The elePHPant Vincent Pontier Reveals The True Story!". 7php.com. 2014-01-06.
  16. ↑ "ElePHPant". PHP.earth (dalam bahasa Inggris). Diakses tanggal 2024-02-13.
  17. ↑ "PHP: ElePHPant". www.php.net.
  18. ↑ "A Field Guide to Elephpants". afieldguidetoelephpants.net.
  19. ↑ "National Vulnerability Database (NVD) Search Vulnerabilities Statistics". Diakses tanggal 2019-11-22.
  20. ↑ "PHP-related vulnerabilities on the National Vulnerability Database". 2012-07-05. Diarsipkan dari asli tanggal 2009-06-28. Diakses tanggal 2013-04-01.
  21. ↑ "Developer Meeting Notes, Nov. 2005".
  22. ↑ "Taint mode decision, November 2007". Diarsipkan dari asli tanggal 2009-02-26.
  23. ↑ "PHP: rfc:taint". wiki.php.net.
  24. ↑ "Hardened-PHP Project". 2008-08-15. Diarsipkan dari asli tanggal 2019-02-24. Diakses tanggal 2019-08-22.
  25. ↑ "Snuffleupagus Documentation".
  26. ↑ "PHP: RFC:release_cycle_update".
  27. ↑ "PHP Support for PHP 7.2 – 8.0 | PHP LTS | Zend by Perforce". Diakses tanggal 2024-05-23.
  28. ↑ "Pagely PHP Long Term Support Page". Pagely (dalam bahasa American English). Diakses tanggal 2024-09-14.
  29. ↑ "PHP: News Archive - 20 Oct 2026". www.php.net (dalam bahasa Inggris). 2026-10-20. Diakses tanggal 2026-10-21.
  30. ↑ "PHP: News Archive - 21 Oct 2026". www.php.net (dalam bahasa Inggris). 2026-10-21. Diakses tanggal 2026-10-21.
  31. ↑ Goodin, Dan (2026-10-21). "PHP warns it plans to release 2 emergency patches imminently". Ars Technica (dalam bahasa Inggris). Diarsipkan dari versi aslinya tanggal 2026-10-21. Diakses tanggal 2026-10-21.

Pranala luar

[sunting | sunting sumber]