ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

学習用軽量コンテナSabaphyコミュのSabaphyライブラリについて

  • mixiチェック
  • このエントリーをはてなブックマークに追加
Sabaphyは2006.1にV0.4にアップしました。そのねらいは以下の通りです。

1)標準のPHP5でできることは、それですませる。
2)ライブラリ自身を単純な構成にして、利用者が解読できるようにする。

当面、この考え方で進めようと思っていますが、これには長所と欠点があります。以下の発言で、これまでにいただいたご意見をもとに私の回答を転載します。これらをもとに皆さんのご意見をいただけるとありがたいです。

コメント(5)

Sabaphy0.2->0.4への変更点

V0.2からV0.4への変更で利用者にとって大きな違いは、以下の2点です。

1) WorkUnitManagerクラスをなくし、PHPの標準セッション管理ですませる。
2) シリアルDBをなくし、SQLiteをはじめから使用する。

ワークユニットはセッション作業オブジェクト(SessionBean相当)で、WorkUnitManagerはセッションを通じてワークユニットを利用できるようにするものです。

いずれも「標準のPHP5でできることは、それですませる」という視点からの変更です。
WorkUnitManagerの廃止について

> WorkUnitManagerはなくしたのでしょうか?ビジネスルールの分離ということかなと思っていたのですが。

ワークユニットの概念がなくなったわけではありません。Sabaphy 0.4では、標準PHPだけでできることは極力それで済ませるということにしました。WorkUnitManagerは、ワークユニットをセッションに登録・再現するだけですので、以下で済ませることができます。

 $_SESSION[ワークユニット名] = $workunit; //ワークユニットの登録
 $workunit = $_SESSION[ワークユニット名]; //ワークユニットの再現

これにWorkUnitManagerという皮をかぶせておくと、将来の機能拡張が容易になります。しかし、はじめて学ぶ人にはSabaphy固有の概念を強制されているように感じることでしょう。拡張性を犠牲にしてでも、固有概念を少なくして、Sabaphyへの抵抗感を少なくしようということです。
シリアルDBの廃止について

シリアルDBでは、テーブル定義を書かずにオブジェクトの永続化ができます。初心者がオブジェクト永続化を簡単に行えるというメリットがあります。しかし、検索に独自の検索条件式(SQLではないPHPによる条件式)を書く必要があり、Sabaphy固有の概念になってしまいます。

PHP5で設定やユーザ定義が不要な簡易DBであるSQLiteが提供されました。そこでこれを標準にすることにして、Sabaphy固有のシリアルDBを廃止した次第です。

しかし、SQLiteは簡単といっても、SQLを使ったテーブル定義が必要です。このため教材にデータベースの解説(Lect2)を追加しなければなりませんでした。SQLをまったく知らなくても一通りのことができたSabaphy0.2の方が初心者向きかも知れません。ここは悩ましく思っています。
部外者が申し訳ありません。

ソースを読んで勉強する用に、標準的なフレームを探してsabaphyに行き着きました。

>SQLをまったく知らなくても一通りのことができたSabaphy0.2の方が初心者向きかも知れません。ここは悩ましく思っています。

恐らくどのフレームワークでもDBは必須だと思います。
勉強という視点から重要だと思います。
PHPは結構はやっているようですね
・SugerCRMはPHP
・AS400でPHP
・ゼンドフレームワークの登場
・公共でもJavaはダメ、PHP
などなど

最近、よく聞きますね
ところでゼンドフレームワークとどう違うのでしょう?
もし、お分かりならば教えて下さい。

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

学習用軽量コンテナSabaphy 更新情報

学習用軽量コンテナSabaphyのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。

人気コミュニティランキング