Rechercher dans les publications Rechercher:

Imprimer cet article

Rechercher dans les publications Auteur : Cariboo
Site Web :
Pnambique

Directeur du Pôle Experts de la société @position http://www.aposition.com

Articles de l'auteur :
La détection du Link Spam : un challenge pour les moteurs [3/4]
La détection du Link Spam : un challenge pour les moteurs [2/4]
La détection du Link Spam : un challenge pour les moteurs [Bibl.]
La détection du Link Spam : un challenge pour les moteurs [1/4]
Cuill veut surpasser Google grâce à l’analyse de données sémantiques
2007 : l’année des moteurs furtifs
L’autre sémantique - Le Web Sémantique et les systèmes de recherche d’information. [3.4]
L’autre sémantique - Le Web Sémantique et les systèmes de recherche d’information. [3.3]
L’autre sémantique - Le Web Sémantique et les systèmes de recherche d’information. [3.2]
L’autre sémantique - Le Web Sémantique et les systèmes de recherche d’information. [3.1]
Joachim Kreibich (Seekport) : pour nous, un moteur de recherche de qualité doit tenir compte des particularismes linguistiques nationaux, voire régionaux
Une tentative de définition du spamdexing
Google Base dévoilé !
Les concepts de la POO
La programmation objet : qu’est-ce que c’est ? à quoi ça sert ?
Gregory Olivier "MSN Search cherche à établir un véritable dialogue avec les webmasters et les référenceurs"
Direct Answers from Encarta
MSN Search utilise-t’il l’analyse au niveau des blocs ?
Spyware : les méthodes pour s’en débarasser
Michael James, de la société Mirago "Nous misons sur nos partenaires pour développer notre visibilité"
La sémantique appliquée et les outils de recherche [2/6]
Linguistique statistique et sémantique appliquée : outil de pertinence pour les moteurs, de KM et de référencement
ANALYSE THEMATIQUE (4/4) par le Pr E. Garcia
ANALYSE THEMATIQUE (3/4) par le Pr E. Garcia
Applications des outils sémantiques au référencement et aux moteurs de recherche
Sémantique appliquée : Liens et références bibliographiques
ANALYSE THEMATIQUE (2/4) par le Pr E. Garcia
ANALYSE THEMATIQUE (1/4) par le Pr E. Garcia
CIRCA : la technologie d’Applied Semantics au coeur des Adwords et des Adsense de Google [3]
Mon premier programme en PHP (3e Partie)
CIRCA : la technologie d’Applied Semantics au coeur des Adwords et des Adsense de Google [2]
CIRCA : la technologie d’Applied Semantics au coeur des Adwords et des Adsense de Google [1]
Quelques pistes pour comprendre le nouvel algorithme de Google (suite et fin)
Quelques pistes pour comprendre le nouvel algorithme de Google
FOOXX, le moteur futé venu d’Allemagne
Le futur moteur que prépare Microsoft pour MSN sera-t’il Brilliant ?
Mooter, un moteur de recherche innovant venu d’Australie
Les techniques évoluées d’indexation dans les moteurs de recherche (2e partie)
Visibilité et stratégies de développement d’audience sur le Web
Les techniques évoluées d’indexation dans les moteurs de recherche
L’algorithme HITS et le projet CLEVER (deuxième partie)
L’algorithme HITS et le projet CLEVER
La structure du web est en forme de "noeud papillon"
Webfountain d’IBM
Vers un moteur de recherche sensible au contexte (1ère partie)
Vers un moteur de recherche sensible au contexte (2ème partie)
Vers un moteur de recherche sensible au contexte (3ème partie)
Droit d’auteur et site web
Droit d’auteur et site web (2e Partie)
Droit des producteurs de bases de données (législation française)
Tester correctement variables et valeurs en php
Mon premier programme en PHP (2e Partie)
Les nouveautés de la version 5 de PHP
Les origines du PHP
Mon premier programme en PHP
Pourquoi choisir le PHP pour réaliser des pages dynamiques ?
Mon premier programme en PHP

[niveau : débutant]

Mon premier programme en PHP

A la découverte d’un langage facile d’accès et performant

30 août 2003, par Cariboo

Ca y’est : vous avez décidé de changer vos pages HTML statiques en pages dynamiques. Il faut donc que vous mettiez les mains dans le cambouis, et que vous programmiez un script en PHP. Ne soyez pas intimidés, vous risquez d’être surpris par la vitesse à laquelle un développeur débutant peut prendre en main ce langage.

Comment créer un script php ?

Un script php n’est qu’un fichier texte, qui contient des instructions en langage php et/ou en langage html. Pour que le serveur Apache reconnaisse le fichier texte, le nom du fichier script doit contenir une extension qui indique qu’il s’agit d’un fichier php. En général, cette extension est .php, mais selon la configuration de votre hébergement, cela pourra être ".php3" ou ".php4" [1].

L’extension devenue la plus répandue depuis la version 4 est ".php".

A quoi ressemble le code d’un script php ?

Voici deux exemples de code en php [2], qui génèrent exactement la même page HTML, qui affiche la date indiquée par l’horloge du serveur web.


<html>
<head>
</head>
<body>
<?php
echo "Voici la date indiqu&eacutee par le serveur web :";
$ladate = getdate();
$mois = $ladate['month'];
$mjour = $ladate['mday'];
$annee = $ladate['year'];
echo "$mjour/$mois/$annee";
?>
</body>
</html>

Ce code présente la manière la plus simple pour créer du code php : il s’agit d’une page HTML classique, au sein de laquelle on ajoute une portion de code PHP. L’interpréteur PHP (le "parser" à l’origine des "parse errors" qui vont vous devenir vite familières), n’interprète que le code compris entre les balise "<?php et " ?>" [3]. Tout ce qui est en dehors de ces balises, est considéré comme du HTML, et directement reproduit sans modification dans la page générée par le serveur web.

Le code généré (celui qui s’affiche en regardant la source dans votre browser) ressemble donc à cela :


<html>
<head>
</head>
<body>
Voici la date indiqu&eacutee par le serveur web :30/08/2003
</body>
</html>

La zone de code php a disparu, et a été remplacée par le code HTML généré par celui-ci : la phrase et la date.

Une petite variante :


<?php
echo "<html>";
echo "<body>";
echo "Voici la date indiqu&eacutee par le serveur web :";
$ladate = getdate();
$mois = $ladate['month'];
$mjour = $ladate['mday'];
$annee = $ladate['year'];
echo "$mjour/$mois/$annee";
echo "</body>";
echo "</html>";
?>

Dans cette variante, tout le script est rédigé en PHP, et toutes les balises HTML sont générées par le code PHP. Le premier script est plus clair, mais il devient par fois plus simple de générér tout une zone de HTML en php, dès lors que le HTML statique doit être sans arrêt combiné avec des éléments dynamiques.

Une deuxième variante :


<?php
$ladate = getdate();
$mois = $ladate['month'];
$mjour = $ladate['mday'];
$annee = $ladate['year'];
?>
<html>
<body>
Voici la date indiqu&eacutee par le serveur web :<?php echo "$mjour/$mois/$annee";?>
</body>
</html>
    Remarque : sur cette deuxième variante, il faut penser à placer un espace entre la balise <?php et la première instruction. Sinon on obtient une erreur de syntaxe "parse error at line xxx". Si on place l’instruction sur la ligne suivante, inutile d’ajouter un espace.

Le séparateur d’instructions : point-virgule

Vous avez sans doute remarqué sur les exemples que les lignes de code se terminent par un point virgule.

Ce point-virgule est très important (on le retrouve dans la syntaxe du C et du Perl) car il joue le rôle de séparateur d’instructions. Il indique au "parser" à quel endroit s’achève un groupe de mots clés, cet ensemble de mots clés constituant une instruction. Et ceci, indépendamment des sauts de ligne...


    echo "bonjour";

est aussi valide que :


    echo
    "bonjour";
Avec quel outil écrire ses scripts PHP ?

L’idéal est d’utiliser un éditeur HTML qui soit capable de reconnaître la syntaxe du PHP. La "coloration syntaxique" permet notamment de détecter facilement les parenthèses mal fermées, les quotes oubliées, les fonctions mal orthographiées. Editplus ou Context ou encore Ultraedit sont de bons exemples de ce style d’éditeur mais il y’en a bien d’autres. On peut également utiliser des outils plus évolués comme Dreamweaver ou Golive. Dans les deux cas, il faut bien maîtriser le logiciel avant d’utiliser les fonctionnalités PHP, sous peine de voir les générateurs de code de ces applications, soit effacer ces balises qu’ils ne connaissent pas, soit écrire au beau milieu, en transformant votre code en bouillie.

Il existe également des environnements de développement, qui peuvent également rendre de sérieux services : PHPEdit

En tout cas, il faut bannir les traitements de texte évolués, comme Word

Les commentaires

Le langage PHP est très généreux avec les développeurs habitués à d’autres langages : il accepte tous les types de commentaires C et les notations type SHELL UNIX.

Rappelons ici l’utilité de "documenter" et de "commenter" son code, pour le rendre plus accessible à d’autres développeurs, ou à soi même, quand on se replonge dans ses propres scripts quelques mois après les avoir écrits.

Voici l’exemple de tout à l’heure avec les différents types de commentaires :


<?php
// commentaire type C sur une ligne,
// tout ce qui suit le // est considéré comme un commentaire
/* commentaire type C sur plusieurs lignes
Toutes les lignes entre les deux balises
sont considérées comme des commentaires
*/
# Commentaire type Shell Unix
$ladate = getdate();
$mois = $ladate['month'];
$mjour = $ladate['mday'];
$annee = $ladate['year'];
?>
<html>
<body>
Voici la date indiqu&eacutee par le serveur web :<?php echo "$mjour/$mois/$annee";?>
</body>
</html>

Il est déconseillé d’utiliser les commentaires type SHELL Unix et //, car ils peuvent rendre le code ambigu, ou ne font pas bon ménage avec le XML. Les commentaires // sont par contre recommandés avec PEAR. [4]

La suite : Mon premier programme en PHP (2e Partie)

Philippe YONNET



[1] Certains serveurs acceptent n’importe qu’elle extension, d’autres non. Certains hébergements, pour éviter à leurs clients des soucis de compatibilité ascendante, ont choisi d’interpréter ".php" ou ".php4" comme du php version 4 et ".php3" comme du PHP version 3. L’aide en ligne de votre hébergeur sera utile pour savoir quel sera le comportement à attendre dans votre cas particulier

[2] le code html est volontairement simplifié, désolé pour les puristes de la normalisation

[3] Il existe quatre couples de balises possibles pour délimiter une zone de code php. "<?php... ?>" "

<script language='php'>... </script>" "<%...%>" "<?... ?>".
seules les deux premières sont toujours reconnues, quelle que soit la configuration du serveur. Donc il est conseillé d’utiliser <?php plutôt que <? (alors que cette dernière balise est sans doute la plus utilisée).
La balise <?php est obligatoire si vous utilisez le XML.
La balise <script language='php'> devient indispensable dès que l’on touche les XSLT (en XML), pour éviter les ambiguités et les erreurs de parsing.

[4] PEAR est une architecture et un système de distribution de composants PHP réutilisables. L’acronyme signifie "PHP extension and application repository" : extension du php et dépôt d’applications. Grâce à des spécifications très strictes et une utilisation standardisée de la programmation objet, les classes incluses dans PEAR sont facilement implémentables dans toute application PHP