2013-08-11 11 views
5

他のページからetcのようなタグを含めるのが適切かどうか疑問に思っていました。ヘッダーとフッターをテンプレートとして含めるのは悪いですか?

私はそれで意味は次のとおりです。

<?php include_once("header.php")?> 
The content for each individual page 
<?php include_once("footer.php")?> 

header.phpのは含まれています

<!DOCTYPE html> 
<head> 
<title>My Website</title> 
</head> 
<body> 

Footer.phpが含まれています

</body> 
</html> 

私はそれをそのよう理由を使用しています私はたくさんのページを持っていますが、1ページか2ページだけを変更する方がはるかに簡単です。そうすれば私は時間を惜しまない。

しかし、質問は、私のウェブサイトに「テンプレート」スタイルを使用するのは悪いですか?

(私はこの1つのようないくつかのsimilair質問を見たが、彼らは本当に私が新しいトピックを始めた理由です、私の質問に答えなかった - 申し訳ありませんが、それは間違っている場合)

+0

私はこのパターンを見てきました、私はそれはと呼ばれるもの忘れてしまいました。もう1つのパターンは、ヘッダーとフッターでレイアウトファイルを作成し、コンテンツをその中のプレースホルダに挿入することです。 – DevZer0

+0

私はそれが良い習慣だと思います。コードの可読性が向上すれば、バグも少なくなります。ヘッダーやフッターで何かを変更する必要がある場合は、使用している場合は1ページを見逃すことはありません。 – bansi

+0

私は12年以上のWeb開発者でした。 – DevlshOne

答えて

5

私が思うにこれで問題ありません - それは確かに良いでしょう同じコンテンツを複数のページに複製するよりもDon't Repeat Yourselfはプログラミングの中心的なテナントであり、このアプローチはその点で役立ちます。 PHPインクルードのパフォーマンスへの影響は、メンテナンスの容易さと比較して、最小限であり、心配する価値はありません。

あなたはまださらに進むことができるかもしれません。あなたは本当にすべてのページでインクルードを繰り返す必要がありますか?すべてのページに同じヘッダーとフッターがある場合は、ページを1つだけ作成し、その代わりに動的コンテンツ用の領域を作成することができます(これがASP.NETのアプローチです)。

+1

ありがとう、存在していたようなことを知らなかった:P – Ahmed

1

いいえ、これは素晴らしいです。実際には、インクルードされたファイルに移動したいことがますます増えています。たとえば、ウェブサイトのサイドバーを独自のファイルに入れることができます。これはまさにPHPがあなたのウェブサイトをより簡単に保守できるようにしたものです。

1

すべてのPHPは、HTMLよりも遅くなります。たとえば、人々はWordPressのサイト用のキャッシュプラグインを使用しているので、HTMLだけが要求され、PHPサーバーは難しく働かなくて済み、ページはより速くなります。しかし、PHPを使用する利点は、Wordpressの普及によりこれをはるかに上回ります。

すべてのphp呼び出しが1回行われるため、phpの複数回呼び出しはcssファイルまたはJavaScriptの複数回呼び出しとは異なります。

サイトが拡大するにつれて、各ページを変更するのではなく、すべてのページに影響する1つの変更を行うことができます。シンプルな例は、ヘッダーの季節的な挨拶です。簡単な広告とあなたのテンプレートを取り除く。そうではない。そして、それはもっと明白なリンクの変更の前です。

+0

あなたの答えと説明;ありがとう;) – Ahmed

1

これは良い方向です。繰り返しはしないでください。とにかく、あなたは次のライブラリに見てみることを試みることができ、このテンプレートのアイデアからいくつかのより多くの堅牢性を得るために:

小枝:http://twig.sensiolabs.org
スマーティ:http://www.smarty.net

+0

ありがとう、私は時間があるときにそれをスマートに試してみましょう;) – Ahmed

関連する問題