Page 1 sur 2
problème "système template"
Posté : 26 févr. 2007, 16:33
par amalgame
bonjour,
je suis en train d'essayer de me faire un "système de template" mais j'ai un petit problème.
Je vous écrit d'abord les trois fichier php :
index.php:
Code : Tout sélectionner
<?php
$a = include 'includes/a.php';
$b = include 'includes/b.php';
echo $a;
?>
a.php :
b.php :
le résultat : <h1>template a</h1><h2>Template 2</h2>
1
Voilà, j'ai un 1 à la fin, résultat du boléen.
Je comprends pas pk il me met un 1 encore moins pk il ne m'en met pas 2.
Et surtout je ne sais pas comment faire pour qu'il ne l'affiche pas (ce qui m'éviterait de devoir l'enlever)
merci : )
Posté : 26 févr. 2007, 16:39
par jojolapine
ben enlève ton echo $b...
Posté : 26 févr. 2007, 16:44
par amalgame
hein ?
bah non!
Le but est justement d'inclure b.php.
et si je l'enlève, le 1 reste.
Posté : 26 févr. 2007, 16:58
par jojolapine
tu dois avoir mal compris certaine choses, essaye ceci:
<?php
// fichier a.php
echo "voici le contenu du fichier a.php<br />";
?>
<?php
// fichier b.php
echo "voici le contenu du fichier b.php";
?>
<?php
// fichier index.php
include('a.php');
include('b.php');
?>
résultat:
voici le contenu du fichier a.php
voici le contenu du fichier b.php
est-ce que tu y vois plus clair?
Posté : 26 févr. 2007, 16:58
par Truc
Il parrait que
la doc peut être utile des fois

Posté : 26 févr. 2007, 17:02
par jojolapine
faut voir s'il veut utiliser le type d'inclusion avec return où avec echo...

Posté : 26 févr. 2007, 17:05
par Truc
Bah pour l'instant il veut savoir d'où vient le "1"
Après il est vrai qu'il faut bien comprendre les include.
Posté : 26 févr. 2007, 17:13
par amalgame
mmm
C'est à dire que le but ici est de faire un "template" ou on remplace {titre} par <?php echo $titre; ?>
edit : ou encore $section_news, etc
Posté : 26 févr. 2007, 17:19
par amalgame
heu enfin, je sais pas si je me fais bien comprendre..
Posté : 26 févr. 2007, 17:27
par amalgame
effectivemet, la doc, ça sert ! ^^
Posté : 26 févr. 2007, 17:48
par amalgame
ah oui mais là je me suis complètement gourré !
rien que le faite d'avoir :
$a = include 'machin.php'
ça inclut déjà machin.php ! -_-
Ah bah d'accord, tu m'étonnes que ça marche pas ! lol
Posté : 26 févr. 2007, 18:00
par amalgame
Bah du coup, ça marche pas ce que je voulais faire.
Personne a une idée ?
Posté : 26 févr. 2007, 19:33
par Truc
effectue une petite recherche sur le forum avec "template".
regarde aussi les fonctions telles que preg_replace(), preg_replace_callback()...
Sinon pourquoi réinventer la roue ? => google
Posté : 26 févr. 2007, 19:46
par jojolapine
une idée pour quoi ?
Créé un système de templates est long et difficile...
Faire un système de templates efficace et rapide l'est encore plus...
Je te conseil vivement de regarder les solutions éxistantes...

Posté : 26 févr. 2007, 21:10
par Hywan
En revanche faire un petit système de template personnel est accessible (avec quelques connaissances solides en regex, et en callback).
Mais c'est vai que c'est long.
Si tu n'as pas trop de temps et que t'es pas sûr de maîtriser les regex, je te conseille vivement d'employer un système déjà fait
PS : qu'est-ce que vous entendez pas « complet » pour un système de template ?