Perbedaan PHP3, PHP4 dan PHP5

1. PHP 3.0
PHP3 merupakan generasi baru hasil pengembangan PHP/FI. Banyak developer yang terlibat didalamnya. Tak heran jika PHP 3 dianggap sebagi tonggak awal bagi terciptanya PHP versi sekarangini. Secara resmi,Peluncur PHP 3.0 ialah Andi Gutsman dan Zeev Suraski pada tahun 1997. Mereka mengeluarkan PHP 3.0 karena melihat kelemahan dari PHP/FI yang digunakan dalam aplikasi e-commerce. Kemudian,mereka menulisnya ulang dengan masih mengacu pada PHP/FI. Setelah PHP 3.0 dikeluarkan, mereka menyarankan untuk menghentikan proyek PHP/FI karena PHP 3.0 masih lebih baik.
Alasan untuk mulai mengembangkan PHP, merupakan akronim dari Hypertext Preprocessor, dan memfokuskan diri pada PHP 3.0 ialah pengembangan versi ini secara meluas dalam mendukung berbagai jenis database, protokol dan API.
Salah satu kelebihan PHP 3 adalah fleksibilitas fitur, penambahan API dan protokol, kemampuan mengakses berbagai macam database, kemampuan OOP, serta kemudahan syntax bahasa . Kelebihan-kelebihan inilah yang mengundang ribuan developer utk bergabung dalam proyek PHP 3 untuk menambahkan modul-modul baru. Hal ini juga yang akhirnya merubah singkatan PHP yang pada awalnya ‘Personal Home Page’ dan kemudian secara resmi berganti menjadi ‘PHP Hypertext Proccessor’. Dengan dukungan yang semakin besar dari berbagai pihak yang menyumbangkan berbagai modul maka,pada tahun 1998,10% dari seluruh webserver yang ada kala itu telah menginstalasi PHP versi 3.0.
2. PHP 4.0
PHPversi 4 diluncurkan untuk menangani kelemahan PHP 3, yaitu PHP 4 peningkatan performa aplikasi dan peningkatan kemampuan modular codebase secara keseluruhan. Kurangnya efisiensi waktu dan kinerja buruk diperbaiki dan ditulis ulang dari inti PHP 3. Dengan penambahan fitur baru, seperti session, output buffering dan penanganan input,menjadikan PHP 4 aman dari berbagai jenis bahasa pemrograman berbasis web. Selain itu, inti perbedaan mereka terletak pada penggunaan Engine baru yang dinamakan Zend Engine (dari kata Zeev dan Andi) adalah core dari PHP 4 yg mampu meningkatkan performa aplikasi dan secara resemi di release pada tahun 2000, hampir 2 tahun setelah pertama kali PHP 4 di kembangkan. Zend engine merupakan inti dari PHP. Sebagai bagian dari inti PHP,secara fungsional ia bertugas menangani input, menerjemahkan dan mengeksekusinya. Ia juga berperan menerjemahkan fungsi.
Kronologis Singkat
  • Akhir 1994: Rasmus Lerdorf, programmer Unix dan Perl membuat skrip Makro Perl CGI yang dapat mengetahui siapa saja yang mengakses resumenya yang ditaruh di web.
  • Awal 1995: PHP 1 (Personal Home Page Tools), Rasmus menulis ulang PHP dalam C dan mengajarkan belasan programmer untuk menggunakannya. Ia juga melengkapinya dengan Form Interpreter(FI) untuk memproses SQL dan data Form.
  • September-Oktober 1995: PHP 2. Kode PHP dan FI ditulis ulang dan digabungkan menjadi PHP/FI, akhir 1995 dibagikan gratis bagi publik pertama kalinya
  • April 1996: Rasmus menulis mod_php, modul PHP untuk Apache
  • Desember 1996: PHP/FI pertama kali mendukung MySQL dan telah dipakai di 15 ribu situs di dunia
  • Pertengahan 1997: Pemakai PHP/FI mencapai 50 ribu situs
  • Oktober 1997: PHP3 dimulai dengan sumbangan parser dari Zeev dan Andi
  • Januari 1998: Dukungan MySQL untuk Windows dan PHP mendukung lebih dari 7 database, mSQL, MySQL, Sybase, PostgreSQL, SQL Server, Adabas dan Oracle.
  • 6 Juni 1998: PHP 3 (Professional Home Page) dirilis
  • Desember 1998: PHP disertakan di RedHat Linux (PHP 3 sejak RedHat 6.2 dan PHP 4 sejak 7)
  • Mei 1999: PHP 4 beta
  • Oktober 1999: PHP melampaui FrontPage sebagai modul Apache terpopuler
  • November 1999: PHP digunakan di 1,1 juta domain dan 357 ribu alamat IP menurut survey Netcraft. Zeev dan ANdi mendirikan Zend Technologies, LTd.
  • 20-24 Januari 2000: Konferensi Internasional PHP di TelAviv
  • 2 Maret 2000: Zend diluncurkan sebagai portal PHP
  • 22 Mei 2000: PHP 4 diluncurkan
Fitur PHP 4
PHP 4 bukan merupakan versi terakhir yang sudah dikeluarkan oleh PHP, tapi versi ini masih banyak digunakan oleh para programmer website, berikut ini merupakan fitur-fiturnya:
  1. Meningkatkan penanganan pada resource yang digunakan. Kekurangan utama dari PHP 3.0 adalah skalabilitas. Para programmer masih menganggap PHP 3.0 belum mampu digunakan pada aplikasi-aplikasi berskala besar. Hal ini membuat para developer PHP berkerja keras untuk meningkatkan kemampuan penanganan resource, sehingga PHP mampu dijalankan pada aplikasi-aplikasi berskala besar.
  2. Dukungan pada pemrograman berorientasi objek. Fitur ini memainkan peranan penting bagi user untuk dapat bekerja dengan bahasa pemrograman berorientasi objek.
  3. Dukungan pada penanganan session. Penanganan pada session HTTP sebenarnya juga sudah ada pada versi PHP 3.0. Namun, masih menggunakan dukungan pihak ketiga, yaitu PHPLIB. Nah, pada versi 4 ini, session sudah mampu ditangani langsung oleh PHP. Fitur ini menawarkan interaksi dari website. contoh yang paling umum digunakan adalah pada proses login dan logout.
  4. Enkripsi. MCrypt sudah digabung pada distribusi asli. Fitur ini menawarkan algoritma enkripsi diantaranya Blowfish, MD5, SHA1, dan tripleDES.
  5. Dukungan ISAPI. Fitur ini menghubungkan webserver IIS (dari Microsoft) dan PHP dan dianggap sebagai modul ISAPI.
  6. Dukungan COM/DCOM. Fitur ini memungkinkan PHP untuk mengakses objek COM dan menambah interoperabilitas dengan aplikasi yang berjalan di Windows.
  7. Dukungan terhadap Java
  8. Perl Compatible Regular Expressions (PCRE) library
Sampai hari ini PHP 5 dikembangkan dengan Zend Engine 2.0 dengan kemampuan jauh lebih powerfull dibandingkan PHP 4, terutama di sisi OOP, sehingga kemampuan PHP 5 nantinya dapat disejajarkan dengan bahasa pemrograman lain yang lebih komplek seperti Java, ASP.NET, dsb. Survey Netcraft pada Februari 2004 melaporkan bahwa 15 juta server telah di install PHP, atau sekitar 32% dari keseluruhan domain yang ada di internet.
3. PHP 5
PHP 5 merupakan kelanjutan dari evolusi yang berjalan pada PHP. Walaupun pada PHP 4 sudah banyak library yang ditambahkan, PHP 5 menawarkan peningkatan dari fungsionalitas dan penambahan beberapa fitur, antara lain:
  1. Peningkatan dari kemampuan pemrograman berorientasi objek
  2. Exception handling, yang menstandarisasi logika atas pemberitahuan kesalahan pemrograman
  3. Peningkatan terhadap penanganan string
  4. Peningkatan dukungan terhadap XML dan Web Service, yang menggunakan libxml2
  5. Dukungan terhadap SQLite database server
  6. PHP versi 5 dapat membuat file swf dan applet java
Salah satu kelebihan php5 adalah php5 dapat menangani OOP (Object Oriented Programming) lebih baik dari pendahulunya. Ini juga yang menjadi alasan mengapa nomor versi php lompat ke versi 5. Berikut beberapa perbedaannya.
Pada php4, jika kita meng-copy sebuah object, maka object tersebut akan terduplikat menjadi 2 dengan property yang sama. Sedangkan pada php5, object yang baru hanya berupa referensi ke object aslinya.
Contoh:
class Contoh
{
var $saya = ‘ganteng’;
}
$obj1 = new Contoh();
echo $obj1->saya;
// Hasil: Ganteng
$obj2 = $obj1;
// Meng-copy object
$obj2->saya = ‘jelek’;
echo $obj2->saya;
// Hasil: jelek
echo $obj1->saya;
// Pada php4, hasil: ganteng
// Pada php5, hasil: jelek
?>
Tetapi jika kita benar-benar ingin menduplikat suatu object, kita dapat melakukannya dengan ‘clone’.
Contoh:
class Contoh
{
var $saya = ‘ganteng’;
}
$obj1 = new Contoh();
$obj2 = clone $obj1;
?>
Visibility Property
Perbedaan berikutnya adalah kita dapat menentukan visibility sebuah property dengan menambahkan prefix private/public/protected pada tiap pendefinisian property untuk melindungi akses property. Ini berguna pada class untuk API misalnya, yang pemanggilan propertynya berasal dari perintah client, agar property yang terlindungi tidak dapat sembarangan diakses.
Private                : property hanya bisa diakses dari class itu sendiri
protected           : property hanya bisa diakses dari class tersebut dan semua sub-classnya
public                 : property bisa diakses dari mana saja, termasuk dari luar class (sama dengan penggunaan ‘var’ pada php4)
Constructor
Jika pada php4 untuk mendefinisikan suatu fungsi constructor suatu class kita harus membuat nama fungsi tersebut sama dengan nama classnya, pada php5 kita dapat mendefinisikannya menggunakan __construct.
Destructor
Jika kita mendefinisikan fungsi __destruct() pada suatu class, fungsi ini akan dipanggil saat object tersebut dihapus (didestroy), atau pada saat shutdown.
Selain itu, masih banyak kelebihan php5 dalam hal penanganan object. Seperti class abstraction, class constants, autoloading object, dan lain lain.

0 Response to "Perbedaan PHP3, PHP4 dan PHP5"

Posting Komentar