PHPを使ってカレンダーを表示したい、作りたいという場合、皆さんだったらど のようにして実現しますか?日付を計算して作るのもいいかもしれません。しか し、計算するのが面倒、あまり手間を掛けたくない、そんなとき強い助けになる ものがあります。PEAR::Calendarです。今回はこのPEAR::Calendarを使ったカレ ンダー作成を紹介します。
このライブラリはベータ版なので、pearコマンドを使用して
pear install calendar-beta
で、インストールすることができます。
では、早速使ってみましょう。以下のスクリプトを実行してみてください。
<?php
require_once 'Calendar/Month/Weekdays.php';
$calMonth = new Calendar_Month_Weekdays(2006, 8, 0);
$calMonth->build();
echo '<table><thead><tr>';
echo '<th>月</th><th>火</th><th>水</th><th>木</th><th>金</th><th>土</th>
</th><th>日</th>';
echo '</tr></thead><tbody>';
while ($day = $calMonth->fetch()) {
if ($day->isFirst()) {
echo '<tr>';
}
if ($day->isEmpty()) {
echo '<td> </td>';
} else {
echo '<td>'.$day->thisDay().'</td>';
}
if ($day->isLast()) {
echo '</tr>';
}
}
echo '</tbody></table>';
?>
2006年8月のカレンダーが表示されます。これで完成です。簡単だと思いませんか?
重要な部分は、
$calMonth = new Calendar_Month_Weekdays(2006, 8, 0);
で、いつのカレンダーを作成するかをここで決めることができます。第1引数は 年、第2引数は月、第3引数は週の開始曜日(例えば0なら日曜日から、2なら火曜 日から)となっています。あとはbuildメソッドでカレンダーを作成しfetchメ ソッドで作成された日付を取り出すだけになります。
日付を計算しゼロからカレンダーを作成することも勉強になっていいと思います が、PEAR::Calendarを利用すると、このように簡単にカレンダーを作成すること ができます。皆さんもぜひ使ってみてはいかがでしょうか。
- PEAR::Calendar : http://pear.php.net/package/Calendar/
この記事は、アシアルが運営するPHP開発者のためのポータル&コミュニティサイト「PHPプロ!」で毎週配信しているPHP・TIPSメーリングリストを再録したものです。
同サイトでは、他にもPHP最新ニュースや、困ったときのQ&A掲示板、初心者向けのPHP講座など、PHP開発者をサポートする情報を掲載しています。