まずはレイアウトを作る

レイアウトファイルとは、HTMLファイルの外側の記述。
各ページで共通に表示したい外枠の部分。

例.

01 <html>
02 <head>
03 <meta http-equiv="Content-Type" content="text/html; charset=<?php echo $charset;?>">
04 <base href="<?php echo $pageUrlFull;?>">
05 <title><?php echo $title;?></title>
06 <link rel="stylesheet" type="text/css" href="<?php echo $homeDir;?>/css_default/default.css" />
07 <?php echo $css;?>
08 <?php 
echo $header;?>
09
</head>
10 <body>
11 <?php echo $contents;?>
12
</body>
13 </html>

11行目の <?php echo $contents;?> にコンテンツが流し込まれて表示される。
この例では、1行目から10行目までと12行目から最後までが共通部分となる。

このレイアウトファイルを共通化することにより、デザイン等の変更が簡単になる。

そしてレイアウトファイルとCSSで自由にデザイン可能。

注意)最低ひとつは、レイアウトファイルがないと動かない。

レイアウトファイルでよく使う変数

あらかじめよく使う変数を用意。以下がよく使う変数の一覧

index.php を設置する場所を
ルートの場合:http://www.hoge.com/ と仮定、
サブディレクトリの場合:http://www.hoge.com/sub/ と仮定し、
test.html がリクエストされた場合を例とした。

変数名 説明 ルートの場合 サブディレクトリの場合
$charset 文字コード UTF-8など UTF-8など
$pageUrlFull 表示されているファイルのURL http://www.hoge.com/test.html http://www.hoge.com/sub/test.html
$title タイトル    
$homeDir ルートのディレクトリ ブランク /sub
$css カレントディレクトリのCSSファイルのタグが挿入される    
$header カレントディレクトリのHEADERファイルが挿入される    
$contents リクエストされたファイルが挿入される    

レイアウトファイルはディレクトリ単位に共通化できる

以下のようなファイル構造の場合、

ルートディレクトリ ─┬─ index.php
           │
           ├─ top.php
           │
           ├─ layout ─── default.php(1)
           │
           ├─ folder01 ─┬─ test01.html
           │        │
           │        ├─ layout ─── default.php(2)
           │        │
           │        └─ sub_01 ─── test02.html
           │
           └─ folder02 ─┬─ test03.html
                    │
                    └─ sub_02 ─── test04.html
  • top.php のレイアウトは default.php(1)
  • test01.html のレイアウトは default.php(2)
  • test02.html のレイアウトは default.php(2)
  • test03.html のレイアウトは default.php(1)
  • test04.html のレイアウトは default.php(1)

カレントディレクトリのレイアウトディレクトリにレイアウトファイルがあれば、それを使う。なければ親のディレクトリを探すようになっている。

  目次 次へ »