2
<head>
    <meta charset="utf-8">
    <link rel="stylesheet" type="text/css" href="css/style.css"/>
    <link rel="stylesheet" type="text/css" href="css/homepage.css"/>
    <link rel="stylesheet" type="text/css" href="css/header.css"/>
    <link rel="stylesheet" type="text/css" href="css/footer.css"/>
    <link rel="stylesheet" type="text/css" href="css/navmenu.css"/>
    <!-- more css here -->
    <script type="text/javascript" src="js/jQuery.js"></script>
    <script type="text/javascript" src="js/navmenu.js"></script>
    <!-- more js here -->
</head>

私はすべてのページのタグ内にそのすべての外部cssとjavascriptsを持っており、<head></head>それらはすべてすべてのページで重要です..それらすべてを別のファイルに入れて、phpを使用してそれを含めるのは適切ですか?ですから、これらの外観に変更を加えたい場合は、すべてのページに影響するため、簡単です。それが良い習慣かどうかを知りたいだけです。よろしくお願いします。

4

5 に答える 5

2

はい、そうです。しかし、なぜそこで止まるのですか?理想的には、繰り返しのマークアップをすべて1つのファイルにまとめる必要があります。

PHPで共通のマークアップを共有するには多くのアプローチがありますが、最も簡単な方法は、次のようにグローバルな「Top.php」ファイルと「Bottom.php」ファイルを作成することです。

Top.phpの場合:

 <html>
 <head>
      <title><?php echo $pagetitle; ?></title>
      <!-- your <meta /> elements go here -->
 </head>
 <body>
      <!-- common page elements go here -->

Bottom.phpの場合:

 </body>
 </html> <!-- This ensures all of the common markup is closed -->

次に、ページごとに次のようにします。

 <?php $pageTitle = "This page's title";
 require("Top.php"); ?>
 <!-- put your per-page markup and PHP code here -->
 <?php require("Bottom.php"); ?>

シンプル。

require()の代わりにどのように使用するかinclude()。require関数はより厳密であり、基本的にインクルードされたファイルが存在することを保証します。黙って失敗するよりも、アプリケーションが目に見えて壊れたほうがいいと思います。

于 2012-09-07T14:43:12.827 に答える
0

スニペットを個別のファイルに保存してから、それらをinclude()します。

はい、それは良い習慣ですが、まともなテンプレートシステムを使用する方がはるかに優れています。NetteFrameworkのラテテンプレートシステムを見てください

于 2012-09-07T14:40:42.907 に答える
0

確かにそれは良い習慣です。これを別のPHPスクリプトに入れます。つまり、head.phpを使用して、他のすべてのページに含めます。

<?php include('head.php'); ?>
于 2012-09-07T14:41:15.760 に答える
0

あなたの質問に率直に答えること。

はい!それは良い習慣です。

優れたプログラマーは、すべてのページですべてを再コーディングするわけではありません(必然性の1つは、CLASSの発明につながります)。それで。続ける!:)

于 2012-09-07T14:43:58.087 に答える
0

はい、そのような一般的なデータを別々のファイルにプルするのが適切です。問題は、それが別のファイルにあるので、それをどうするかということです。

少なくとも4つのオプションがあります。

  • サーバー側(ホストベース)のインクルードファイル
  • phpincludeステートメント
  • phprequireまたはrequire_onceステートメント
  • 作る

サーバーサイドインクルードは、特に低コスト(売られ過ぎ?)の共有Webホスティングサーバーで、パフォーマンスを低下させると一般に考えられています。他にも問題があります。

phpのとステートメントは、include主にrequire欠落しているファイルへの応答方法が異なります。includeステートメントは警告を生成します。require致命的なエラーが発生します。

makeユーティリティはあまり一般的に使用されていませんが、非常に便利です。makeを使用すると、任意のファイルを別のファイルに含めることができ、静的コンテンツを使用することが理にかなっている場合は静的コンテンツを、動的コンテンツを使用することが理にかなっている場合は動的コンテンツを含む出力を生成できます。

あなたが話しているような情報については、makeを使用して、単一のソースファイルのすべての保守性を備えたスタイルシートとJavaScript参照が静的である(したがってパフォーマンスへの影響がない)ファイルを作成できます。適切にビルドされたmakefileは、stylesheet/javascriptファイルへの変更が次のビルドに組み込まれることを保証します。

他のテキストユーティリティは、特にファイルインクルードについてのみ話している場合は、同じことのいくつかを実行できます。(たとえば、m4)。

于 2012-09-07T15:25:02.480 に答える