Bonjour,

jusqu'à présent, j'avais l'habitude d'utiliser la fonction PHP include() pour gérer plus facilement les parties communes de mes pages (Doctype, meta, header, footer).

La méthode me donne globalement satisfaction mais, par simple curiosité, j'aimerais savoir s'il existe d'autres techniques qui permettraient d'obtenir le même résultat sans recourir à la fonction PHP include() / fichiers inc.php.

Merci,
Philippe
Blague à part...

Une autre technique est d'utiliser un layout pour décorer ta page.

Le layout, représente les parties communes à tout le site et se présente comme un simple template HTML/PHP :

layout.php


<!DOCTYPE html>
<html lang="fr">
<head>

	<title><?php echo $title; ?></title>

	<meta charset="utf-8" />

	<?php if( !empty($description) ): ?>
	<meta name="description" content="<?php echo $description; ?>" />
	<?php endif; ?>

	<link rel="stylesheet" href="css/styles.css" type="text/css" media="screen" />

</head>

<body>

	<div id="page">

		<header>

			<h1 id="site_title">
				<a href="<?php echo SITE_URL; ?>" accesskey="1" title="Retour à l'accueil (raccourci : 1)">
					Le titre du site
				</a>
			</h1>

			<nav>
				<ul>
					<li><a href="#">Mon lien</a></li>
					<li><a href="#">Mon lien</a></li>
					<li><a href="#">Mon lien</a></li>
					<li><a href="#">Mon lien</a></li>
				</ul>
			</nav>

		</header>

		<?php echo $content_for_layout; ?>

		<footer>
			contenu du footer
		</footer>

	</div><!-- end page -->

</body> 
</html>


Tu vas charger ta page et elle va s'insérer à la place de la variable $content_for_layout.

Comme ça :


$title = 'Contenu de ma balise title';

// on charge la page dans la variable $content_for_layout
ob_start();
require('mapage.php');
$content_for_layout = ob_get_clean();

// on affiche le resultat final
require('layout.php');


Comme tu peux voir ça donne un structure beaucoup plus simple que des pages avec de multiples includes.
Merci pour les réponses.

Auriez-vous d'autres solutions qui n'utilisent ni PHP, ni Dreamweaver?
Du Javascript, par exemple?

Philippe
kurten a écrit :
Merci pour les réponses.

Auriez-vous d'autres solutions qui n'utilisent ni PHP, ni Dreamweaver?
Du Javascript, par exemple?

Philippe


Tu peux faire exactement la même chose avec n'importe quel langage côté serveur.
Cela n'aurais aucun sens en JavaScript. Les utilisateurs qui ne l'ont pas activé n'aurais pas accès aux pages inclus.

Cela peut être fait en JavaScript, avec de l'Ajax, par exemple, mais dans ce cas, cela ne pourrais absolument pas remplacé tes includes PHP