problème "système template"

Eléphanteau du PHP | 21 Messages

26 févr. 2007, 16:33

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 :

Code : Tout sélectionner

<?php echo '<h1>template a</h1>'; echo $b; ?>
b.php :

Code : Tout sélectionner

<?php echo '<h2>Template 2</h2>' ; ?>
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 : )

ViPHP
ViPHP | 3607 Messages

26 févr. 2007, 16:39

ben enlève ton echo $b...

Eléphanteau du PHP | 21 Messages

26 févr. 2007, 16:44

hein ?

bah non!
Le but est justement d'inclure b.php.
et si je l'enlève, le 1 reste.

ViPHP
ViPHP | 3607 Messages

26 févr. 2007, 16:58

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?

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

26 févr. 2007, 16:58

Il parrait que la doc peut être utile des fois :wink:

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

ViPHP
ViPHP | 3607 Messages

26 févr. 2007, 17:02

faut voir s'il veut utiliser le type d'inclusion avec return où avec echo... :roll:

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

26 févr. 2007, 17:05

Bah pour l'instant il veut savoir d'où vient le "1"

Après il est vrai qu'il faut bien comprendre les include.

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphanteau du PHP | 21 Messages

26 févr. 2007, 17:13

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

Eléphanteau du PHP | 21 Messages

26 févr. 2007, 17:19

heu enfin, je sais pas si je me fais bien comprendre..

Eléphanteau du PHP | 21 Messages

26 févr. 2007, 17:27

effectivemet, la doc, ça sert ! ^^

Eléphanteau du PHP | 21 Messages

26 févr. 2007, 17:48

ah oui mais là je me suis complètement gourré ! :shock:

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

Eléphanteau du PHP | 21 Messages

26 févr. 2007, 18:00

Bah du coup, ça marche pas ce que je voulais faire. :?

Personne a une idée ?

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

26 févr. 2007, 19:33

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

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

ViPHP
ViPHP | 3607 Messages

26 févr. 2007, 19:46

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... ;-)

ViPHP
ViPHP | 4674 Messages

26 févr. 2007, 21:10

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 ?
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).