PHP

***PHP: Hypertext Preprocessor*** adolah bahaso skrip nan dapek ditanamkan atau disisipkan ka dalam HTML. PHP banyak dipakai untuak memprogram situs web dinamis. PHP dapek digunoan untuak mambangun sabuah CMS.

Indak hanyo bajalan malalui peladen web, PHP jugo biso manyalasaian tugas-tugas pemrograman dalam bantuak antarmuka baris perintah (CLI).

## Sijarah PHP
Pado awalnyo PHP marupokan kapendekan dari *Personal Home Page* (Situs personal). PHP patamo kali dibuek dek Rasmus Lerdorf pado tahun 1995. Pado waktu tu PHP masih banamo *Form Interpreted* (FI), nan wujudnyo sarupo sakumpulan skrip nan digunoan untuak mangolah data formulir dari web.

Salanjuiknyo Rasmus marilis kode sumber tasabuik untuak umum jo menamakannyo PHP/FI. Jo parilisan kode sumber iko manjadi sumber tabukak, mako banyak pemrogram nan tatariak untuak ikuik mangembangkan PHP.

Pado November 1997, dirilis PHP/FI 2.0. Pado rilis iko, *interpreter* PHP alah diimplementasian dalam program C. Dalam rilis iko disertakan juo modul-modul ekstensi nan maningkekan kamampuan PHP/FI sacaro signifikan.

Pado tahun 1997, sabuah parusahaan banamo Zend manulih liak interpreter PHP manjadi labiah barasiah, labiah baik, jo labiah capek. Kamudian pado Juni 1998, parusahaan tasabuik marilis interpreter baru untuak PHP jo maresmian rilis tasabuik sabagai PHP 3.0 jo singkekan PHP diubah manjadi akronim berulang *PHP: Hypertext Preprocessing*.

Pado patangahan tahun 1999, Zend marilis interpreter PHP baru jo rilis tasabuik dikana jo PHP 4.0. PHP 4.0 adolah versi PHP nan paliang banyak dipakai pado awal abad ka-21. Versi iko banyak dipakai disebabkan kamampuannyo untuak mambangun aplikasi web kompleks tatapi tetap mamiliki kacepekan jo stabilitas nan tinggi.

Pado Juni 2004, Zend marilis PHP 5.0. Dalam versi iko, inti dari interpreter PHP mengalami parubahan gadang. Versi iko juo memasuakan model pemrograman berorientasi objek ka dalam PHP untuak manjawek pakambangan bahaso pemrograman ka arah paradigma berorientasi objek. Peladen web bawokan ditambahan pado versi 5.4 untuak mampermudah pangembang manjalankan kode PHP tanpa manginstal peladen perangkek luneik.

Versi tabaru jo stabil dari bahaso pemograman PHP saat iko adolah versi 7.0.16 jo 7.1.2 nan resmi dirilis pado tanggal 17 Februari 2017.

## Sintaksis Dasa

### Pambateh
PHP hanyo mengeksekusi kode nan ditulih dalam pambateh sabagaimano ditantuan dek dasa sintaks PHP. Apopun di lua pambateh indak diproses dek PHP (meskipun teks PHP iko masih mangendalian struktur nan dijalehan dalam kode PHP. Pambateh nan paliang umum adolah "" Untuak manutuik kode PHP.Tujuan dari pambateh iko adolah untuak mamisahan kode PHP dari kode di lua PHP, sarupo HTML,JavaScript.

### Variabel
Variabel diawali jo simbol dolar `$`. Pado versi php PHP 5 diparkenalan jenis isyarat nan mamungkinkan fungsi untuak mamakso inyo manjadi parameter objek dari class tatentu, array, atau fungsi. Namun, jenih patunjuak indak dapek digunoan jo jenis skalar sarupo angka atau string. Contoh variabel dapek ditulih sabagai $nama_variabel.

Panulisan fungsi, panamoan kelas, namo variabel adolah peka akan huruf gadang (Kapital) jo huruf ketek . Kaduo kutip gando `""` dari string mamberian kamampuan untuak interpolasi nilai variabel ka dalam string PHP. PHP manerjemahan baris sabagai spasi, jo pernyataan harus diakhiri jo titik koma `;`.

### Komentar
PHP mamiliki 3 jenih sintaks sabagai komentar pado kode inyo tu tando blok ` / * * / `, komentar 2 baris `//` jo tando paga `#` digunoan untuak komentar ciek baris. Komentar batujuan untuak maninggaan catatan pado kode PHP jo indak akan ditajamahan ka program.

### Fungsi
Ratusan fungsi nan disedioan dek PHP serta ribuan lainnyo nan tasadio melalui babagai ekstensi tambahan. fungsi-fungsi iko didokumentasikan dalam dokumentasi PHP. Namun, dalam babagai tingkek pangembangan, kini ado babagai konvensi penamoan. Sintaks fungsi adolah sarupo di bawah iko:
```php
function tampilkan($data="") // Mendefenisikan fungsi, "tampilkan" adalah nama sebuah fungsi
//Diapit oleh tanda kurung kurawal
    if($data) return $data;  else return 'Tidak ada data';       // Melakukan proses pengolahan data, contohnya melalui kondisi


echo tampilkan("isi halaman") // Menjalankan fungsi
```


## Contoh program

### Mambuek Sabuah Halaman Web PHP
Sabuah Halaman web nan ditulih manggunoan Bahaso Pemograman PHP adolah sabagai barikuik:
```php
<?php
    echo "Halo dunia";
?>
```


### Program bilangan Fibonacci
Barikuik iko adolah contoh program nan relatif labiah kompleks nan ditulih jo manggunoan PHP. Contoh program iko adolah program untuak manampilan 20 bilangan patamo dari deret bilangan Fibonacci. Ado babarapo variable atau sintax. sarupo function. itu marupakan 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
?>
```


## Kalabihan PHP Dari Bahasa Pemrograman Lain
Babarapo kalabihan PHP dari bahasa pemrograman web, antaro lain:

# Bahasa pemrograman PHP adolah sabuah bahaso script nan indak mangarajoan sabuah kompilasi dalam panggunaannyo.
# Peladen web nan mandukuang PHP dapek ditamukan di ma sajo mulai dari apache, IIS, Lighttpd, hingga Xitami jo konfigurasi nan relatif mudah.
# Dalam sisi pangembangan labiah mudah, karano banyaknyo milis - milis jo developer nan siap mambantu dalam pangembangan.
# Dalam sisi pamahamanan, PHP adolah bahaso scripting nan paliang mudah karano mamiliki rujuakan nan banyak.
# PHP adolah bahaso open source nan dapek digunoan di babagai mesin (Linux, Unix, Macintosh, Windows) jo dapek dijalankan sacaro runtime malalui console sarato juo dapek manjalankan parintah-parintah system.

## Tipe data
PHP mamiliki 8 tipe data, inyo tu:

# *Boolean*
# *Integer*
# *Float*/ *Double*
# *String*
# *Array*
# *Object*
# *Resource*
# *NULL*

## Rujuakan

## Lihat pula

; Template Engine

* Smarty

; PHP Framework

PHP Framework adolah sabagai sabuah kerangko karajo nan disusun dek babagai komunitas pangembang web disadolah dunio. Kerangko ko batujuan untuak mampermudah dalam mambuek sabuah aplikasi web kito sering manulih script PHP sacaro keseluruhan (konvensional) jo itu pun kito ulang liak pado halaman nan lain.

* CakePHP
* CodeIgniter
* Laravel
* PRADO
* Symfony
* Zend Framework
* Yii
* Akelos
* QPHP
* ZooP

## Pranala lua

* 
* Dokumentasi PHP
* Catatan peningkatan versi PHP 7
* Repositori PHP di GitHub
* PHP Introduction - w3schools