Subscribe

RSS Feed (xml)

Powered By

Blogger Template From:
Free Blogger Skins

Powered by Blogger

Minggu, 19 September 2010

PHP

Sejarah PHP

PHP pertama kali dibuat pada musim tahun 1994 oleh Rasmus lerdorf,awalnya digunakan pada web sitenya untuk mencatat siapa yang saja berkunjung dan melihat biodatanya. Versi pertama yang di-release tersedia pada awal tahun 1995, dikenal sebagai tool personal homepage, yang terdiri atas engine parser yang sangat sederhana yang hanya mengerti beberapa makro khusus dan sejumlah utilitas yang sering digunakan pada halaman-halaman web, seperti buku tamu,couter pengunjung dll. Paser diprogram ulang pada pertengahan 1995 dan diberi nama PHP berasal dari paket Rasmus lainnya yang ditulis untuk menginterprestasi data dari form, yang kemudian dikombinasikan dengan tool personal home page dan ditambahkan dukungan untuk database mSQL (mini SQL)
Tahun 1995 ini dianggap sebagai tahun kelahiran dari PHP /FI yang kemudian membuat pertumbuhan aplikasi web yang pesat, dan banyak orang kemudian berkontribusi mengembangkan PHP/FI. Sulit untuk mendapatkan statistik yang tepat untuk memperkirakan penggunakan PHP/FI,tetapi diperkirakan pada akhir 1996 telah digunakan oleh sedikitnya 15000 Website diseluruh didunia. Dan pertengahan 1997 mencapai 50000 situs.
Pada pertengahan 1997 ini juga terjadi perubahan pengembangan PHP. Pengembanfgan dilakukan oleh tim yang terorganisasi bukan oleh Rasmus sendiri saja lagi. Parser dikembangkan oleh Zeev Suraski dan Andi Gutsmans yang kemudian menjadi dasar untuk versi 3, dan banyak utilitas tambahan yang diprogram untuk menambah kemampuan dari versi 2. Versi terakhir (PHP 4) menggunakan engine script Zend untuk lebih meningkatkan kinerja dan mempunyai dukungan banyak berupa ekstensi dan fungsi dari berbagai library pihak ketiga dan berjalan seolah modul asli dari berbagai server web yang populer.
Sejak januari 2001 PHP3 dan PHP4 disertakan pada sejumlah produk server web komersial seperti server web StrongHold Redhat. Perkiraan konservatip yang didapat dari angka yang diberikan oleh Netcraft yang diekstrapolasi, pengguna PHP sekitar 5.100.000 sedikit lebih banyak dari server web yang menggunakan Microsoft IIS di internet.
PHP adalah teknologi yang diperkenalkan tahun 1994 oleh Rasmus Lerdorf. Beberapa versi awal yang tidak dipublikasikan digunakan pada situs pribadinya untuk mencatat siapa saja yang mengakses daftar riwayat hidup onlinennya. Versi pertama digunakan oleh pihak lain pada awal tahun 1995 dan dikenal sebagai Personal Home Page Tools. Terkandung didalamnya sebuah parser engine (mesin pengurai) yang sangat disederhanakan, yang hanya mampu mengolah macro khusus dan beberapa utilitas yang sering digunakan pada pembuatan home page,seperti buku tamu, pencacah, dan hal semacamnya. Parser tersebut ditulis ulang pada pertengahan 1995 dan dinamakan PHP/FI Versiaon 2. FI(Form Interprenter) sendiri berasal dari kode lain yang ditulis juga oleh Rasmus, yang menterjemahkan HTML dari data. Ia menggabungkan script Personal Home Page Tools dengan Form Interprenter dan menambahkan dukungan terhadap server database yang menggunakan format mSQL sehingga lahirlah PHP/FI. PHP/FI tumbuh dengan pesat, dan orang-orang mulai menyiapkan kode-kode programnya supaya bias didukung olehPHP.

Sulit memberikan data statistic yang akurat, namun diperkirakan pada akhir 1996 PHP/FI sudah digunakan sedikitnya pada 15.000 situs web di seluruh dunia. Pada pertengahan 1997, angka tersebut berubah menjadi 50.000. Pada saat itu juga terdapat perubahan di dalam pengembangan PHP. PHP berubah dari proyek pribadi Rasmus menjadi sebuah tim yang lebih terorganisasi. Parsernya ditulis ulang dari bentuk rancangan awal oleh Zeev Suraski dan Andi Gutmans, dan parser baru ini adalah sebagai dasar PHP Version 3. Banyak kode utilitas yang berasal dari PHP/FI diport ke PHP3, dan banyak diantaranya sudah selesai ditulis ulang secara lengkap.
Pada pertengahan 1998, baik PHP/FI maupun PHP3 dikemas bersama dengan produk-produk komersial seperti server web StrongHold buatan C2 dan Linux RedHat, dan menurut survei yang dilakukan oleh NetCraft, kemungkinan PHP digunakan pada lebih dari 150.000 situs web di seluruh dunia. Sebagai pembanding, angka tersebut lebih banyak daripada pengguna server web Enterprise server buatan netscape di Internet .


APA ITU PHP?

PHP singkatan dari Personal Home Page Tools, adalah sebuah bahasa scripting yang dibundel dengan HTML, yang dijalankan disisi server. Sebagian besar perintahnya berasal dari C, Java dan Perl dengan beberapa tambahan fungsi khusus PHP. Bahasa ini memungkinkan para pembuat aplikasi web menyajikan halaman HTML dinamis dan interaktif dengan cepat dan mudah, yang dihasilkan server. PHP juga dimaksudkan untuk mengganti teknologi lama seperti CGI (Common Gateway Interface)
PHP bisa berinteraksi dengan hampir semua teknologi web yang sudah ada. Developer bisa menulis sebuah program PHP yang mengeksekusi suatu program CGI di server web lain. Fleksibilitas ini amat bermanfaat bagi pemilik situs-situs web yang besar dan sibuk, karena pemilik masih bisa mempergunakan aplikasi-aplikasi yang sudah terlanjur dibuat di masa lalu dengan CGI, ISAP, atau dengan script seperti Perl, Awk atau Python selama proses migrasi ke aplikasi baru yang dibuat dengan PHP. Ini mempermudah dan memperluas peralihan antara teknologi lama dan teknologi baru.


Kelebihan PHP dari Bahasa Pemrograman 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 IIS sampai dengan apache, dengan configurasi 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 referensi yang banyak.
• PHP adalah bahasa open source yang dapat digunakan di berbagai mesin (linux, unix, windows) dan dapat dijalankan secara runtime melalui console serta juga dapat menjalankan perintah-perintah system.

KELEMAHAN PHP

Selain berbagai kemudahan, PHP memiliki beberapa masalah atau kekurangan. Pertama, dari segi bahasa ia bukanlah bahasa yang ideal untuk pengembangan berskala besar. Kekurangan utama adalah tidak adanya namespace. Namespace merupakan sebuah cara untuk mengelompokkan nama variabel atau fungsi dalam susunan hirarkis. Misalnya, $ModuleA::ModuleB::c adalah variabel $c di dalam ModuleB, yang terdapat di bawah ModuleA. Modul lain, misalnya ModuleA::ModuleC atau ModuleD dapat memiliki variabel $c juga, tapi keduanya dua variabel berbeda. Di dalam ModuleB, variabel $c pertama dapat disebutkan hanya $c saja, tapi untuk merujuk pada variabel kedua, diperlukan nama lengkap $ModuleD::c. Di PHP ini tidak ada, jadi kadang programer mengakalinya dengan membuat nama seperti $ModuleA_ModuleB_c. Kekurangannya, nama panjang ini harus disebutkan di setiap waktu.
Kita juga tidak dapat membuat fungsi dalam fungsi atau kelas dalam kelas di PHP, semuanya hanya bisa terbatas satu level. Sebagian pengguna lanjut mengeluhkan model objek PHP yang minim. Dibandingkan dengan Python dan Perl, PHP tidak memiliki multiple inheritance, kemampuan untuk mewarisi dari dua atau lebih kelas induk. Multiple inheritance dapat berguna untuk fleksibilitas dalam pengembangan OO. Java memang tidak memiliki multiple inheritance, tapi ada interface di Java. Di PHP ini pun tidak ada. Selain itu, belum ada penanganan eksepsi (raise, catch, throw) di PHP, dan kita tidak bisa memanggil metode/atribut secara berangkai, mis: $obj->meth()->meth2(). Hal lainnya, tidak ada destruktor (meskipun ada konstruktor).

Juga, karena model pemrograman yang embedded (tercampur dengan HTML), maka pengembang harus berhati-hati agar aplikasinya yang nanti menjadi besar tidak acak-acakan seperti mie. Ketercampuran ini dapat mengurangi modularitas, reuse, dan memberatkan maintenance. Karena itu untuk aplikasi berskala menengah ke atas perlu ditempuh upaya pemisahan kembali antara template HTML dan kode/logika, antara lain dengan sistem template keamanan.

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 variable 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.
EFISIENSI mod PHP
Hingga PHP4 tidak ada traceback info bagi programer PHP. Keterangan ini tidak diberikan oleh Zend Engine dengan alasan efisiensi eksekusi skrip PHP, agar aplikasi PHP berjalan ramping dan cepat. Tapi, yang mungkin jarang disadari oleh kebanyakan orang, efisiensi mod_php sebetulnya tidak jauh berbeda dari CGI dan secara teori lebih tidak efisien ketimbang mod_perl. mod_php4 selalu membuang hasil kompilasi skrip PHP di akhir selesai request (persis seperti CGI). Jadi tidak seperti mod_perl yang menyimpan (cache) hasil kompilasi skrip ke dalam memori. Perbedaan mod_php dengan CGI hanyalah menghindari fork interpreter berulang-ulang. Jika skrip PHP Anda panjang dan banyak, maka kecepatan respon akan turun drastis karena proses kompilasi ulang ini memakan waktu. Untungnya, kompiler Zend Engine amat cepat, turunnya kecepatan respon baru terasa di level ribuan baris kode PHP. Namun akibatnya, PHP belum cocok digunakan untuk situs berskala besar. Untuk meningkatkan efisiensi, dibutuhkan cache PHP terpisah. Contohnya produk Zend Accelerator (dulu Zend Cache) yang komersial atau APC dan bwCache yang gratis.

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).

Tidak ada komentar:

Posting Komentar

 

Created By:

Maria Anindita Saputri