CakePHPのORM部分だけを切り出して、別のPHPスクリプトから使うことはできますか? Modelを、別のPHPスクリプトやフレームワークから使う方法を教えてください。


こんな使い方を考えています。
$model =& new CakeOrmOnly(array("uses" => "table"));
$result = $model->Table->findAll();

回答の条件
  • 1人10回まで
  • 登録:2007/11/29 19:53:59
  • 終了:2007/12/06 19:55:03

回答(1件)

id:t_shiono No.1

t_shiono回答回数256ベストアンサー獲得回数222007/11/29 23:42:45

ポイント60pt

ORマッピングの部分を抜き出して、その他の部分は何かのフレームワークにのっけますか?

のっけないということを前提にですが、メインの処理用にコントローラを作成し、以下のサイトを参考にコントローラを呼び出してあげるのが分かり易いと思います。

http://program.alphabrend.com/modules/pukiwiki/41.html

期待されているものとは、多少違うかと思いますが、もしこれで対応可能ならば、一考の価値はあるかと思います。


controller.phpなどを参考にモデルの生成部分を用意すれば、お望みのことはできるかもしれませんが、クラス間の依存関係などの記述が煩雑になってしまうかと思います。つまり、元ソースを編集しないのであれば、的確にすべてをrequireする箇所がどこかに必要となってくると思われます。

何かの参考になれば。

id:pekeq

ありがとうございます。

ご推察の通り、別のフレームワークで使おうかと思っていました。

教えていただいた方法は、HTTPクエリパラメータを埋めてCakePHP本体をコールすれば動くよね、という内容だったので、ちょっと使うのは難しいかなという感じです。

後半部分、CakePHP1.2のShell部分を読むと、かなり面倒なことをやっていて、こりゃきびしいなと感じており、簡単にできんもんかと思っていました。

2007/11/30 10:40:11
  • id:t_shiono
    なかなか簡単にはいかないようです。
    ORマッパーに関してcakePHPにこだわる理由は何かあるのですか?
  • id:pekeq
    ActiveRecordパターンでテーブルが引けて、Model間のリレーションを追えるORMなら何でもいいんですが、CakePHP以外のORMはどれも今ひとつでして…
  • id:t_shiono
    興味があったので、海外のcakePHPコミュニティでも聞いてみたのですが、

    「フレームワークと密接なので、別のフレームワーク上で利用したいのであれば、別のORMを利用した方がよい」

    とのコメントをもらいました。
    そのときに、以下のORMを進めてもらいました。

    http://propel.phpdb.org/trac/

    質問の意図とは異なりますが、参考になれば。
  • id:pekeq
    ありがとうございます。うーん難しいですかぁー
    PropelはSymfonyで使ってますね。

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません