1-Qu'est-ce
qu'est PHP.
PHP ou PHP Hypertext Preprocessor pour
les intimes, est un langage script, orienté vers
le monde de l'internet. En effet, ceux qui ont
déjà programmé des pages internets au format
HTML, connaissent bien les limites d'un tel
langage. Lorsqu'il s'agit d'interroger une base
de données et d'affichager le résultat, par
exemple, il est trés difficile, voir impossible
de le faire statiquement par le biais de pages
HTML. Il faut créer ou générer la page HTML
dynamiquement en fonction du résultat, d'où le
besoin de langage tel que PHP, Java, JSP, Perl,
etc.
PHP est, comme nous l'avons dit précédement,
un langage script, ce qui
signifie que le code est interprété
et non pas compilé comme le
langage C ou C++. Cela permet de détacher le
code php du type d'OS sur lequel il doit être
interprété. Bien entendu, cela impose d'avoir
un interpréteur compilé et exécutable sur cet
OS. Il existe à ma connaissance, un
interpréteur pour les plateformes Linux, Unix et
Windows. Pour les plateformes OS/2, Apple et
autres, je ne sais pas.
De plus, le code est interprété du côté du
serveur et non plus du côté du client. Ce qui,
a condition d'avoir un serveur capable de gérer
cette montée en charge, est un gain de temps par
rapport aux langages tel que le java script. En
effet, la rapidité dépend du serveur et non
plus du clients.
Contrairement au javascript, PHP reste
invisible dans le code de la page HTML, une fois
celle-ci interprétée.
Fichiers textes |
|
Interpréteur PHP |
|
Flux HTML |
|
|
|
|
|
Il est à noter que php est un
produit entiérement gratuis et régi par les
lois des logiciels libres.
2-Historique.
1994-1995: |
Rasmus Lerdorf, dans le
cadre dun projet personnel, crée
PHP-FI. Ce projet sofficialise et
devient PHP2. |
1996-1997: |
Le projet trouve très vite un
engouement des internautes et lon
voit apparaître PHP3. |
1999-2000: |
La version PHP4
corrige quelques bugs de la version 3.
Elle intègre aussi la technologie Zend. |
3-Évolution du
nombre de sites en PHP
D'aprés Cyveillance.com, le nombre de sites
aujourdhui sur le net est estimé à
environ 2 milliards ( source ) et des millers
d'autres apparaisent chaque jours. Pour donner
une idée de l'angoument des internautes pour php
depuis sa création, voici un petit schéma:
4-Avantages
et Inconvénients.
Les plus: |
- Syntaxe classique et pratique
proche du C.
- Maintenance facile.
- Ecriture générique et classe.
- Indépendant de lOS.
- S'inscrit directement dans les
pages
- Complet avec plus de 500
fonctions: accés fichier, mail,
expressions réguliéres...
- Interprété par le serveur
|
Les moins: |
- Problèmes dues à la gestion
automatique des types de
données.
- Absence de débuggeur.
- Pas denvironnement de
développement.
|
5-Les
concurrents.
ASP: |
Active Server Page, technologie
Microsoft proche de VBScript. |
PERL: |
Puissant et complet, mais le code est
complexe et illisible. |
JSP: |
Permet d'écrire des pages hybrides
HTML/Java. Compile et exécute le source
comme "servlet". |
6-Installation
sous Linux et windows.
|
Windows: |
|
Il existe un package
pour Windows comprenant Apache, MySQL,
PHP, PHP2 et PHP3, facile à installer: EasyPHP.
Il est téléchargeable à ladresse
www.easyphp.net.
Cest vraiment le plus simple moyen
davoir un environnement pour tester
vos scripts PHP très rapidement et très
simplement sur Winodw 95/98. |
7-La synthaxe.
Proche du C, un script PHP3 peut comprendre a
la fois du code PHP et du code HTML, non
interprété. On doit donc encadrer les parties
comportant le code PHP entre deux balises. Le
reste de la page n'est pas interprété. Vous
avez le choix entre:
<?
et ?>
|
<%
et %>
|
<?php
et ?>
|
<script
language="php"> et
</script>
|
7-1-Les variables.
Les variables sont précédées du signe $,
quelque soit leur type. Leur déclaration est optionnelle.
C'est PHP qui décide de son type lors de
l'affectation. Il n'y a pas de pointeur, mais des
références (&). Leur visibilité est la
même que pour le langage C (globale et locale).
- $MaVariable=1;
- $MaVariable=« Ma variable »;
- $MaVariable=1
Vous pouvez toujours les typer. Il existe 6
types:
- Int (entier)
- Array (tableau)
- String (chaîne de caractères)
- Object (objet)
- Real,double,float (décimal)
- Boolean (à partir de PHP4)
7-2-Les tableaux.
Il existe une bibliothèque standard qui
propose un ensemble de fonctions
courantes. Par exemple, pour les
tableaux, PHP propose:
- Array_push();
- Array_walk();
- Current;
- Count;
- Next;
- Prev;
- Pos;
- End;
Ces fonctions font parties de la bibliothéque
standard de PHP. Elles évitent de longs
moments de programmation à réinventer le fil à
couper le beurre. Elles sont également trés
utiles car la plupart des fonctions qui
retournent un résultat d'une requête de base de
données, le font sous forme de tableau! Les
tableaux sont trés utilisés. Ils peuvent être
des tableaux de tableaux, où même chaque
cellule peut être de type différent,
contraiement au C trés fortement typé. Par
Exemple: |
$MonTableau=array();
$MonTableau[0]="MonTableau ";
$MonTableau[1]="contient ";
$MonTableau[2]=125;
$MonTableau[3]=" caractéres et
";
$MonTableau[4]=0.256;
$MonTableau[5]=" pousiéres";
for ($i=0;$i<6;$i++) {echo
"$MonTableau[$i]";}
|
Résultat: |
MonTableau contient 125
caractéres et 0.256 pousiéres |
7-3-Les
branchements,tests, boucles et autres
structures de contrôle.
PHP, de part sa nature proche du C, propose
les mêmes structures de contrôle: for,
while, do...while, if
elseif
else ,
switch
case
default.
PHP propose également deux fonctions
étroitements liées aux boucles: each()
et list(). Ces fonctions rendent plus
facile le travail sur des tableaux.
PHP propose depuis la version 4 foreach.
Ce contrôle permet de lire dans un tableau sans
tenir compte de ses bornes.
7-4-les fonctions.
Il n'y a pas de distinction entre les
fonctions et les procédures en PHP. Les
fonctions PHP prennent de 0 à n paramètres. Ces
paramètres peuvent être de type quelconque. Ils
peuvent également être déterminés par défaut
dans lappel de la fonction, ceux sont des
paramètres optionnels. Il faut implémenter la
fonction en amont de son utilisation dans les
versions antérieures à PHP4. On ne peut pas
déclarer le prototype d'une fonction.
Exemple: |
Function HelloWorld ( $nom =
"Roullet" ,
$prenom=« Nicolas » )
{
echo
"<BR><FONT>Bonjour";
echo
"prenom strtoupper($nom).</FONT>";
}
HelloWorld();
HelloWorld("jean","paul");
|
Résultat: |
Bonjour Nicolas ROULLET.
Bonjour paul JEAN. |
7-5-Les classes et notions
d'objets.
PHP propose une programmation proche
de lobjet. En effet, il propose
des notions de classes et dhéritages.
Cependant, les notions de private et public
nexistent pas.
Exemple: |
<? PHP Class MaClasse{
Var $attribut;
Function MaMethode ( )
{
echo
"Bonjour $this->attribut
.";
}
}
$new_classe= new MaClasse();
$new_classe->
attribut="Nicolas";
$new_classe-> MaMethode ( ) ;
?>
|
Résultat: |
Bonjour Nicolas . |
8-Biliographie.
Livre: |
"Programmation
Web avec PHP" de
L.Lacroix, N.Leprince, C.Boggero et
C.Lauer
Aux éditions Eyrolles. |
Web: |
|
9-Conclusion.
|
PHP se veut donc un langage internet permettant de programmer toutes sortes de fonctionnalités
avec l'aide du langage HTML. |
|