現在、PHPを用いてwebサイトを構築中です。
だいたい完成したのですが、保守性に劣るかなと考えています。
PHP
1**top.php** 2<div class="pages"> 3 <a href="page.php" class="pager">1</a> 4 <a href="page2.php" class="pager">2</a> 5 <a href="page3.php" class="pager">3</a> 6</div> 7 8**page.php** 9<!DOCTYPE html> 10<html lang="ja"> 11<head> 12 <meta charset="UTF-8"> 13 <title>タイトル</title> 14 <link rel="stylesheet" href="style.css"> 15</head> 16<body> 17<div id="container"> 18 <!-- global navigation --> 19 <?php include( $_SERVER['DOCUMENT_ROOT'] . 'global_navigation.php'); ?> 20 <!-- hero image--> 21 <div class="l-content-expanded"> 22 <a href="#"><img id="hero-image" src="images.png" alt="ヘッダー画像"></a> 23 </div> 24 <!-- content --> 25 <div class="l-content-fixed" id="content"> 26 <!-- main --> 27 <?php include( $_SERVER['DOCUMENT_ROOT'] . 'main.php'); ?> 28 <!-- sidebar --> 29 <aside class="l-sidebar"> 30 <!-- categories --> 31 <?php include( $_SERVER['DOCUMENT_ROOT'] . 'categories.php'); ?> 32 <!-- recommend posts --> 33 <?php include( $_SERVER['DOCUMENT_ROOT'] . 'recommend.php'); ?> 34 </aside> 35 </div> 36 <!-- footer --> 37 <?php include( $_SERVER['DOCUMENT_ROOT'] . 'footer.php'); ?> 38 <!-- JavaScript --> 39 <script src="btn-active.js"></script> 40</div> 41</body> 42</html>
top.phpはwebサイトのトップページで、各ページへのリンクを設置しています。
そして、各リンクが押下されると、各ページへ遷移します。
各ページは、カテゴリーやフッターなどは全て共通なので、別ファイルにして、それをpage.php内でincludeする形にしました。
各ページで唯一異なるのが、main.phpで、ここに各ページの本文を書く予定にしており、各ページでmain2.php、main3.phpなど、読み込ませるファイルを変える予定です。
なので、page.phpをコピーし、page2.php、page3.phpを作成し、それぞれ、main.php、main2.php、main3.phpを呼び出す形にする形です。
しかし、この場合、page.phpの内容を変えたくなった場合、page2.php、page3.phpも修正する必要が出てきます。
なので、page.phpはコピーせずに、トップ画面でリンクが押下されたら、page.php内のmain.php部分にリンクに合った各ファイルが自動的に読み込ませるような形にしたいです。
top.phpからリンクのurlをpage.phpに渡して、page.phpがそのリンクに合った本文をincludeする形かなと考えていますが、どのようにすればよいか分かりません。
具体的なコードでなくてもよいので、「こんな感じで実装すればよい!」というようなものをご教授くださるとありがたいです。
回答3件
あなたの回答
tips
プレビュー