pokopokoとは何か
pokopokoクラスライブラリ(以下、poko2と略)とはPHPを用いた
WebDBアプリケーションを作るためのフレームワークです。
以下にフレームワークを構成する主なクラスと、その役割を列挙します。
HTMLフォームタグを出力するための簡易ラッパークラス (kernel/cls_form.php)
超簡易版HTMLテンプレートパーサー(kernel/cls_template.php)
DB管理インターフェイスクラス(poko2のメインクラス) (kernel/cls_dbmanager.php)
セッションの設定と開始、終了を行う基本クラス (kernel/cls_session.php)
Pokopoko or Programmable Session Authontication Manager
:PHP4におけるセッション関数を使って、カスタマイズを前提としたユーザー
認証機能を実現するためのアプリケーション(クラス)テンプレート
(kernel/cls_psamanager.php)
CDbManagerの典型的な拡張クラス
(kernel/cls_poko.php)
CDbManager(Ex)の典型的な統括処理クラス
(フレームワークテンプレートクラス)(kernel/cls_poko.php)
セッション認証を備えた全体統括クラスであり、
poko2の最も頻繁に利用されると思われる実装の一つ。
(kernel/cls_poko2.php)
poko2の柔軟性を維持するために導入されたSQL
ドライバのファクトリークラス。指定されたpoko2用SQLドライバクラスの
インスタンスをコンストラクタで返す。
昨今は様々なCMS(Contents Management System)がPHPで実装され、使われて
います。またDB管理でも phpPgAdmin や phpMyAdmin等があります。
そんな中、わざわざ新しくWebDB用フレームワークを作った理由は非常にシンプル
です。
作者がそうした便利なツールが有ることを知らなかったんです。
んで、躍起になって作って、実際にサイト運営で使っているうちにですね。
何だかこれはこれで、結構使いやすいような・・・って気になっちゃったんです。
確かに XOOPS や PukiWiki やら、他にもたくさんの CMS や掲示板
システムが存在しますし、Blogも人気です。ですが仕事で作る必要がある
サイトでは、そうした言わば個人ポータル向けのツールを導入して済む話はあまり
無いです。そのくせ作るものはどれもこれもいつか見たようなもの。
そういうわけで、便利なCMS系は使えないけど、これってどっかで作ったなあ
という場合に、poko2を適用することで比較的簡単に実装できます。
あとですね。poko2って、具体的なフレームワークと言うよりは 実装方法
とゆーか方法論とゆーか設計手法とゆーかインターフェイス
みたいな性格が強いんです。
何でもかんでもpoko2の提供するクラスのみで実装する必要は無いです。
poko2はですね、どちらかというと「WebDBを作成するときの良くある
デザインパターンの一つ」みたいなものです。
よって、実際にpoko2デザインパターンを実装するためのクラスや、果ては
言語すらどうでも良かったりするのです。ただ、PHPで実装する際にpoko2
デザインパターンを比較的素直に実装できるように調整したクラスが、上に挙げた
クラスライブラリ群なわけです。
というわけで、結構地味なツールに位置しますが・・・実際使ってますから。 使えてますから。底力はそれなりにあるのではないかなーと自負していますので。 是非、お仕事に使っていただけるといいかな?とか。そんな感じです。
Apache + PHP4 + PostgreSQL or MySQL 環境で動作するように作ってはいます。
データベースとのインターフェイスをPEARで済ませたり、或は種類を増やせば
対応データベースはもっと増えるかと。
セッション認証を実装すると、多少プラットフォームOSの影響を受けるかも知れま
せんが、基本的にApacheかPHP側の設定で逃げられると思います。
動作検証を行っている作者の環境を列挙します。
OS : Windows2000(SP4), TurboLinux 8 workstation, TurboLinux 7 serverApache : 2.0.x(W2K), 1.3.x(TLX)PHP : 4.3.x(W2K), 4.2.x(TLX8W), 4.1.x(TLX7S)PostgreSQL : none(W2K), 7.2.x(TLX8W), 7.1.3(TLX7S)MySQL : 3.x(W2K/TLX8W), none(TLX7S)実はこれが重要だったり。
PHP の文法はマスターしておいて下さい。 以下の事柄を理解していないと、
poko2を使いこなすのは難しいです。
foreachでキーと値に分けて連続処理call_user_funcを使用したランタイム関数呼び出しpoko2は初心者でも簡単に使えるような親切設計では有りません。柔軟性と
シンプルさを両立させるために、かなりフレームワークとしては低位の実装です。
そのため、poko2を使うにはそれなりにPHPの知識が要求されます。
SQLやデータベースについてはそれほどマスターしていなくても大丈夫です。
SELECT - FROM - WHERE - LIMIT - OFFSET - ORDER BY, INSERT, UPDATE, DELETE
これくらいを知っていれば大丈夫です。外部結合とかJOINとかまでは使いません。