Perbedaan utama: PHP bahasa scripting sisi server yang memiliki implementasi utama dalam pengembangan web. Namun, ini dapat digunakan sebagai bahasa pemrograman untuk tujuan umum. PHP4 dan PHP5 adalah dua versi PHP. PHP4 dirilis pada 22 Mei 2000. Pada 13 Juli 2004, PHP5 dirilis. Itu didukung oleh Zend Engine II. Ini merupakan peningkatan dari PHP4 dan menyertakan berbagai fitur baru.
PHP adalah bahasa skrip tertanam HTML sumber terbuka, sisi server, . Ini pada dasarnya dapat melakukan tugas apa pun yang bisa dilakukan oleh program CGI lainnya, tetapi ini terutama digunakan untuk membuat halaman Web yang dinamis. Keuntungan utamanya adalah kompatibel dengan banyak jenis basis data. Selain itu, PHP dapat berbicara di seluruh jaringan menggunakan IMAP, SNMP, NNTP, POP3, atau HTTP.
PHP mencakup kemampuan antarmuka baris perintah dan dapat digunakan dalam aplikasi grafis mandiri. Perintah PHP dapat disematkan langsung ke dokumen sumber HTML alih-alih memanggil file eksternal untuk memproses data. Dalam dokumen HTML, skrip PHP terlampir dalam tag PHP khusus. Karena tag ini, pemrogram dapat bergantian antara HTML dan PHP alih-alih harus bergantung pada jumlah kode yang banyak untuk menghasilkan HTML. Juga, karena PHP dijalankan di server, klien tidak dapat melihat kode PHP.
Pada 13 Juli 2004, PHP5 dirilis. Itu didukung oleh Zend Engine II. Itu adalah peningkatan dari PHP4 dan termasuk berbagai fitur baru, seperti peningkatan dukungan untuk pemrograman berorientasi objek, ekstensi PHP Data Objects (PDO) dan banyak peningkatan kinerja. Ekstensi PDO mendefinisikan antarmuka yang ringan dan konsisten untuk mengakses database. Ikatan statis yang lambat telah ditambahkan di versi 5.3. PHP5 juga dirancang agar kompatibel dengan versi PHP sebelumnya dan karenanya akan menghasilkan sedikit fungsi yang rusak saat mengkonversi dari PHP4 ke PHP5.
Beberapa perbedaan antara PHP4 dan PHP5:
- PHP5 menghapus register_globals, kutipan ajaib, dan mode aman. Ini disebabkan oleh fakta bahwa register_globals telah membuka celah keamanan dengan sengaja mengizinkan injeksi data runtime dan penggunaan kutipan ajaib memiliki sifat yang tidak dapat diprediksi.
- PHP4 ditenagai oleh Zend Engine 1.0, sedangkan PHP5 ditenagai oleh Zend Engine II.
- PHP5 mengganti kutipan ajaib dengan fungsi addlashes () untuk keluar dari karakter.
- PHP4 lebih merupakan bahasa prosedur sementara PHP5 berorientasi objek.
- Dalam PHP5 orang dapat mendeklarasikan kelas sebagai Abstrak.
- PHP5 menggabungkan metode dan properti statis.
- PHP5 memperkenalkan fungsi khusus yang disebut __autoload ()
- PHP5 memungkinkan seseorang untuk mendeklarasikan kelas atau metode sebagai Final
- PHP5 memperkenalkan sejumlah metode ajaib, seperti __call, __get, __set dan __toString
- Di PHP5, ada 3 level visibilitas: Publik, pribadi dan dilindungi.
- PHP5 memperkenalkan pengecualian.
- Di PHP4, semuanya diteruskan oleh nilai, termasuk objek. Sedangkan dalam PHP5, semua objek dilewatkan dengan referensi.
- PHP5 memperkenalkan antarmuka. Semua metode yang didefinisikan dalam suatu antarmuka harus bersifat publik.
- PHP5 memperkenalkan tingkat kesalahan baru yang didefinisikan sebagai 'E_STRICT'
- PHP5 memperkenalkan ekstensi default baru seperti SimpleXML, DOM dan XSL, PDO, dan Hash.
- PHP5 memperkenalkan fungsi-fungsi baru.
- PHP5 memperkenalkan beberapa kata kunci cadangan baru.
- PHP5 mencakup konsep OOP tambahan dari php4, seperti penentu akses, pewarisan dll.
- PHP5 termasuk dukungan yang ditingkatkan dari sistem manajemen konten saat ini.
- PHP5 termasuk pengurangan konsumsi RAM.
- PHP5 memperkenalkan peningkatan keamanan terhadap eksploitasi kerentanan dalam skrip PHP.
- PHP5 memperkenalkan pemrograman yang lebih mudah melalui fungsi dan ekstensi baru.
- PHP5 memperkenalkan ekstensi MySQL baru bernama MySQLi untuk pengembang yang menggunakan MySQL 4.1 dan yang lebih baru.
- Di PHP5, SQLite telah dibundel dengan PHP.
- PHP5 memperkenalkan ekstensi SOAP bawaan baru untuk interoperabilitas dengan Layanan Web.
- PHP5 memperkenalkan ekstensi SimpleXML baru untuk dengan mudah mengakses dan memanipulasi XML sebagai objek PHP. Itu juga dapat berinteraksi dengan ekstensi DOM dan sebaliknya.
- Di PHP5, stream telah sangat ditingkatkan, termasuk kemampuan untuk mengakses operasi soket level rendah pada stream.