tonextone.com/note/

Last-modified: 2006-09-01 (金)

Copyright ©master_at_tonextone.com All rights reserved.

PHP on Biscuit

Posted : 2005-09-05 00:00 / Category : [開発日誌]
このエントリに関連して。
Ruby の Rails を真似た PHP 版フレームワークとして、 Cake に続き、 Biscuit を触ってみた。
Tutorial にしたがって、これを作ってみた。

特徴:

  1. PEAR(DBその他)を使う。
  2. テンプレートエンジンを使わなくて良い。
  3. グローバルな、変数、関数を上手く使う。
  4. 4つ(だけ!)のファイルで構成される。
  5. そもそも構成ファイルが少ないので、どうにでもできる。

ファイル構成:

biscuit_forum/
|-- index.php (本体)
|
|-- biscuit/ (ライブラリ)
|   |-- activerecord.inc (モデル: クラス定義)
|   |-- activecontroller.inc (コントローラ: クラス定義)
|   `-- actionpack.inc (ビュー: 関数定義)
|
|   # 上記が構成ファイル。(参考)
|   # 下記のファイルでアプリを実装する。
|
|-- models/ (モデル: インスタンス作成)
|   `-- post.php (ファイル名 = モデル名)
|
|-- controllers/ (コントローラ: インスタンス作成)
|   `-- forum_controller.php (ファイル名 = コントローラ名_controller)
|
`-- views/ (ビュー: テンプレート)
    `-- forum/ (ディレクトリ名 = コントローラ名)
        |-- create.html (ファイル名 = アクション名)
        |-- index.html
        |-- login.html
        `-- show.html

所感

かなり好感触。
/index.php(100行) が本体で、これを読めばフレームワークの概要は理解できる。
グローバルな変数、関数を積極的に使う事により、
コアクラスのメンバが必要最小限に抑えられているので、
覚えなければならない事や、親子関係を意識しなければならない状況が少ない。
[一式]

トラックバック

1: tonextone.com/note//PHP on Cake (09/04 23:55)
Ruby の Rails, Perl の Catalyst のデモンストレーションムービーを見て感動した。で、同様の PHP 版フレームワーク、Cakeを試してみた。
2: Shoulder.jp/PEAR::DBとはなにか? (06/01 11:26)
PHPでは、デフォルトで色々なDBにアクセスできる専用関数がある。接続できるDBはMySQL,PostgreSQL,Oracle,DB2,SQLServerなどなど。普通にDBアクセスするには上記、専用関数を使えば問題ない。しかし、専用関数にはデメリットもある。それは何か?それは、開発者が各DBごとに関数を使い分けなくてはいけないということ。別にMySQLしか使わないからいいよ。という声があるのは知ってますが、しかし、開発の生産性や移植性などを考えるとあんまりいいとはいえないと思う。そこで登場するのが「PEAR::DB」!まーライブラリです。専用関数と各DBによる差異を吸収してくれるため、開発者は接続先のDBを意識しなくていいので、移植するにもOK。とはいいつつ、これだけでPEAR::DBを使うか?という部分もなきにしもあらずだが、PEARはPEAR::DBのみにあらず。PEARには認証系のライブラリであるPEAR::Authやフォーム作成するために利用するライブラリであるPEAR::HTML_QuickFormなど便利なライブラリがたくさんある。そのひとつとしてPEAR::DBの利用を考えてみるのもいいのではないだろうか?
[ このエントリへはツッコミ出来ません ]