PHP, un langage pour construire des pages Web sur le serveur

Le langage de programmation PHP

Un script PHP produit des pages HTML, et peut être imbriqué à l'intérieur de code HTML, comme JavaScript mais fonctionne sur le serveur. Un script PHP peut être utilisé localement.
Il ressemble au C, et aux langages de scripts d'Unix.

PHP a été conçu en 1995 par Rasmus Lerdorf parcequ'il avait besoin lui-même d'un outil gratuit pour programmer des pages Web et le distribue en source libre sous le nom PHP/FI, Personal Home Pages / Form Interpreter. Il le développera ensuite avec l'aide de plusieurs programmeurs qui écrivent un nouveau moteur pour PHP 3 et lui donnent le nom de PHP Hypertext Processor en 1997. En 1999 le moteur Zend est créé pour PHP 4.
PHP 5 est apparu en 2004, il est orienté objects et supporte XML.

Un serveur doit être configuré pour exécuter l'interpréteur sur les pages ayant l'extension .php, et envoyer les pages HTML modifiées sur le réseau.
PHP est le P dans l'architecture populaire LAMP qui inclut le système d'exploitation Linux, le serveur Apache et la base de données MySQL.
Il existe un projet pour porter PHP sous .NET appelé Phalanger.

Caractéristiques de PHP

Syntaxe

Le langage n'est pas sensible à la casse.
Les variables sont préfixée par le symbole $ et aucun type n'est spécifié.
Les chaînes litérales comprises entre "" sont évaluées pour les code spéciaux et les variables.

Quelques symboles

<?php et ?> doivent enclore un programme PHP.
# ou // démarrent un commentaire.
array( "1" =>" "a, ...) est un dictionaire.

Structures de contrôle

La structure if dispose des options elsif et else.

if(x < 10)
{ echo "$x inférieur à 10\n"; }
else { echo 'etc...\n' }
La structure while:
while(expr)

{
    ... 
} 
         

Fonction ou méthode

La définition d'une fonction commence par le mot-clé function, suivi du nom et la liste des arguments séparé par des virgules, et le corps est enclos entre { et }.
Le mot-clé return dans le corps de la définition permet de retourner une valeur.

function nomfonc( arguments )
{
...instructions... return(x);
}

Classe

class nom

{
    ...
}

Le corps est similaire au code global.

Serveur local

Pour fonctionner localement, et notamment pour la mise au point du code, il faut installer un serveur et ensuite exécuter le script avec le préfixe http://localhost.

Depuis la version 5.4, cela devient superflu car un serveur local est inclut dans la distribution. On lance le serveur avec cette commande:

$ php -S localhost:1000

Ou 1000 est le numéro du port (c'est un exemple). L'avantage par rapport aux solutions comme Wamp est qu'il n'est pas nécessaire de transférer les fichiers dans un répertoire spécifique, le www en l'occurence. Les scripts et pages PHP fonctionnent là où elles se trouvent.

Exemples de code

Afficher les lettres d'un texte.

$str = "demo";
$len = strlen($str);
for($i = 0; $i < $len; $i++) 
{ 
     echo $str[$i];
 } 

Afficher les éléments d'un tableau.

$arr = array(1,2,3 );
$arr = array_merge($arr, array( 4,5));
$sub = array_slice(|$arr, 1,3);
foreach($sub $as $num) 
{
     echo $num;
} 
>> doit afficher:  234

Pourquoi utiliser PHP?

PHP est un outil Internet fonctionnant sur le serveur pour exécuter des scripts, ou créer ou modifier des pages Web dans lesquels il est inclus.
Il convient pour traiter des données importantes coté serveur, et construire des pages HTML affichant les résultats (JavaScript convient pour modifier dynamiquement les pages coté navigateur).
PHP 5 est un concurrent à Java en plus simple, comme serveur d'application et constitue une plateforme pour les applications et services Web.
PHP est le langage le plus utilisé pour réaliser des CMS, les systèmes de gestion de contenu.

PHP 6 (en fait PHP 5.x)

Le projet PHP 6 qui devait utiliser le format d'encodage Unicode a été abandonné. Mais certaines fonction prévue dans le projets sont ou seront incorporées dans PHP 5.

  1. Les espaces de noms.
  2. XMLReader. Pour lire des fichiers XML en mode Sax progressif.
  3. XMLWriter.
  4. goto, la directive du langage Basic réapparaît.
  5. Fonctions lambda ou closures (sans nom).
  6. Extension filefinfo, pour le système de fichier.
  7. Phar. Permet de placer une application PHP dans un seul fichier exécutable, comme on le fait en Java avec les .jar.
  8. Intl. Internationalisation.
  9. Les opérateurs continue et break ne pourront fonctionner qu'avec des constantes ou sans paramètre.
  10. La fonction ereg() pour les expressions régulières sera supprimée. Il faudra la remplacer par preg_match() dont le format est différent mais plus généralement utilisé.
  11. La compatibilité avec d'anciens formats comme GD 1 et Freetype 1 sera supprimée.
  12. Magic_quotes, une propriété très décriée car source de failles de sécurité ne sera plus supporté.
  13. Il en est de même pour register_global, safe_mode et register_long_arrays.
    Il faudra donc modifier les applications présentes pour les rendre compatibles.
  14. Les balises <?php ?>, sont les seules reconnues.
  15. dl() pour charger une librairie dynamique est désactivé.

Optimiser PHP: Google vs. L'équipe de PHP

Les techniciens de Google donnent des conseils aux Webmasters pour optimiser le code des pages et des scripts. Un de ces articles concerne PHP et indique en plusieurs points comment modifier le code, remplacer des structures de contrôle, pour l'optimiser au mieux.
Mais du coté des créateurs du language, on s'insurge et on conteste cette analyse. Cette polémique est intéressante pour les webmasters qui utilisent le PHP sur leur site, car elle fournit des précisions utile sur l'optimisation du code.

Le seul point sur lequel les deux parties sont d'accord, c'est qu'il vaut mieux migrer vers la dernière version de PHP, car c'est toujours la plus rapide.

Outils et tutoriels

Editeurs gratuits

Aides au développement

Scripts et tutoriels

Sites

Langages de programmation AspectJ - Basic - C - CIL - C++ - C++11 - C# - Dart - Eiffel - Go - Java - JavaScript - JavaFX Script - Pascal - PHP - Python - QML - Rexx - Ruby - Scala - Scriptol - Tcl - HTML - XML - XAML - XUL - SQL