Principale différence: PHP est un langage de script côté serveur dont la principale implémentation est le développement Web. Cependant, il peut être utilisé comme langage de programmation généraliste. PHP4 et PHP5 sont deux versions de PHP. PHP4 a été publié le 22 mai 2000. Le 13 juillet 2004, PHP5 a été publié. Il était propulsé par Zend Engine II. C'était une amélioration par rapport à PHP4 et comprenait diverses nouvelles fonctionnalités.
PHP est un langage de script HTML intégré, open source, côté serveur. En gros, il peut exécuter n’importe quelle tâche que d’autres programmes CGI, mais il sert principalement à créer des pages Web dynamiques. Son principal avantage est sa compatibilité avec de nombreux types de bases de données. De plus, PHP peut communiquer sur les réseaux via IMAP, SNMP, NNTP, POP3 ou HTTP.
PHP comprend une interface de ligne de commande et peut être utilisé dans des applications graphiques autonomes. Les commandes PHP peuvent être incorporées directement dans un document source HTML plutôt que d'appeler un fichier externe pour traiter les données. Dans le document HTML, le script PHP est enfermé dans des balises PHP spéciales. Grâce à ces balises, le programmeur peut alterner HTML et PHP au lieu de devoir s’appuyer sur de gros volumes de code pour générer du code HTML. De plus, comme PHP est exécuté sur le serveur, le client ne peut pas afficher le code PHP.
Le 13 juillet 2004, PHP5 a été publié. Il était propulsé par Zend Engine II. Il s’agissait d’une amélioration par rapport à PHP4 et incluait diverses nouvelles fonctionnalités, telles que la prise en charge améliorée de la programmation orientée objet, l’extension PDO (PHP Data Objects) et de nombreuses améliorations des performances. L'extension PDO définit une interface légère et cohérente pour accéder aux bases de données. La liaison statique tardive a été ajoutée dans la version 5.3. PHP5 a également été conçu pour être rétrocompatible avec les versions précédentes de PHP et devrait donc entraîner peu de dysfonctionnements lors de la conversion de PHP4 en PHP5.
Quelques différences entre PHP4 et PHP5:
- PHP5 a supprimé register_globals, les guillemets magiques et le mode sans échec. Cela était dû au fait que register_globals avait ouvert des failles de sécurité en permettant intentionnellement l'injection de données à l'exécution et que l'utilisation de guillemets magiques avait un caractère imprévisible.
- PHP4 était alimenté par Zend Engine 1.0, tandis que PHP5 était alimenté par Zend Engine II.
- PHP5 a remplacé les guillemets magiques par la fonction includeslashes () afin d'échapper aux caractères.
- PHP4 est plus un langage de procédure que PHP5 est orienté objet.
- En PHP5, on peut déclarer une classe en tant que Abstract.
- PHP5 incorpore des méthodes et des propriétés statiques.
- PHP5 introduit une fonction spéciale appelée __autoload ()
- PHP5 permet de déclarer une classe ou une méthode en tant que Final
- PHP5 introduit un certain nombre de méthodes magiques, telles que __call, __get, __set et __toString
- En PHP5, il existe 3 niveaux de visibilité: public, privé et protégé.
- PHP5 a introduit des exceptions.
- En PHP4, tout était passé par valeur, y compris les objets. Alors qu'en PHP5, tous les objets sont passés par référence.
- PHP5 introduit les interfaces. Toutes les méthodes définies dans une interface doivent être publiques.
- PHP5 introduit un nouveau niveau d'erreur défini comme 'E_STRICT'
- PHP5 introduit de nouvelles extensions par défaut telles que SimpleXML, DOM et XSL, PDO et Hash.
- PHP5 introduit de nouvelles fonctions.
- PHP5 introduit de nouveaux mots-clés réservés.
- PHP5 inclut des concepts OOP supplémentaires par rapport à php4, tels que les spécificateurs d'accès, l'héritage, etc.
- PHP5 inclut une prise en charge améliorée des systèmes de gestion de contenu actuels.
- PHP5 inclut une consommation réduite de RAM.
- PHP5 introduit une sécurité accrue contre l'exploitation des vulnérabilités dans les scripts PHP.
- PHP5 introduit une programmation plus facile grâce à de nouvelles fonctions et extensions.
- PHP5 introduit une nouvelle extension MySQL appelée MySQLi pour les développeurs utilisant MySQL 4.1 et versions ultérieures.
- En PHP5, SQLite a été fourni avec PHP.
- PHP5 introduit une toute nouvelle extension SOAP intégrée pour l’interopérabilité avec les services Web.
- PHP5 introduit une nouvelle extension SimpleXML permettant d’accéder et de manipuler facilement XML en tant qu’objets PHP. Il peut également s'interfacer avec l'extension DOM et vice-versa.
- En PHP5, les flux ont été grandement améliorés, notamment en ce qui concerne l'accès aux opérations de socket de bas niveau sur les flux.