Perancang: | Rasmus Lerdorf |
---|---|
Pengembang: | The PHP Group |
Sistem pengetikan: | Dinamis, lemah |
Mempengaruhi: | PHP4Delphi |
Lisensi: | Lisensi PHP |
Situs web: | www.php.net |
PHP: Hypertext Preprocessor adalah bahasa skrip yang dapat ditanamkan atau disisipkan ke dalam HTML. PHP banyak dipakai untuk memrogram situs web dinamis. PHP dapat digunakan untuk membangun sebuah CMS.
Sejarah PHP
Pada awalnya PHP merupakan kependekan dari Personal Home Page (Situs personal). PHP pertama kali dibuat oleh Rasmus Lerdorf pada tahun 1995. 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 1997, dirilis PHP/FI 2.0. Pada rilis 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 1997, sebuah perusahaan bernama Zend
menulis ulang interpreter PHP menjadi lebih bersih, lebih baik, dan
lebih cepat. Kemudian pada Juni 1998, perusahaan tersebut merilis
interpreter baru untuk PHP dan meresmikan rilis tersebut sebagai PHP 3.0 dan singkatan PHP diubah menjadi akronim berulang PHP: Hypertext Preprocessing.
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.
Komunitas
Komunitas yang ramai dan saling membantu juga merupakan
salah satu kunci kesuksesan PHP. Banyak programer Perl, yang umumnya lebih
senior atau berpengalaman, kesal jika mendapat pertanyaan yang melulu bersifat
Web/CGI dan itu-itu lagi dari pemula. Karena Perl bukan hanya “bahasa CGI”,
melainkan sebuah bahasa umum, maka pembahasan yang terus-menerus CGI/Web juga
terasa di luar topik bahasan. Sementara komunitas PHP bisa dibilang lebih “muda”
demografisnya. Banyak pemula di sana yang saling bertanya dan menjawab, dan
karena PHP memang bahasa Web, pembahasan seputar Web, HTML, Javascript, dsb pun
masih relevan dan ditolerir.
Milis
php-general@lists.php.net,
milis resmi PHP, kini beranggotakan lebih dari 2500 alamat email dan
aktivitasnya mencapai 250–500 email per hari. Selain itu, berbagai situs
seperti phpbuilder.com memiliki
forum diskusi Web yang diramaikan banyak pengunjung setiap harinya.
Kecepatan
Dibandingkan dengan aplikasi CGI dalam Perl atau Python,
apalagi yang berukuran cukup besar, aplikasi serupa dalam PHP dapat sedikit
banyak lebih cepat. PHP umumnya dipasang sebagai sebuah modul Apache, sehingga
webserver dapat langsung mengerti dan memroses skrip PHP karena interpreter PHP
telah ditanamkan ke dalamnya. Ini menghindari bottleneck yang umum
terjadi di Unix, yaitu proses forking interpreter di setiap request. PHP
sebetulnya dapat dijalankan juga melalui mekanisme CGI, tapi bahasa PHP yang
lebih sederhana—ditambah lagi kompiler Zend Engine pada PHP4 yang memang
cepat—menyebabkan skrip PHP dapat diinterpretasi dalam waktu lebih singkat.
Keamanan
Sebagai konsekuensi kepraktisan dan kemudahannya,
instalasi default PHP banyak memiliki kelemahan keamanan. Variabel global di
PHP dapat berasal dari masukan pengunjung Web (dari GET/POST/Cookie), sehingga
bila programernya ceroboh tidak menginisialisasi tiap variabel sebelum
pemakaian, seorang penyerang dapat memasukkan nilai-nilai awal variabel ke
dalam skrip untuk mengubah kelakuannya. Sebelum PHP 3.0.18 terdapat bug pada
file upload yang banyak dieksploitasi untuk menembus banyak situs PHP. Dalam
bug ini interpreter PHP dapat diakali untuk menulisi file di filesystem server
mana pun sesuai keinginan penyerangnya, karena path dapat dimasukkan lewat form
HTML.
Beberapa
kelemahan ini dapat dikonfigurasi atau dimatikan. Karena itu seorang programer
PHP dan admin perlu mengetahui opsi-opsi konfigurasi PHP agar sistem mereka
lebih aman.
Kompilasi
Satu lagi isu terakhir, saat ini tidak ada produk gratis
untuk mengkompilasi kode PHP. Bandingkan dengan Python atau Java misalnya, yang
sejak awal sudah memiliki kemampuan menyimpan hasil kompilasi bytecode ke dalam
file. Artinya, sebagian vendor aplikasi mungkin mempertimbangkan untuk tidak
menggunakan PHP karena takut kodenya dapat dilihat oleh klien/pembeli program.
Ada produk bernama Zend Encoder untuk mengatasi masalah ini, namun produk ini
harganya mahal. Pertama diluncurkan dibandrol $6000 per mesin, meskipun
kini—setelah diprotes habis-habisan oleh komunitas PHP—“hanya” berharga sekitar
$2000 dan juga ada opsi pembayaran berlangganan (meskipun ini artinya
pengembang aplikasi harus membayar terus-menerus pada Zend $50/bulan jika ingin
masih bisa mengkompilasi kode PHP-nya).
Masa Depan PHP
Kelemahan-kelemahan yang disebutkan sebelumnya tentu saja
tidak menghalangi PHP untuk tetap digunakan secara meluas. Setidaknya,
dibandingkan dengan produk-produk komersial, PHP dapat menurunkan biaya karena
softwarenya gratis dan sudah mencakup fitur yang cukup lengkap.
Zend
Engine 2.0 yang dikembangkan—Zend adalah komponen kompiler dan executor pada
PHP4—juga direncanakan akan memperbaiki kelemahan-kelemahan model objek PHP4
(atau PHP5?). Dengan versi 2.0, kemungkinan PHP akan memiliki fitur multiple
inheritance, destruktor, eksepsi, pemanggilan metode berangkai, dan mungkin
juga atribut privat.
Popularitas
umumnya mendongkrak kesuksesan, dan tampaknya ini pun akan terjadi dengan PHP.
Popularitas PHP yang begitu besar saat ini akan menjamin bahwa PHP akan tetap
dipakai secara meluas di tahun-tahun mendatang. Bahkan juga mungkin di luar
konteks Web/pemrograman Web tradisional. Kita sudah melihat ada yang
mengembangkan PHP-GTK, tool untuk membuat program GUI desktop dengan GTK+. Di
masa depan, di zaman Web services dan berkembangnya generasi aplikasi Web
berikutnya, kita bisa cukup yakin bahwa PHP akan turut berada di sana!
PHP banyak sekali digunakan untuk
pengembangan web dinamis, dapat di katakan mayoritas pengembangan web didunia
menggunakan PHP, misalnya saja web yang sudah melegenda beberapa tahun
belakangan ini, yaitu friendster dan digg. Mengapa mereka menggunakan PHP?
Yaa.. tentunya ada didalam keuntungan yang sudah kami sebutkan sebelumnya di
atas tadi.
sekarang ini banyak Web dinamis
adalah sebuah web yang dapat melalukan update pada contentnya, didalamnya
selalu terdapat CMS [Content Management System ] yaitu “ruang kendali” bagi
pemilik website untuk melakukan update, biasanya jika ingin masuk ke dalam CMS
ini user atau sang pemilik harus memberikan password agar “ruang kendali” bebas
dari tangan – tangan yang tidak bertanggung jawab.
Beberapa pihak pengembang web [ kami
SimpleBlue.com salah satunya ] selalu memberikan CMS didalam web dinamis, jadi
Anda pun tidak perlu bingung lagi untuk melakukan update pada web pribadi Anda.
Kami akan memberikan salah satu contoh dari fungsi CMS, jika web Anda mempunyai
kolom berita atau news, maka Anda tidak perlu lagi masuk ke dalam source code
yang memusingkan kepala dan merepotkan, Anda hanya perlu masuk ke CMS dan pilih
menu utuk melakukan perubahan content tersebut. Didalam CMS sendiri terdapat
menu untuk menambah , merubah serta menghapus data.
Contoh program
Program Hello World
Program Hello World yang ditulis menggunakan PHP adalah sebagai berikut:
<?php
echo "Hello World";
?>
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.
<?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
?>
Kelebihan PHP Dari Bahasa Pemrograman Lain
Beberapa kelebihan PHP dari bahasa pemrograman web, antara lain:
- 'Bahasa pemrograman PHP adalah sebuah bahasa script yang tidak melakukan sebuah kompilasi dalam penggunaanya.'
- 'Web Server yang mendukung PHP dapat ditemukan dimana - mana dari mulai apache, IIS, Lighttpd, hingga Xitami dengan konfigurasi yang relatif mudah.'
- 'Dalam sisi pengembangan lebih mudah, karena banyaknya milis - milis dan developer yang siap membantu dalam pengembangan.'
- 'Dalam sisi pemahamanan, PHP adalah bahasa scripting yang paling mudah karena memiliki referensi yang banyak.'
- 'PHP adalah bahasa open source yang dapat digunakan di berbagai mesin (Linux, Unix, Macintosh, Windows) dan dapat dijalankan secara runtime melalui console serta juga dapat menjalankan perintah-perintah system.'
Kekurangan PHP
· Permasalahan yang
sering terjadi pada register_globals
· Tidak mengenal Package
·
Jika tidak di encoding, maka kode PHP dapat dibaca semua orang. Untuk
encodingnya anda membutuhkan zend dan
biaya encoding ini sangat mahal
Beberapa system database yang
didukung oleh PHP adalah :
* Oracle
* Sybase
* mSql
* MySql
* Solid
* Generic ODBC
* Postgres Sql
* Sybase
* mSql
* MySql
* Solid
* Generic ODBC
* Postgres Sql
Tipe data
PHP memiliki 8 (delapan) tipe data yaitu :
- Integer
- Double
- Boolean
- String
- Object
- Array
- Null
- Nill
- Resource
Tidak ada komentar:
Posting Komentar