PHP

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

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 dan kontrol drone robotik. Kode PHP juga dapat langsung dieksekusi dari baris perintah.

## Sejarah PHP

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.

## Sintaksis Dasar

### Pembatas
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
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 **[[Kepekaan kapital|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 `;`.

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

### Fungsi
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
<?php
session_start()
// membuat fungsi
function perkenalan($nama){
  echo "Perkenalkan, nama saya "$nama";<br>
}

// memanggil fungsi yang sudah dibuat
perkenalan("Dinda");

?>
```

Maka browser akan menampilkan kalimat **Perkenalkan, nama saya Dinda.**

## Contoh program
### Membuat Sebuah Halaman Web PHP
Sebuah Halaman web yang ditulis menggunakan Bahasa Pemograman PHP adalah sebagai berikut:

```php
<?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. Itu merupakan bagian dari JavaScript.

```php
<?php
function fibonacci_seq( $panjang ) {
   for( $l = array(0,1), $i = 2, $x = 0; $i < $panjang; $i++ ) {
        $l[] = $l[$x++] + $l[$x];
   }
   return $l;
}

fibonacci_seq(20);
// Angka "20" dapat diganti sesuai keinginan
?>
```


### Program Mengukur Panjang Karakter
Berikut adalah contoh program mengukur panjang karakter pada sebuah teks dapat menggunakan fungsi strlen() pada PHP.

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


## Kelebihan PHP Dari Bahasa Pemrograman Lain
Beberapa kelebihan PHP untuk bahasa pemrograman web, antara lain:
* Bahasa pemrograman PHP adalah sebuah bahasa script yang tidak melakukan sebuah kompilasi dalam penggunaannya.
* Peladen web yang mendukung PHP dapat ditemukan di mana-mana dari mulai Apache, Nginx, IIS, Lighttpd, hingga Xitami dengan konfigurasi yang relatif mudah.
* Dalam sisi pengembangan lebih mudah, karena banyaknya milis-milis dan pengembang yang siap membantu dalam pengembangan.
* Dalam sisi pemahamanan, PHP adalah bahasa scripting yang paling mudah karena memiliki referensi yang banyak.
* PHP adalah bahasa pemrograman yang dapat digunakan di berbagai sistem operasi (Windows, Mac OS, dan Linux) dan dapat dijalankan secara runtime melalui konsol serta juga dapat menjalankan perintah-perintah sistem.

## Tipe data
PHP memiliki 8 tipe data, yaitu:
* *Boolean*
* *Integer*
* *Float*/ *Double*
* *String*
* *Array*
* *Object*
* *Resource*
* *NULL*

## Kerangka kerja PHP
PHP memiliki banyak framework atau kerangka kerja, yaitu :
* Laravel
* CodeIgniter
* Symfony
* Yii
* CakePHP
* Zend Framework
* Phalcon
* FuelPHP

## Lihat pula
* PEAR
* XAMPP
* LAMP

## Referensi

## Pranala luar
* 
* Dokumentasi PHP
* Catatan peningkatan versi PHP 7
* 
* PHP Introduction - w3schools