0

それで、私は最近phpを学び始めました。今では、通常、Webページを構築するためにこの奇妙なデザインパターンに従っていることがわかりましたが、それが実際に私が思うほどスマートなのか、それとも単なるゴミの寄せ集めなのかはわかりません。

私は基本的にphpを使用してウェブサイトのヘッダーとフッターをロードします。これは、すべてのウェブページが一般的にウェブサイトで同じであるためです。次に、php を使用して、各ページの中央のコンテンツの html を読み込みます。

この方法を使用すると、ヘッダーとフッターの「テンプレート」が既に作成されているため、新しい Web ページをすばやく作成でき、コードは本質的に交換可能な小さなコードのブロックを交換するようなものであるため、Web サイトの管理が容易になると感じています。アウト。

他の誰かがこの種の方法を使用していますか? より効率的な同様のパターンはありますか。

4

2 に答える 2

0

これは基本的にすべての開発者が開始する方法であり、正しい軌道に乗っていますが、すぐに本格的なテンプレート システム、MVC フレームワーク、またはこれらの機能が既に組み込まれている CMS に切り替えることをお勧めします。

通常、3 つすべてを一度に使用することもできます。または、CMS が他のコンポーネント自体を提供します...

学習頑張ってください!

于 2012-10-11T15:18:47.003 に答える
0

これは良いコーディング方法です。Djangoバックエンドを構築しながら、コンテンツを追加してすぐに公開できるように、私も常にこの方法で Web サイトを構築しています。

逆にやってると思うんですけどね。私の各ページ (たとえば、index.php) には、includeと の両方に がheaderありfooterます。

私が書いた非常に役立つことはPHP、現在のディレクトリを決定する短いスクリプトです。これにより、すべてのページで常に同じ方法でリンクを入力できます。

これはコードです:

<?php

//This function generates a string of the page URL
function curPageURL() {
 if ($_SERVER["SERVER_PORT"] != "80") {
  $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
 } else {
  $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
 }
 return $pageURL;
}
//We then store the URL as a string
$url = curPageURL();
//And split the string up everytime there is a backslash
$pieces = explode('/', $url);

//Each backslash corresponds to a directory, so we can now use this to compute
//what we need to prepend to the links.

//Root
if (count($pieces) == 2)
    $root = '';
else if (count($pieces) == 3)
$root = '../';
else if (count($pieces) == 4)
$root = '../../';

//Finally, we include the header file.
include($root . 'header.php');
?>

このように、Web ページ上のすべてのリンクは同じ形式になります。

<a href="<?php echo $root; ?>business/">

これはページ上でも特別な用途があり404ます。そのページはあなたがたまたま入ったディレクトリに表示されるから404です!

于 2012-10-11T15:22:51.680 に答える