La question montre un malentandu terrible. La faute en incombe au langauge php.
Voici en quoi consiste cette meprise.Il faut faire la distinction entre le role que joue le
serveur de celui du
client*.
Leurs roles sont complementaires mais n'ont aucunes similitudes.
- Complementaire car l'un demandeur l'autre fournisseur, sont tous deux lies par le mode de communication.
- D'aucune similitude car ils n'ont pas le meme role a joue dans la communication.
Le serveur lui est a l'ecoute des clients. On peut le voir comme une fonction Informe(demande) qui est definit dans l'ensemble des requetes vers l'ensemble des inforations disponibles (page web).
Donc son role vas etre de produire des pages web. Il se trouve que ces pages web sont ecrites en Html qui rapelons le a ete invente au
CERN.
La le html n'a aucune valeur pour le serveur. Le Html n'est que le resultas de la fonction Informe(). C'est a cette instant que le role du serveur s'arrete et que celui du client commence.
Le html est utile au client. C'est un moyen pour structurer l'information. Le html permet de dire au client comment il doit prensenter l'information pour la rendre lisible, exploitable, jolie etc.
Detaillons le role du serveur.Le serveur doit comme on la vue appliquer la fonction Informe().
Cette fonction est donc ecrite dans un language de programation (
PHP, ASP, JSP, Java, C#, Perl, Python, Ruby, Lisp, Smalltalk ... Par ordre croissant de mes preferences biensur ^^ ).
Les languages de programmations sont different des langauges de presentation (XML,
HTML, SGML, YAML).
La ou PHP seme la confusion.Prenons l'exemple d'un script:
- Code: Tout sélectionner
Un example
".$_GET["i"]."");
}
echo("");
echo("--");
echo("++");
echo("");
?>
Ici on vois clairement qu'il y a 2 facon de presenter du Html.
- Ecrire le html a l'exterieur de .
- Ecrire le html grace a la fonction echo()
Cette possibiliter d'exprimer ce comportement de 2 facons
syntaxiques differentes est appele sucre syntaxique en programation. (
Syntactic sugar)
Cela veut donc dire que le html en dehors des balise est un racourci d'ecriture. C'est par consequent equivalant a la fonction echo():
- Code: Tout sélectionner
Un example");
if(isset($_GET["i"]))
{
echo("".$_GET["i"]."");
}
echo("");
echo("--");
echo("++");
echo("");
echo("");
?>
Comment ecrire du code PHP?Le probleme avec PHP c'est que les sucre syntaxique sont omnipresent dans le language:
- .. ... => echo(...) (comprennez que les .. sont inclus dans le sucre)
- echo() => echo ...
- etc.
Il est donc difficile pour les perssonnes ne connaissant pas le modele client serveur de comprendre
quand les differents languages (html php ou encore JavaScript pour ceux qui ne connaisse pas vous pouvez ignore) on leur role a jouer.
Alors quoi faire?Il est evident que aujourd'hui la plus pars des fournisseur de service web gratuit n'offre que la possibilite d'utiliser PHP comme language.
Leur choix se justifie surment par le nombre de personne connaissant PHP.
Mais cela ferait l'objet d'un autre debat.
Le conseil est donc de bien apprehender le concept de client serveur. Et d'utiliser les sucres syntaxique uniquement lorsque leur implication sont parfaitement comprise et que le code reste lisibilite
* Ici il faut envisage le terme serveur comme etant l'entiter fournissant un service. Le client est quand a lui demandeur de se service. Dans la majorite des cas les clients sont donc majoritaire par rapport aux serveur.