Historique
Un danois, Rasmus Lerdorf, décidant de mettre en valeur sa page personnelle a créé une collection de scripts en Perl/CGI appelée PHPTools (Personel Home Page Tools). Ré-écrit en langage C, l'outil fut renommé PHP/FI (Forms Interpreter). PHP/FI version 2 peut s'insérer sous forme de module au serveur Apache et permet d'insérer directement des instructions dans du code HTML. En 1997, plusieurs développeurs s'associent à Rasmus Lerdorf pour sortir un an plus tard PHP 3 qui intégrait de nombreuses fonctionnalités comme le support de systèmes de gestion de base de données. PHP étant cette fois un acronyme récursif de "PHP : Hypertext Preprocessor". La sortie de PHP 4 en 2000 puis de PHP 5 en 2004 apporta de nombreuses fonctionnalités supplémentaires.
PHP est donc langage de programmation Open Source principalement utilisé par les développeurs web pour créer des pages dynamiques. En effet c'est un langage de script executé du côté serveur générant principalement du HTML. Sa syntaxe empruntée aux langages C, Java et Perl est assez simple à apprendre.
Programmation
Voici quelques ressources indispensables :
- Site officiel
- Documentation complète en français
- les bibliothèques PEAR
- les bibliothèques PECL
- phpDocumentor
Pour les développeurs Evolix
Voici quelques conventions obligatoires (inspirées des conventions PEAR) :
- Utilisez des balises complètes de type <?php print("Hello World"); ?> ;
- Utilisez des retours chariot de type UNIX, limitez vos lignes à 80 caractères et indentez votre code avec 4 espaces ;
- Commentez abondamment votre code en utilisant les spécifications phpDocumentor ;
- Séparez votre code en plusieurs fichiers pour rendre le code plus clair (utilisez les fichiers de squelette Evolix). Les fonctions utilisées dans plusieurs fichiers doivent être placés dans le répertoire "inc/" et celles utilisées uniquement dans un fichier seront placées en tête de fichier (compatibilité PHP version 3)
- Dans les fichiers inclus (fonctions, etc.), ne fermez pas la balise php à la fin du fichier
- Passez à la ligne avant chaque fin d'accolade, et ouvrez l'accolade en fin de ligne ou sur une nouvelles ligne (concerne les boucles et fonctions). Et mettez des accolades pour chaque bloc (même si il n'y a qu'une instruction) pour plus de lisibilité.
- Lors de boucles multiples, on précisera en commentaires après l'accolade fermante quelle boucle est fermée
- Évitez l'écriture de plusieurs lignes code HTML pur dans des balises PHP : fermez votre balise PHP et re-ouvrez la plus tard. Lorsque vous devrez écrire du HTML dans du PHP, utilisez des guillements (cela permet l'utilisation de variables sans fermer les guillemets et d'écrire directement les apostrophes)
- Utilisez la fonction print plutôt que la fonction echo
- Utilisez (et améliorez) les bibliothèques Evolibs, PEAR et PECL
- Développez avec un outil de gestion de versions et de développement en groupe comme CVS, Subversion ou GNU Arch.
- Pour les nouveaux développements, utilisez cette arborescence