Retours |
Echanges de bandeaux |
Visionneuses |
Rémunération |
Autres |
TUTORIAL POUR LE LANGAGE PHP
Naissance du PHP Naissance du PHP
Le PHP est un langage de script utilisé du coté
serveur (par opposition à des langages executés coté client comme le JavaScript).
Officiellement, on dit "PHP : Hypertext Preprocessor", mais PHP voulait aussi
ancienement dire "Personal HomePage". Le PHP est generalement couplé à un serveur du type Apache, et à une base de données MySQL. L'utilisation et l'installation de ce type d'application est très commune sous Unix ou Linux, mais assez mal documentée pour les utilisateurs de Windows.
Installation d'ApacheComme on l'a vu, PHP s'execute coté serveur. Donc, il nous faut trouver un
"serveur". Windows est normalement fourni avec Microsoft Personnel Web
Serveur. On peut aussi utiliser Microsoft Internet Information Server. ServerAdmin you@your.address Vous devez remplacer par votre adresse : ServerAdmin webmaster@cybwarrior.com
#ServerName new.host.name En : ServerName localhost Maintenant, fermez le fichier. Nous allons tester si Apache fonctionne.
Installation de PHP4Maintenant que Apache est installé, il ne manque plus que PHP. Il vous faut
pour cela l'archive regroupant PHP 4.0.0 pour Win32. Elle est disponible sur
http://www.php.net/ dans la rubrique
Downloads # # Dynamic Shared Object (DSO) Support # # To be able to use the functionality of a module which was built as a DSO you # have to place corresponding `LoadModule' lines at this location so the # directives contained in it are actually available _before_ they are used. # Please read the file README.DSO in the Apache 1.3 distribution for more # details about the DSO mechanism and run `apache -l' for the list of already # built-in (statically linked and thus always available) modules in your Apache # binary. # # Note: The order in which modules are loaded is important. Don't change # the order below without expert advice. # #LoadModule anon_auth_module modules/ApacheModuleAuthAnon.dll #LoadModule cern_meta_module modules/ApacheModuleCERNMeta.dll #LoadModule digest_module modules/ApacheModuleDigest.dll #LoadModule expires_module modules/ApacheModuleExpires.dll #LoadModule headers_module modules/ApacheModuleHeaders.dll #LoadModule proxy_module modules/ApacheModuleProxy.dll #LoadModule rewrite_module modules/ApacheModuleRewrite.dll #LoadModule speling_module modules/ApacheModuleSpeling.dll #LoadModule status_module modules/ApacheModuleStatus.dll #LoadModule usertrack_module modules/ApacheModuleUserTrack.dll Ajoutez la ligne suivante, à la fin : LoadModule php4_module c:\php4\sapi\php4apache.dll Dans la mesure où vous avez dé-zipé PHP dans le répertoire C:\PHP4. # # AddType allows you to tweak mime.types without actually editing it, or to # make certain files to be certain types. # # For example, the PHP3 module (not part of the Apache distribution) # will typically use: # #AddType application/x-httpd-php3 .phtml #AddType application/x-httpd-php3-source .phps Vous devez ajouter les lignes suivantes : AddType application/x-httpd-php .php .phtml AddType application/x-httpd-php-source .phps C'est lignes spécifient les extensions qui vont permettrent de différencier
vos scripts PHP des autres fichiers. Si vous voulez que vos pages soient des
.bob, ils n'y a qu'à le rajouter ici. <?php phpinfo(); ?> Ce fichier doit être situé dans le répertoire htdocs de Apache. Si
vous avez installé Apache au chemin par défaut, ce sera C:\Program
Files\Apache Group\Apache\htdocs.
Installation de MySQLDernière étape : l'installation de MySQL qui fera de PHP un outil puissant. c:\mysql\bin\mysqld-shareware.exe --language=french Dans la mesure où c:\mysql est le répertoire de votre choix. c:\mysql\bin\mysqladmin.exe -u root shutdown Ça y est! Le tout est joué. Pour lancer MySQL, executez le fichier Start.bat,
pour l'arreter, le fichier Stop.bat. Fonctionnement Inclusion du code Un script PHP n'est rien d'autre que du code écrit dans un fichier texte.
Aucune compilation n'est necessaire, puisque ce langage est interprété (donc
plus lent que les JSP).
La syntaxe la plus utilisée est la première ( <!-- Nom du fichier 'index.php' --> <HTML> <HEAD> <TITLE>Bienvenue sur le site de Titou la Bibine :-)</TITLE> </HEAD> <BODY> <H2 align="center">Bienvenue sur le site de Titou la Bibine :-)</H2> <?php print "Vous êtes notre 50000 visiteurs"; ?> </BODY> </HTML> Lorsque un client, c'est à dire un internaute, va vouloir consulter la page
ci-dessus nommée <!-- Nom du fichier 'index.php' --> <HTML> <HEAD> <TITLE>Bienvenue sur le site de Titou la Bibine :-)</TITLE> </HEAD> <BODY> <H2 align="center">Bienvenue sur le site de Titou la Bibine :-)</H2> Vous êtes notre 50000 visiteurs </BODY> </HTML> On constate que le code PHP est inacessible au client, ce qui fait que rien
ne permet au client de savoir que la page qu'il lit est en fait un script PHP,
si ce n'est l'extension Un premier script La syntaxe des fontions en PHP est la même que en C : fonction(argument1, argument2, ..., argumentX); Le nombre d'argument est variable selon la fonction. <!-- Nom du fichier 'index.php' --> <HTML> <HEAD> <TITLE>Bienvenue sur le site de Titou la Bibine :-)</TITLE> </HEAD> <BODY> <H2 align="center">Bienvenue sur le site de Titou la Bibine :-)</H2> <?php print "Vous êtes notre 50000 visiteurs"; ?> </BODY> </HTML> La fonction print, qui permet d'écrire dans le document, est une exception. En effet, on peut lui omettre des parentèses, ce qui va plus vite à écrire. Mais notre code aurait aussi pu s'écrire : <?php print("Vous êtes notre 50000 visiteurs"); ?> Une autre exception à cette rêgle des fonctions est la fonction echo.
La fonction <?php print("print() : Vous êtes notre 50000 visiteurs<br>"); print "print : Vous êtes notre 50000 visiteurs<br>"; echo("echo() : Vous êtes notre 50000 visiteurs<br>"); echo "echo : Vous êtes notre 50000 visiteurs<br>"; ?> Résultat :
La seule différence entre <?php echo "Un argument", " deux arguments ", "trois arguments"; ?> La plupart du temps, une fonction ne se contente pas d'agir. Elle peut également renvoyer une valeur. Le code ci-dessous affiche un nombre de visiteurs aleatoire : <?php echo "Bienvenue à notre ", rand(), "<sup>ème</sup> visiteur!"; ?> Ce qui donnera : Bienvenue à notre 23697ème visiteur! LES VARIABLES IntroductionUne variable sert à stocker des données temporaires. C'est à dire que ces
données seront perdues entre deux appels du script. $i $premier_passage $telephone1 $telephone2 Pour affecter une valeur à une variable, on utilise l'opérateur =
(égal). $password = "jamesbond007"; print $password; Cette exemple affiche : jamesbond007 On peut aussi affecter la valeur d'une variable à une autre variable : $var1 = "JO"; $var2 = $var1; print $var2; Cela affiche : JO On peut aussi affecter une même valeur à plusieurs variables d'un seul coup, comme en C : $var1 = $var2 = $var3 = "Waza"; echo $var1, $var2, $var3; Résultat : WazaWazaWaza Variables dynamiquesEn C, on entend par variable dynamique (ou plutôt par tableau dynamique), une
variable qui peut avoir une taille modifiable dans le temps. $citation = "T'es comme le H de Hawai, tu sers à rien :-)"; print ${"citation"}; Résultat : T'es comme le H de Hawai, tu sers à rien :-) En peut faire encore plus fort : $citation = "T'es comme le H de Hawai, tu sers à rien :-)"; $var = "citation"; print $$var; Cela nous donne encore : T'es comme le H de Hawai, tu sers à rien :-) Ou encore mieux : $citation = "T'es comme le H de Hawai, tu sers à rien :-)"; $var = "citation"; $finalement = "var"; print $$$finalement; Nous pourrions multiplier les exemples à l'infini (ou presque : ça dépend de
la memoire et de la place disponible sur la pile de votre machine). RéférencesLe PHP permet d'établir des références entre variables. Cela peut paraitre
similaire aux pointeurs du C, mais il y a quelques petites différences. En fait,
comme il est écrit dans le manuel officiel de PHP, "les références sont des
alias dans la table des symboles. Le nom de la variable et son contenu ont des
noms différents, ce qui fait que l'on peut donner plusieurs noms au même
contenu." $hello = "Hello"; $bonjour = "Bonjour"; echo $hello, $bonjour, "<br>"; $hello = &$bonjour; echo $hello, $bonjour, "<br>"; $hello = "Buenos Dias"; echo $hello, $bonjour, "<br>"; $hello = "Guten Tag"; echo $hello, $bonjour, "<br>"; Résultat : HelloBonjour BonjourBonjour Buenos DiasBuenos Dias Guten TagGuten Tag On se rend compte qu'après la ligne Types de donnéesBien que le PHP soit non typé, les données ont cependant des types. Ainsi, on
distinguera
class myclass {}; echo gettype(8), "<br>", gettype("8"), "<br>", gettype(8.00), "<br>", gettype(true), "<br>", gettype(array()), "<br>"; gettype(myclass()), "<br>"; Ce qui nous donne : integer string double boolean array object Note : on a utilisé la fonction int settype(mixed var, string type) Le premier argument, $pi = 3.141592654858; echo $pi, "<br>"; settype($pi, "integer"); echo $pi, "<br>"; Résultat : 3.14159265458 3 On peut aussi modifier le type à l'aide de la syntaxe suivante : $var = (type) $var On place le type entre parenthèses (sans guillemets) devant la variable. $var = 3.14159265458; $new = (integer) $var; echo $new; LES COMMENTAIRES Les commentaires permettent de donner des
indications dans le script, afin de faciliter sa compréhension au lecteur. # Début du script /* Voici un script merveilleux qui sert à donner l'heure à laquelle la page à été chargée */ print date("H:M:S"); // On écrit l'heure sous le format H:M:S # Fin du script Tous ce qui se trouve à l'interieur d'un commentaire est tout simplement
ignoré par l'interpréteur. LES CHAÎNES DE CARACTÈRES Apostrophes ou guillemets ?Un chaîne de caractères est contenue soit entre des guillemets ("),
soit entre des apostrophes ('). print "Hello!"; // Avec des guillemets print 'Hello!'; // Avec des apostrophes Quelle est la différence ? La voici : en utilisant des guillemets, les
variables contenues à l'interieur de la chaîne seront évaluées et remplacées par
leur valeur à l'instant t. $nom = "Raphaël"; print "Je m'appelle $nom"; // Sortie -> Je m'appelle Raphaël print 'Je m'appelle $nom'; // Sortie -> Je m'appelle $nom Caractères spéciaux
Comme en C, on peut utiliser l'anti-slash (\) pour echapper des caractères spéciaux, comme par exemple, un apostrophe ou des guillemets : print 'It\'s Sunday and I\'ll go to the
Church'; // It's Sunday and I'll go to the Church
Here DocCe qui est bien avec PHP, c'est que l'on peut écrire une chaîne de caractères sur plusieurs lignes : $html = " <html> <head> <title>Ma page Web</title> </head> <body> <h2>Welcome to Paradise!</h2> </body> </html> "; Par contre si on veut pouvoir être tout à fait
libre d'utiliser n'importe quel caractère dans une chaîne, comme les guillemets
par exemple, on peut utiliser la syntaxe Here Doc heritée de Perl (que
j'aime bien :-). On débute la chaîne par <<< et un identifiant quelconque. On
écrit ensuite notre texte, puis on termine en ré-écrivant l'identifiant choisi
en DEBUT d'une nouvelle ligne, sans oublier le point-virgule bien sur. $html = <<< MON_DOC_HTML <html> <head> <title>Ma page Web</title> <meta name="description" content="Ma Page Oueb"> <meta name="keywords" content="paradise,web,page,perso"> </head> <body> <h2 align="center">Welcome to Paradise!</h2> </body> </html> MON_DOC_HTML; Attention cependant : avec cette syntaxe, les variables sont toujours interprétées. AccoladesDans une chaîne avec guillemets, les accolades permettent de specifier des noms de variables comme si elles se situées hors de cette chaîne. $var = "N'est ce pas ?"; Les accolades sont également utiles pour passer des tableaux mutli-dimensionnels (que nous verrons plus tard) : $ar = array(); $ar[] = array("fou"); print "C'est $ar[0][0], non ?"; // Provoque une erreur print "C'est {$ar[0][0]}, non ?"; // OK!
© Copyrights GigaSurf 2003/2006 - Tous droits réservés.
|
SPONSORS - PUBLICITÉS - ÉCHANGES DE BANNIÈRES
|