Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/02/2008, 20h25   #1
Membre éclairé
 
Avatar de jmjmjm
 
Homme Jérémy
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 751
Détails du profil
Informations personnelles :
Nom : Homme Jérémy
Localisation : France

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : Service public

Informations forums :
Inscription : avril 2005
Messages : 751
Points : 381
Points : 381
Par défaut Structure d'un script php

Bonjour, vaut il mieux creer une page completement en php avec des echo pour afficher l'html ou est il preferable de faire les parties en php et de refermer ?> pour inserer de l'html puis de rouvrir pour le php et ainsi de suite !!
jmjmjm est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2008, 20h30   #2
Membre émérite

 
Avatar de FCYPBA
 
Inscription : novembre 2004
Messages : 735
Détails du profil
Informations personnelles :
Âge : 33
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : novembre 2004
Messages : 735
Points : 924
Points : 924
Bonjour,
Surement déjà débattu mais j'ajoute ma petite expérience.

Justement par expérience, je sépare au maximum le code php et la partie html. Il m'arrive de ne travailler l'affichage qu'avec des echos/print etc...

De surcroit, pour par mal de projet, j'utilise un moteur de template, d'où une vrai séparation datas / affichage

Donc pour la lisibilité, la maintenance, la performance (peut-être), bien séparé les deux parties d'abord php et ensuite l'affichage

Voilà
__________________
Pierre
1. Dans le manuel ( PHP, MySQL,..., rayez la mention inutile), tu te plongeras à deux fois plutôt qu'aucune.
2. Dans la doc php, tu liras attentivement les sections Chaines de caractères, Tableaux et Système de fichiers
3. Un code rapide c'est bien, un code maintenable c'est mieux
...

Why was the font tag an orphan ? Because it didn't have a font-family.
FCYPBA est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2008, 03h54   #3
Modérateur
 
Avatar de s.n.a.f.u
 
Homme
Développeur Web
Inscription : août 2006
Messages : 2 700
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 37
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : août 2006
Messages : 2 700
Points : 3 357
Points : 3 357
Bonjour,

Ce qui est miieux, je n'ai pas la prétention de le dire. Mais voilà la structure que je préfère :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
<?php
//tous mes traitements métiers
//en alimentant des variables qui seront affichées
?>
 
<html>
<head>
</head>
<body>
...
<p>Il y a <?php echo $maVariable;?> machins dans le truc</p>
<p>etc...</p>
</body>
</html>
En gros, puisque j'utilise moi aussi des templates, mais l'idée est là.
s.n.a.f.u est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2008, 14h37   #4
Membre du Club
 
Inscription : janvier 2006
Messages : 74
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : janvier 2006
Messages : 74
Points : 69
Points : 69
Envoyer un message via MSN à {Anthony}
Bonjour,

Je pousserais même le vice à n'avoir qu'un require_once() tout au début de mon fichier qui contiendrait mon HTML et au final avoir quelque chose comme :

mapage.php // Contient le code HTML
mapage.class.php // Contient le code PHP

Comme l'on très bien dit jml94 et FCYPBA, l'idée est de séparer au maximum la vue (HTML), du traitement (PHP), et pour celà rien ne vaut un moteur de template.
{Anthony} est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/02/2008, 21h51   #5
Nouveau Membre du Club
 
Inscription : septembre 2007
Messages : 56
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 56
Points : 36
Points : 36
Concernant l'inclusion de blocs php multiples dans un code html voici ce que dit le manuel php :
Citation:
Cette démarche convient parfaitement quand la majorité des pages de votre site est statique, avec cependant quelques parties dynamiques. L'intérêt est un faible impact sur les ressources du serveur Web. PHP n'est utilisé que lorsque celà est absolument nécessaire. L'étape suivante consiste à bâtir un site uniquement avec PHP, un site dont chaque octet de la sortie provient de scripts. On utilise alors la fonction print pour afficher des balises HTML. Chaque page est un script délimité par une paire de balises PHP. D'après notre expérience, la génération de tout le code HTML par un script PHP permet d'effectuer rapidement des modifications. L'intérêt de ces techniques, à l'instar de nombreuses autres, est proportionnel à la taille du projet. La dernière approche que nous voulons ici traiter implique le recours aux fonctions include et require. Dans cette approche, le HTML et le PHP sont divisés en modules. Ceci nous porte au-delà de l'intégration du HTML et de PHP pour nous amener à la conception structurelle d'un site. Il est en effet possible de créer un site avec un seul script PHP.
Si j'essaie de faire un résumé
- PHP inclut dans HTML si le projet est de petite envergure et ne contient pas beaucoup d'éléments dynamiques.
- PHP génère les pages HTML pour les sites plus importants car plus facile à éditer.
- PHP et HTML séparés dans des fichiers externes et incluts grâce aux fonctions include ou require pour une construction plus structurée.

Voilà, c'est tout ce que je peux apporter mais bon c'est ce que dit le manuel

Bonne soirée,
Smiff est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2008, 22h14   #6
Membre éclairé
 
Avatar de jmjmjm
 
Homme Jérémy
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 751
Détails du profil
Informations personnelles :
Nom : Homme Jérémy
Localisation : France

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : Service public

Informations forums :
Inscription : avril 2005
Messages : 751
Points : 381
Points : 381
merci pour toutes vos reponses, comment fonctionne un moteur de templates ?? en avez vous un a me conseiller !!
jmjmjm est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2008, 22h27   #7
Membre du Club
 
Inscription : janvier 2006
Messages : 74
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : janvier 2006
Messages : 74
Points : 69
Points : 69
Envoyer un message via MSN à {Anthony}
Moi je vous conseillerais Smarty, maintenant c'est le seul que je connaisse

Ensuite pou savoir comment ça fonctionne je vous laisse vous documenter

Globalement ça sert juste à séparer la logique (PHP) de l'affichage (HTML), et permet aussi une gestion du cache pour améliorer la vitesse.

Edit : Curieusement le site répond plus, il semble avoir quelques soucis
{Anthony} est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2008, 13h15   #8
Membre éclairé
 
Inscription : décembre 2007
Messages : 426
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 426
Points : 313
Points : 313
Moi aussi j'utilise un moteur de template me permettant de séparer complètement les 2 codes.

Pour le choix de ton moteur, va jeter un oeil dans le forum consacrés aux template, il y à de nombreux post traitant du choix du moteur de template avec les avantages et inconvénients.

Je crois que smarty est un des plus utilisé et puissant, mais il parait qu'il y à pas mal de code à insérer dans le HTML, donc pas forcément idéal si le but est de séparer le code mais qu'il faut rajouter plein de code smarty.

Pour ma part j'utilise le moteur de la phplib qui est je crois le plus ancien, mais aussi un des plus simple d'utilisation avec peu de code.
__________________
Si un problème ne trouve pas de solution, c'est qu'il n'y à pas de problème
Eric93 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2008, 13h39   #9
Membre éprouvé
 
Développeur Web
Inscription : avril 2005
Messages : 395
Détails du profil
Informations personnelles :
Âge : 28

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : avril 2005
Messages : 395
Points : 479
Points : 479
Citation:
Envoyé par Eric93 Voir le message
Je crois que smarty est un des plus utilisé et puissant, mais il parait qu'il y à pas mal de code à insérer dans le HTML, donc pas forcément idéal si le but est de séparer le code mais qu'il faut rajouter plein de code smarty.
ça rempli bien un de ses objectifs de séparer le php et le html ... je te rassure.

un petit exemple :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<div id="say">{$say}</div>
	{/if}
		<h2>{$h2}</h2>
		<fieldset>
		<legend>{$legend}</legend>
		<h3>Liste des bannieres classées par site : </h3>
		<div>
			<a href="#" onclick="allHidden();">Tout réduire</a>
		</div></br>
		<ul>
		{foreach from=$liste_sites item=list_sites_curr key=k_sites name=site}
			<li><span class="overline">{$list_sites_curr}</span></li></br>
			{foreach from=$liste_bans item=list_bans_curr key=k name=ban}
				{assign var='i' value=$smarty.foreach.ban.iteration}
 
				{if $k_sites == $list_bans_curr.id_sites}
					<a onmouseover="Tip('<img src=\'{$list_bans_curr.url}\'  alt=\'{$list_bans_curr.url}\' border=\'0\' />', BORDERCOLOR, '#DDDDDD');" onclick="displayEditBan('field_{$i}');"><img src="{$list_bans_curr.url}" {$list_bans_curr.dim} alt="{$list_bans_curr.url}" border="0" /></a>
 
					<form method="POST" action="" name="f_{$i}" id="f_{$i}">
					<fieldset id="field_{$i}" style="display:none;">
					<legend class="legend2">{$legend2} {$i}</legend>
					<div class="formu">
						<div class="images"><img src="{$list_bans_curr.url}" alt="{$list_bans_curr.url}" border="0" /></div>
						<div class="libelle">
							<div>URL :</div>
							<div>width :</div>
							<div>height :</div>
							<div>id site :</div>
							<div>langue :</div>
							<div>niche :</div>
							<div>active :</div>
							<div>freevar :</div>
						</div>
Gats est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2008, 13h51   #10
Membre éclairé
 
Inscription : décembre 2007
Messages : 426
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 426
Points : 313
Points : 313
Citation:
ça rempli bien un de ses objectifs de séparer le php et le html ... je te rassure.
Je sais bien puisque c'est le but, ce que je disais, c'est que le moteur de template à son propre code, et s'il est trop lourd, on sépare bien le PHP du HTML mais on remélange une autre couche au HTML, donc pas forcément plus simple.

La preuve dans ton exemple, moi qui connais pas smarty, je vois des foreach, je pensais au début que c'etait du php, je comprenais pas trop
__________________
Si un problème ne trouve pas de solution, c'est qu'il n'y à pas de problème
Eric93 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2008, 14h10   #11
Membre éprouvé
 
Développeur Web
Inscription : avril 2005
Messages : 395
Détails du profil
Informations personnelles :
Âge : 28

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : avril 2005
Messages : 395
Points : 479
Points : 479
effectivement il faut parcourir la doc plus d'une fois pour bien situer les différentes possibilités et pouvoir les exploiter.

Je voulais juste nuancer tes propos.
Gats est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2008, 14h24   #12
Membre éprouvé
 
Avatar de Sayrus
 
Inscription : décembre 2005
Messages : 818
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : décembre 2005
Messages : 818
Points : 456
Points : 456
Citation:
Envoyé par FCYPBA Voir le message
Bonjour,


Donc pour la lisibilité, la maintenance, la performance (peut-être), bien séparé les deux parties d'abord php et ensuite l'affichage

Voilà
Certainement pas niveau performance, un moteur de template demande plus de traitement que de faire comme jml94

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
//tous mes traitements métiers
//en alimentant des variables qui seront affichées
?>
 
<html>
<head>
</head>
<body>
...
<p>Il y a <?php echo $maVariable;?> machins dans le truc</p>
<p>etc...</p>
</body>
</html>
Il n'y a pas de méthode universelle...

Le mieux pour moi serait de faire appel à plusieurs includes pour séparérer en plusieurs petits fichiers et de laisser le PHP dans le HTML...
Sayrus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2008, 14h38   #13
Membre éclairé
 
Avatar de jmjmjm
 
Homme Jérémy
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 751
Détails du profil
Informations personnelles :
Nom : Homme Jérémy
Localisation : France

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : Service public

Informations forums :
Inscription : avril 2005
Messages : 751
Points : 381
Points : 381
ok merci pour tout je comprend mieux maintenant et je crois que je vais approfondir vos exemples !!
jmjmjm est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2008, 18h39   #14
Membre éclairé
 
Inscription : décembre 2007
Messages : 426
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 426
Points : 313
Points : 313
Citation:
Certainement pas niveau performance, un moteur de template demande plus de traitement que de faire comme jml94
Probablement car il rajoute une couche supplémentaire, mais un moteur de template à l'énorme avantage de pouvoir faire travailler 2 compétences (programmeur en php et déseigner en html) séparement sans se marcher sur les pieds.

Et aussi de pouvoir changer le look d'un site ou d'en avoir plusieurs (style phpBB) sans changer au code php.
__________________
Si un problème ne trouve pas de solution, c'est qu'il n'y à pas de problème
Eric93 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2008, 18h41   #15
Membre éclairé
 
Avatar de jmjmjm
 
Homme Jérémy
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 751
Détails du profil
Informations personnelles :
Nom : Homme Jérémy
Localisation : France

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : Service public

Informations forums :
Inscription : avril 2005
Messages : 751
Points : 381
Points : 381
tu m'arretes si je me trompe mais le look est géré par une page CSS dans PHPBB non ??
jmjmjm est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/02/2008, 08h44   #16
Membre éprouvé
 
Avatar de Sayrus
 
Inscription : décembre 2005
Messages : 818
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : décembre 2005
Messages : 818
Points : 456
Points : 456
Hello,

d'accord niveau template 2 couches 2 personnes différentes.

Mais logiquement, un site bien fait, tout son design peut être modifier via CSS si on veut lui donner un habillage différent.
Sayrus est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h29.


 
 
 
 
Partenaires

Hébergement Web