MixClipsで使っていて特に便利な3つのPEARライブラリ – 2007年 3月13日

MixClipsは、裏のバッチ処理から表のサービス部分まで、すべてPHPで作られている。ただし、(当たり前だが)すべてが独自ロジックな訳はなく、PEARライブラリを活用している部分が多く、全部で6つのライブラリを使っている。

今回は、Mixclipsで使っているPEARライブラリの中でも、特に便利な3つのPEARライブラリをご紹介したい。

PEAR::DB_DataObject

使っている場所:DB接続部分全部

PEAR::DB_DataObjectはいわゆるO/Rマッパーであり、MYSQLであろうと、PostgresqlだろうとSQLを意識することなくPHPコーディングを行うことができる。データベースのテーブルをオブジェクトとして扱うことが可能なので、かなり簡単な直感的な実装が可能になる。それゆえ、DB接続系の記述が飛躍的に見やすくなり、実装も楽になる。ぜひおすすめ。

こんな感じでDB接続ができる。

URLSテーブルからnumが1以上のものを5件、日付順で取得する例
$popular=DB_DataObject::factory(“urls”);
$popular->whereAdd(‘num > 1’);
$popular->limit(5);
$popular->orderBy(‘date DESC’);
$popular->find();

PEAR::Calendar

使っている場所:トップページカレンダー表示

PEAR::Calenderによって、Mixclipsのカレンダー表示部分を作るのに大変楽をさせてもらっている。祝日があったり、土曜日があったり2月は28と29日の2種類あったりと大変めんどくさいカレンダーだが、こいつがあれば、速攻でカレンダーを作成可能。

※実装部分は長いので省略。ググればすぐ見つかります。

PEAR::Pager

使っている場所:新着ブックマークのページング機能

PEAR:Pagerはページング機能を設定だけで、やってのけてくれる便利なライブラリ。具体的なコードを見ていただければお分かりになると思いますが、たったこれだけで複雑なページングをやってくれます。

//ページング設定
$param = array(
‘mode’ => ‘Jumping’, // 表示タイプ
‘perPage’ => 10, // 一ページに表示する件数
‘delta’ => 10, // 一ページに表示するリンク数
‘totalItems’ => 100, // ページング対象データの総数

);
//ページング発行
$pager =& Pager::factory($param);
$link = $pager->getLinks();

どれもすごいことをしてくれるわけではありませんが、独自で作るのはめんどくさいなぁ。。的なライブラリばかり。PEARライブラリを使えば、さくっと簡単に実装できてしまうので、使わない手はありませんね。

参考リンク:
DB_DataObjectの使い方
Pear::Calendarで日本のカレンダーを作る
Pear:pagerの使い方

カテゴリー:MixClips, 技術・開発