calendar-simple.php

63PearVillageに戻る

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>単純なカレンダ</title>
</head>
<body>

<?php
require_once
 'Calendar/Month/Weekdays.php';
/*
 C:\xampp\php\pear\Calendar\Month
 の中にあり
*/

$Month =
 new Calendar_Month_Weekdays
 (date('Y'), date('n'));
/*
 今月のインスタンスを作成
 Parameter
 integer(整数) $y 年。
   例: 2003、ここでは今日現在の年→2014 
 integer $m       月。
   例: 5     ここでは今日現在の月 
 integer $firstDay(オプション) 
   週の最初の曜日
   例: 日曜日なら 0、火曜日なら 2 など 
   指定しない場合は1、最初の曜日は月曜日
   ここでは指定なし
*/
$Month->build();
/*
 buildメソッド
 build($abc)とすると、
 array $abc が作成される
*/
echo "<table>";

while ($Day = $Month->fetch()) {
/*
 fetchメソッド	
 最後の要素に達した後は、false を返して
 コレクションをリセットする 
 fetch()メソッドは、日付の昇順で 1 回に
 1つの子供を返します。
 もうそれ以上子供が見つからない場合には
 FALSE を返します。そして
 自動的に内部の子供の集合がリセット
 されます。
 よって好きな回数だけこれらをループ
 させて使用することができます。
*/
  if ($Day->isFirst()) {
/*
 isFirstメソッド、isLastメソッド
 isFirst() と isLast() は週の始まりと
 終わりを区別するために使用されます。
*/
    echo "<tr>";
  }

  if ($Day->isEmpty()) {
/*
 isEmptyメソッド		
 isEmpty() は日にちが空白かどうかを判断
 するために用いられます
*/			
    echo "<td>&nbsp;</td>";
  } else {
    echo
     '<td>'.$Day->thisDay()."</td>";
  }
  if ($Day->isLast()) {
    echo "</tr>";
  }
}

echo "</table>";
?>
</body>
</html>