Βασική διαφορά: PHP μια γλώσσα προγραμματισμού από πλευράς διακομιστή που έχει την κύρια εφαρμογή της στην ανάπτυξη ιστού. Ωστόσο, μπορεί να χρησιμοποιηθεί ως γενική γλώσσα προγραμματισμού. Οι PHP4 και PHP5 είναι δύο εκδόσεις της PHP. Το PHP4 κυκλοφόρησε στις 22 Μαΐου 2000. Στις 13 Ιουλίου 2004 κυκλοφόρησε το PHP5. Τροφοδοτήθηκε από το Zend Engine II. Ήταν μια βελτίωση σε σχέση με την PHP4 και περιλάμβανε διάφορα νέα χαρακτηριστικά.
Η PHP είναι μια γλώσσα ανοιχτού κώδικα, από την πλευρά του διακομιστή, ενσωματωμένη σε HTML. Μπορεί βασικά να εκτελέσει οποιαδήποτε εργασία που μπορούν να χρησιμοποιήσουν άλλα προγράμματα CGI, αλλά χρησιμοποιείται κυρίως για τη δημιουργία δυναμικών ιστοσελίδων. Το κύριο πλεονέκτημά του είναι ότι είναι συμβατό με πολλούς τύπους βάσεων δεδομένων. Επιπλέον, η PHP μπορεί να μιλήσει σε δίκτυα χρησιμοποιώντας IMAP, SNMP, NNTP, POP3 ή HTTP.
Η PHP περιλαμβάνει μια δυνατότητα διεπαφής γραμμής εντολών και μπορεί να χρησιμοποιηθεί σε αυτόνομες γραφικές εφαρμογές. Οι εντολές PHP μπορούν να ενσωματωθούν απευθείας σε ένα αρχείο προέλευσης HTML αντί να καλούν ένα εξωτερικό αρχείο για να επεξεργάζονται δεδομένα. Στο έγγραφο HTML, η δέσμη ενεργειών PHP περικλείεται μέσα σε ειδικές ετικέτες PHP. Λόγω αυτών των ετικετών, ο προγραμματιστής μπορεί να εναλλάσσει μεταξύ HTML και PHP, αντί να χρειάζεται να βασίζεται σε βαριά ποσά κώδικα για την παραγωγή HTML. Επίσης, καθώς εκτελείται η PHP στο διακομιστή, ο πελάτης δεν μπορεί να δει τον κώδικα PHP.
Στις 13 Ιουλίου 2004 κυκλοφόρησε το PHP5. Τροφοδοτήθηκε από το Zend Engine II. Ήταν μια βελτίωση σε σχέση με την PHP4 και περιλάμβανε διάφορα νέα χαρακτηριστικά, όπως βελτιωμένη υποστήριξη για αντικειμενοστραφή προγραμματισμό, επέκταση PHP Data Objects (PDO) και πολλές βελτιώσεις επιδόσεων. Η επέκταση ΠΟΠ ορίζει μια ελαφριά και συνεπή διεπαφή για την πρόσβαση σε βάσεις δεδομένων. Η καθυστερημένη στατική δέσμευση προστέθηκε στην έκδοση 5.3. Το PHP5 σχεδιάστηκε επίσης για να είναι συμβατό με παλιότερες εκδόσεις της PHP και συνεπώς θα πρέπει να έχει ως αποτέλεσμα τη διακοπή της μικρής λειτουργικότητας κατά τη μετατροπή από PHP4 σε PHP5.
Ορισμένες διαφορές μεταξύ PHP4 και PHP5:
- Η PHP5 αφαιρέθηκε register_globals, μαγικά εισαγωγικά και ασφαλή λειτουργία. Αυτό οφείλεται στο γεγονός ότι το register_globals είχε ανοίξει τρύπες ασφαλείας επιτρέποντας σκόπιμα την έγχυση δεδομένων χρόνου εκτέλεσης και η χρήση μαγικών εισαγωγικών είχε απρόβλεπτο χαρακτήρα.
- Το PHP4 τροφοδοτείται από το Zend Engine 1.0, ενώ το PHP5 τροφοδοτείται από το Zend Engine II.
- Το PHP5 αντικατέστησε μαγεία εισαγωγικά με τη συνάρτηση addslashes () για να ξεφύγει χαρακτήρες.
- Το PHP4 είναι περισσότερο μια γλώσσα διαδικασίας ενώ η PHP5 είναι προσανατολισμένη σε αντικείμενα.
- Στην PHP5 μπορεί κανείς να δηλώσει μια κλάση ως Περίληψη.
- Το PHP5 ενσωματώνει στατικές μεθόδους και ιδιότητες.
- Το PHP5 εισάγει μια ειδική λειτουργία που ονομάζεται __autoload ()
- Το PHP5 επιτρέπει σε κάποιον να δηλώσει μια τάξη ή μέθοδο ως Τελική
- Το PHP5 εισάγει μια σειρά μαγικών μεθόδων, όπως __call, __get, __set και __toString
- Στην PHP5, υπάρχουν 3 επίπεδα προβολών: Δημόσιο, ιδιωτικό και προστατευμένο.
- Το PHP5 εισήγαγε εξαιρέσεις.
- Στην PHP4, όλα πέρασαν με αξία, συμπεριλαμβανομένων των αντικειμένων. Ενώ στο PHP5, όλα τα αντικείμενα περνούν με παραπομπή.
- Το PHP5 εισάγει διεπαφές. Όλες οι μέθοδοι που ορίζονται σε μια διεπαφή πρέπει να είναι δημόσιες.
- Το PHP5 εισάγει νέο επίπεδο σφάλματος που ορίζεται ως 'E_STRICT'
- Το PHP5 εισάγει νέες προεπιλεγμένες επεκτάσεις όπως SimpleXML, DOM και XSL, ΠΟΠ και Hash.
- Το PHP5 εισάγει νέες λειτουργίες.
- Το PHP5 εισάγει ορισμένες νέες αποκλειστικές λέξεις-κλειδιά.
- Το PHP5 περιλαμβάνει επιπλέον έννοιες OOP από το php4, όπως τους προσδιοριστές πρόσβασης, την κληρονομιά κλπ.
- Το PHP5 περιλαμβάνει βελτιωμένη υποστήριξη των σημερινών συστημάτων διαχείρισης περιεχομένου.
- Το PHP5 περιλαμβάνει μειωμένη κατανάλωση μνήμης RAM.
- Το PHP5 εισάγει αυξημένη ασφάλεια κατά της εκμετάλλευσης των τρωτών σημείων σε σενάρια PHP.
- Το PHP5 εισάγει ευκολότερο προγραμματισμό μέσω νέων λειτουργιών και επεκτάσεων.
- Το PHP5 εισάγει μια νέα επέκταση MySQL που ονομάζεται MySQLi για προγραμματιστές που χρησιμοποιούν το MySQL 4.1 και αργότερα.
- Στο PHP5, το SQLite έχει συνδυαστεί με την PHP.
- Το PHP5 εισάγει μια ολοκαίνουρια επέκταση SOAP για διαλειτουργικότητα με τις υπηρεσίες Web.
- Το PHP5 εισάγει μια νέα επέκταση SimpleXML για εύκολη πρόσβαση και χειρισμό XML ως αντικείμενα PHP. Μπορεί επίσης να συνδεθεί με την επέκταση DOM και αντίστροφα.
- Στην PHP5, τα ρεύματα έχουν βελτιωθεί σημαντικά, συμπεριλαμβανομένης της δυνατότητας πρόσβασης σε πρίζες χαμηλού επιπέδου σε ροές.