Je le fais tout le temps. J'ai un entête et un pied de page personnalisés qui sont appelés au début et à la fin de chaque page.
<?PHP
Require("includes/header.php");
...
Require("includes/footer.php");
?>
L'en-tête fournit une poignée de base de données, une chaîne datetime et poignées d'ouverture de session, privilèges, enregistrement des pages vues, etc.
Le pied de page fournit une page HTML standard, mais comprend certaines variables systématisées. Il génère également le menu dynamiquement à partir de la base de données de conduite puis ferme la connexion à la base de données.
De cette façon, lorsque j'écris du code, je ne me mêle pas du HTML et les bugs sont faciles à trouver.
J'aime les variables semblables à:
$display_scripts - adds extra data in the head section.
$display_onload_scripts - adds onload scripts to body section.
$display_style_sheets - option to include link to additional stylesheets
$display_above_menu - will appear above the menubar. NOT recommended.
$display_below_menu - will appear immediately below the menubar.
$display_one_column - page contents when only one column is to be used
$display_left_column - page contents when two columns used. Left pane.
$display_right_column - page contents when two columns used. Right pane.
$display_footer - appears in footer division.
Mon code principal, puis il suffit de générer la variable appropriée. Fondamentalement, ce que vous devez faire est d'examiner la source d'un bon âge que vous avez produit, puis remplacez les choses que vous voulez changer avec des variables.
Voici une version schématisée du fichier que j'utilise (pseudocode) pour vous donner une idée de la façon dont je le fais.
// Code here generates the menu from database
// Code here genereates popup alert messages from other users
//permanent links to external style sheets go here.
//You can also select skins here.
<?PHP
echo $display_style_sheets;
echo "<title>".$display_page_title."</title>";
?>
<script type="text/javascript" src="JAVASCRIPT GOES HERE.js"></script>
</head>
<body <?PHP echo $display_onload_scripts;?> >
<div id="page_area" >
<div id="banner">
</div>
<?php
echo $display_above_menu;
if(!$hide_menu){echo $display_menu;} //Insert the menu variable here.
echo $display_below_menu;
?>
<div id="content_area">
<div id="inner_content">
<?PHP
if($display_number_of_columns==1)
{
echo "<div id='onecolumn'>".$display_one_column."</div>"; //I only use this one
}
if($display_number_of_columns==2)
{
echo "<div id='leftcolumn'>".$display_left_column."</div>"; //these are left for legacy support from before I got better at CSS.
echo "<div id='rightcolumn'>".$display_right_column."</div>";
}
echo "<div id='footer'>".$display_footer."</div>"; //just in case - I hardly use it.
echo $display_pop_box; //for user alert messages to other users
?>
</div>
</div>
</div>
<div id="logbox"> Automatic Logout statement</div> //this is called by JS to activate timeouts.
</body>
</html>
<?PHP
$mysqlidb->close();
?>
Désolé c'est une grande quantité de code. La disposition permet une adaptation facile et facilite la recherche de la variable incriminée si les choses ne se passent pas comme prévu. Il y a des solutions plus élégantes mais cela fonctionne bien pour moi et est très rapide.
La plupart des cadres prennent en charge les dispositions. Vous pouvez donc placer les éléments récurrents dans une disposition et les spécifier dans le contrôleur. –
J'ai créé mon propre framework MVC, donc je suppose que je dois apprendre à connaître le fonctionnement de ces mécanismes de mise en page. – Matthew
Il existe plusieurs façons de le faire: les mises en page, les vues, les vues composites et hmvc. ymmv. – Gordon