Qu'est ce que PHP

php-logo.png

Qu'est ce que PHP ?

PHP est le langage de programmation le plus utilisé pour réaliser des sites web. Il permet également de réaliser des applications plus complexes et dynamiques.

Les avantages de PHP ?

Sa facilité d'apprentissage, son intégration avec HTML, sa grande communauté et son vaste écosystème de bibliothèques et de frameworks.

Les inconvénients de PHP ?

Son incohérence historique, ses vulnérabilités de sécurité si mal configuré, et ses performances parfois inférieures comparées à d'autres langages. Ses breaking changes sont parfois déroutants.

Les caractéristiques de PHP

Commun

  • Utilité (fonction) : PHP est principalement utilisé pour le développement de sites web dynamiques et d'applications web. Il est particulièrement populaire pour le développement côté serveur.

  • Langue de programmation : PHP est un langage de programmation interprété, orienté objet et procédural.

  • Système d‘exploitation : PHP est multiplateforme, fonctionnant sur Windows, macOS, Linux, et autres systèmes d'exploitation prenant en charge un serveur web.

  • Existe depuis : PHP a été initialement publié en 1995 par Rasmus Lerdorf.

  • Licence : PHP est sous licence PHP License, qui est une licence open source.

  • Développeur : PHP est développé et maintenu par The PHP Group.

  • Communauté : PHP bénéficie d'une grande communauté active de développeurs, avec de nombreux forums, conférences, groupes d'utilisateurs et ressources en ligne.

  • Performance générale : PHP offre de bonnes performances pour le développement web, bien que son interprétation puisse le rendre plus lent que les langages compilés. Les versions récentes ont considérablement amélioré les performances.

  • Maintenabilité : La maintenabilité de PHP peut varier, mais elle est améliorée par l'utilisation de bonnes pratiques, de conventions de codage strictes, et de frameworks comme Laravel et Symfony.

  • Facilité d'apprentissage : PHP est considéré comme relativement facile à apprendre pour les débutants en programmation, grâce à sa syntaxe claire et à son intégration étroite avec HTML.

  • Configuration : PHP nécessite l'installation d'un serveur web (comme Apache ou Nginx) et de PHP lui-même. Des environnements de développement comme XAMPP et WAMP simplifient cette configuration.

  • Documentation : PHP dispose d'une documentation exhaustive et officielle. De nombreux livres, tutoriels en ligne, cours et forums sont également disponibles pour les apprenants de tous niveaux.

  • Alternative : Les alternatives à PHP incluent Python (Django, Flask), Ruby (Ruby on Rails), Node.js (JavaScript), et Java (Spring).

  • On l'aime pour : Sa facilité d'apprentissage, son intégration avec HTML, sa grande communauté et son vaste écosystème de bibliothèques et de frameworks.

  • On le déteste pour : Son incohérence historique, ses vulnérabilités de sécurité si mal configuré, et ses performances parfois inférieures comparées à d'autres langages. Ses breaking changes sont parfois déroutants.

  • Fréquence de mise à jour : PHP est mis à jour régulièrement avec des versions majeures publiées tous les deux ans, apportant de nouvelles fonctionnalités et améliorations.

  • LTS : PHP propose des versions LTS avec un support de trois ans pour les corrections de bugs et de deux ans supplémentaires pour les correctifs de sécurité.

  • Maturité : PHP est un langage mature, avec plus de deux décennies de développement et d'utilisation dans des millions de projets web à travers le monde. Sa stabilité et sa fiabilité sont largement reconnues dans l'industrie.

Langage

  • Moto et philosophie : "PHP: Hypertext Preprocessor" – Conçu pour le développement de pages web dynamiques.

  • Paradigme de programmation : Orienté objet, impératif, interprété, procédural.

  • Maintenabilité des développements : Variable, dépend des pratiques et des frameworks utilisés ; les frameworks modernes comme Laravel améliorent la maintenabilité.

  • Sécurité : Modérée, avec des vulnérabilités courantes comme les injections SQL si mal configuré ; nécessite de suivre les bonnes pratiques de sécurité.

  • Performance des applications : Bonne pour le développement web, surtout avec des versions récentes et des optimisations telles que OPcache.

  • Deggugabilité : Bonne, avec des outils de débogage comme Xdebug.

  • Ecosystème : Vaste, avec de nombreux frameworks (Laravel, Symfony), CMS (WordPress, Drupal), et bibliothèques.

  • Prise en charge des génériques : Non, PHP n'a pas de génériques.

  • Exceptions vérifiées : Non, PHP ne supporte que les exceptions non vérifiées.

  • Polymorphisme : Oui, à travers l'héritage, les interfaces et les méthodes abstraites.

  • Conçu pour : Développement de sites web dynamiques.

  • Type de sécurité : Sécurité basée sur la gestion de la mémoire et les bonnes pratiques de codage.

  • Interropérabilité : Bonne, avec des extensions pour interagir avec des services et des bases de données externes.

  • Arrays : Prise en charge des tableaux associatifs et indexés.

  • Prise en charge de la compilation conditionnelle. : Non applicable

  • Prise en charge de l'instruction Goto. : Oui, bien que son utilisation soit rare et généralement déconseillée.

  • Structure et syndicats : Prise en charge des classes, mais pas des unions.

  • Fait pour : Développement de sites et d'applications web.

  • Installation : Installation de PHP et d'un serveur web comme Apache ou Nginx.

  • Support multi-plateforme : Oui, fonctionne sur Windows, macOS, Linux, et d'autres systèmes.

  • IDE : PhpStorm, Visual Studio Code, Sublime Text.

  • Environnement d'exécution : Serveur web avec un module PHP ou PHP-FPM.

  • Dépendance à la plate-forme : Indépendant, fonctionne sur n'importe quel serveur web compatible.

  • Pointers : Non, PHP n'a pas de pointeurs.

  • Point flottant : Oui, prise en charge des types float et double.

  • Indice TIOBE : Généralement dans le top 10 à 15.

  • Mode d'Exécution du Langage : Interprété. Le code source est exécuté directement par l’interpréteur PHP.

  • Typage : Utilise un typage dynamique et faible. Les types sont déterminés à l’exécution et les conversions implicites sont autorisées.

  • Entreprises célèbres utilisant : Facebook (à l'origine), Wikipedia, WordPress.