【PHP】フレームワークについて語るスレ【総合】
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2005/08/10(水) 02:21:08ID:CBjrwwHdPhrame本家
http://phrame.sourceforge.net/
Mojavi Project
http://www.mojavi.org/
mojavijapan
http://mojavi.p0t.jp/
Agavi本家
http://agavi.org/
Agavi.JP
http://agavi.jp/
[ 日本発 ] Maple Project
http://kunit.jp/maple/
[ 日本発 ] Ethna -PHPウェブアプリケーションフレームワーク-
http://ethna.jp/ethna-tutorial-startup-practice1.html
※関連スレ
【PHP】フレームワークMapleに舌鼓
http://pc8.2ch.net/test/read.cgi/php/1122105465/
【PHPフレームワーク】Ethna【スケルトン自動作成】
http://pc8.2ch.net/test/read.cgi/php/1123070439/
PHPでオブジェクト指向プログラミング
http://pc8.2ch.net/test/read.cgi/php/1113724557/
その他>>2-5参照汁
0685nobodyさん
2005/12/05(月) 16:17:35ID:dKNEsuCU個人的には maple。
もっとも、そのままじゃ実用に耐えないからかなり改造して使ってるが。
0686nobodyさん
2005/12/05(月) 16:20:36ID:???0689nobodyさん
2005/12/05(月) 16:22:28ID:???グチャグチャになりがち
0690nobodyさん
2005/12/05(月) 16:27:15ID:???guessworkはvalidatorが貧弱だったりするからその辺を補完して、認証とかサイト毎に
必要な機能を付ければ俺的には充分。
作成するファイルが少ないってのも俺好み。
0691nobodyさん
2005/12/05(月) 16:37:22ID:???なかなか出ないね
0692nobodyさん
2005/12/05(月) 16:43:21ID:???一応ご確認あれ>>684
日本語の資料が一番まとまってそうなのは速構Web Frameworkかな?
ttp://www.pm9.com/newpm9/itbiz/php/framework/
但し有料。
次点はEthnaじゃなかろうか?
http://ethna.jp/
0693nobodyさん
2005/12/05(月) 16:45:27ID:???英語でも読めて当然だろ、普通のSEなら大学ぐらい出てるんだからさ。
0695nobodyさん
2005/12/05(月) 16:59:09ID:???つー質問に答えなきゃいけない立場の人は大変だろうねぇ。
0697nobodyさん
2005/12/05(月) 17:14:56ID:???たとえばメンテナの数や、たとえばコーディングのしやすさ
先に見るべき場所がほかにあるでしょ。
日本語マニュアルなんて、あればいいな程度のものを最初に持ってくる神経を疑う。
0698nobodyさん
2005/12/05(月) 17:22:54ID:???まあそうだけど、フレームワークの概念自体を勉強したいっていうニーズだって
あっていいでしょ?
自分がプロのSEだからって視野が狭すぎ。
>>684が学生か社会人かもわからんだろうに。
0699698
2005/12/05(月) 17:25:34ID:???0700nobodyさん
2005/12/05(月) 17:33:00ID:???取り組むリスクが大きくなるから
日本語資料があるに越したことはないね。
0701nobodyさん
2005/12/05(月) 17:34:02ID:???俺が使ってるのはmojavi系。正確には2.00にパッチ当てたりして少しだけ拡張した奴。
メンテナの数が違う…が2,3,4,agaviとメンテナが分離気味なので動向を見守っているところ。
ことフレームワークなどに関しては、勝ち馬に乗るべきだと思ってる。
俺もメンテナが多いのが生まれたらそれに乗り換える。
ただ残念なのは、そうやってフレームワークが普及しても思ったよりネットでのコード共有が進まなかったこと。
みんな自分の書いたものは見せずに、他人のものばかり見たがる。俺もだがw
0702nobodyさん
2005/12/05(月) 17:34:38ID:???0703nobodyさん
2005/12/05(月) 17:38:15ID:???すまないね。
>>702
それ結構悲惨だな…でもサンプルコードあったら理解してくれない?
PEARとでも英語しかマニュアル無いもの結構あるけど、どうするんだよ。
0705nobodyさん
2005/12/05(月) 17:45:54ID:???0706698
2005/12/05(月) 17:55:32ID:???どうもありがとう。参考になります。
mojaviはagaviと統合してから手を出そうかと思ってました。
こちらも英語ができない部下(しかも直属じゃない)がいて、
しかも自分を含めて本職はSEじゃ無かったりします。
なんで、「わからないならソース嫁」と言いたいところですが飲み込むこともありw
でもメンテなの多さは魅力だな。早いうちにmojaviの資料にも当たっておこう。
0707nobodyさん
2005/12/05(月) 18:05:20ID:dKNEsuCU0708nobodyさん
2005/12/05(月) 18:24:01ID:???うはっw
こういう奴ってまだいるんだw
0709nobodyさん
2005/12/05(月) 18:28:40ID:???0710nobodyさん
2005/12/05(月) 18:33:47ID:???0711nobodyさん
2005/12/05(月) 20:31:13ID:???邪魔になるかなとは思いつつTylerにメールして進捗を聞いたりした
11月の中ごろにはあと2ヶ月くらいで出来るとのことだったがその後音沙汰がないのが心配だw
0713nobodyさん
2005/12/05(月) 20:33:25ID:???0714nobodyさん
2005/12/05(月) 23:03:05ID:???0715nobodyさん
2005/12/05(月) 23:06:57ID:???意味無いから試してないけどね。
0716nobodyさん
2005/12/06(火) 02:35:30ID:8b+BGlil現状ではメジャー技術を参考にしつつ自前開発するしかなさげ
だいたい大きな考え方はどのフレームワークにも共通するしね
0717nobodyさん
2005/12/06(火) 09:29:17ID:???オブジェクトの使い方とか理解しやすい。
0718nobodyさん
2005/12/06(火) 12:37:55ID:???書籍の紹介でも構わないのですが。
0719nobodyさん
2005/12/06(火) 12:43:24ID:???0721nobodyさん
2005/12/06(火) 13:20:37ID:???スレタイ読まないのはまあ百歩譲るとして他のレスちょこっと読めばわかるもんだろ普通
0722nobodyさん
2005/12/06(火) 15:21:22ID:???0723nobodyさん
2005/12/06(火) 15:27:03ID:???0724nobodyさん
2005/12/06(火) 15:34:12ID:???0725nobodyさん
2005/12/06(火) 15:35:58ID:???0726nobodyさん
2005/12/06(火) 15:40:42ID:???ttp://www.jca.apc.org/afghan-women/Special/WEDDING_BOMB.html
0727nobodyさん
2005/12/06(火) 15:44:53ID:???0730nobodyさん
2005/12/06(火) 20:10:08ID:???薄っぺらだから、把握するソースも少なくて済むし。
正式リリースはされてないけど、svnは着々と新しいクラスも
作られてる。
至れりつくせりなフレームワークは、いまのところ完成度が
低いものばかりなので。
pradoは完成度的には高いけど、XMLファイルの設定とか
結構面倒。
個人的にはsymfonyに期待してるんだけどね。
0731nobodyさん
2005/12/06(火) 22:51:06ID:???0732nobodyさん
2005/12/06(火) 23:32:14ID:???この、& の意味は何ですか?
0733nobodyさん
2005/12/06(火) 23:36:36ID:???0734nobodyさん
2005/12/06(火) 23:38:54ID:???0735nobodyさん
2005/12/06(火) 23:39:38ID:???0737nobodyさん
2005/12/07(水) 00:26:56ID:???0738nobodyさん
2005/12/07(水) 04:47:59ID:???dispatchで、辞書で調べると
「打ち負かす」とか「急送する」とかの意味らしい。
いまいち合ってない気がするけど
何か言われがあるのかな。
executeで良くね?と思うんだが。
0739nobodyさん
2005/12/07(水) 04:59:46ID:???Controllerは単にリクエストを適切なActionへ発送(dispatch)するからじゃね?
0740nobodyさん
2005/12/07(水) 05:49:46ID:???0741nobodyさん
2005/12/07(水) 06:05:54ID:???そこらのフレームワークはStrutsの影響だと思うけど、元々はOSのスケジューラがスレッドをCPUに割り当てるって意味。
MVCフレームワークではリクエストに応じてactionだのviewだのを割り当てるってこと(>>739はその意味で当たってると思う)。
loadなんかも「積む」って意味をこえて、メモリからレジスタにデータを読み込むって意味だったものが、ファイルなどの内容をメモリに読み込むって意味に転じて、果てにはWebサーバからブラウザにデータを読み込むってことにまで使われるようになった例だし。
0744nobodyさん
2005/12/07(水) 20:43:55ID:???翻訳してくれてる。
agaviユーザ多いかな。
http://www.geocities.jp/toyprog/
0746nobodyさん
2005/12/07(水) 22:03:43ID:???0747nobodyさん
2005/12/07(水) 22:05:08ID:???0749nobodyさん
2005/12/07(水) 23:23:39ID:???htp://www.phparch.com/webcasts/recordings/dec0205_zend.php
0751nobodyさん
2005/12/07(水) 23:53:53ID:???もれもそれ思ったよ!これからピィチピーって言おう!
0752nobodyさん
2005/12/08(木) 06:40:50ID:???これっていつごろできるの?
0753nobodyさん
2005/12/08(木) 08:49:04ID:???0754nobodyさん
2005/12/08(木) 18:17:58ID:v7tgLnK2じゃあdispatchからのforwardってなんなの?
0755nobodyさん
2005/12/08(木) 18:25:17ID:???「転送する」とか「回送する」とかの意味があるから、「処理をまわす」と
いう意味合いじゃないの?
つか、ここは英語のスレじゃないんだが。
0756nobodyさん
2005/12/08(木) 22:50:03ID:???0757nobodyさん
2005/12/08(木) 23:13:00ID:???0759nobodyさん
2005/12/09(金) 12:21:49ID:???テキストなら大事なとこだけ拾い読みできるのに。
0760nobodyさん
2005/12/09(金) 12:43:07ID:???0761nobodyさん
2005/12/09(金) 14:16:53ID:???0762nobodyさん
2005/12/09(金) 17:59:40ID:kJFA21a1サブテンプレート作成中に処理がブチギレるよね。
ポストフィルタでリダイレクトすべきなのか。
そのあたりどうしてる?
0763nobodyさん
2005/12/10(土) 14:39:54ID:???mojavi2でSmartyを使っています。
XOOPSのテーマを使っていてsmartyのデリミタが<{と}>です。
$lblocks = array(array('title' => 'エラー',
'content' => '<div><{$error}></div>'));
$renderer->setAttribute('xoops_lblocks',$lblocks);
すると<がサニタイズされて>に変換されて、html上表示されてしまいます。
サニタイズさせない方法ってあるでしょうか?
0764nobodyさん
2005/12/10(土) 19:34:26ID:???$smarty->left_delimiter = '<{';
$smarty->right_delimiter = '}>';
てか、、マニュアル嫁
0765nobodyさん
2005/12/10(土) 23:53:59ID:???>>763の
>XOOPSのテーマを使っていてsmartyのデリミタが<{と}>です。
とあるように、その設定はXOOPSのテーマを使うために既にしています。
そのために<と>がサニタイズされて困っているんです。
その設定をしなければ、{と}だけで問題ないのです。
テーマ側に<{$error}>と書けば問題ないのですが、setAttributeで渡そうとすると
サニタイズされてしまいます。
0767762
2005/12/11(日) 11:51:35ID:???リダイレクトっていっても
ヘッダに出力するだけで、
処理が止まるわけじゃないんだよな。
0768nobodyさん
2005/12/12(月) 19:50:27ID:???modelで$this->getContext()->getRequest();するのと、
actionで$this->getContext()->getRequest();してモデルに渡すのと
どっちがmvc的に正しいですか?
0769nobodyさん
2005/12/12(月) 20:44:06ID:???モデルはコントローラやビューと結合していないのが理想なので、action で
リクエストを取得して、それに応じて model に渡すのがよいと思う。
0770nobodyさん
2005/12/12(月) 20:44:31ID:???0772768
2005/12/12(月) 21:33:07ID:???さっぱりしました。
0773nobodyさん
2005/12/12(月) 23:43:46ID:???えええええええええええ?
だったらなんでmodelに
$this->getContext()->getRequest();
できる機能わざわざつけてあるのさ。
actionもMVCのmodelに相当するんじゃないの?
model内で
$this->getContext()->getRequest();とかやって、
actionでgetModelするのが普通だと思うが。
>>772よ。すっきりするのはまだ早い
0774nobodyさん
2005/12/12(月) 23:50:24ID:???class HogeModel extends Model って感じ?
0775nobodyさん
2005/12/13(火) 00:06:36ID:???> actionもMVCのmodelに相当するんじゃないの?
違うよ。controllerとmodelのアダプタ(アダプタパターンとは別の意味)。
controllerの一部をコマンドパターンとして抽出したとも見れる。
だから本当はactionはビジネスロジックを書くところじゃないんだけど、ロジックもそのまま書けてしまう手軽さは利点であり欠点でもあると思う。
requestをいじるのはcontrollerであるべきだと思うから俺はaction内でgetRequestして、相応のmodelを呼び出す派。
0776768
2005/12/13(火) 01:51:59ID:???$this->getContext()->getRequest();
のはなんか気持ち悪い。
0777nobodyさん
2005/12/13(火) 01:56:13ID:???最初はmodelでやっていたが
そうなると、起点となるactionを見ただけでは
どんなパラメータをいじっているのかが分からず、
流れを把握しにくくなったから。
またリクエストパラメータはどちらかといえば
プレゼンテーション層に属するものなので
プレゼンテーション層であるactionで受け取るのが理にかなっている
とも思う。
バリデーションやコンバートはactionでやってるんだから
ノータッチでmodelに渡していても疎結合とは言えないのでは?
むしろactionで受け取ってmodelに渡すというレイヤパターンにした
方が疎結合といえる気がする。
0778nobodyさん
2005/12/13(火) 10:18:09ID:???それって context と request の両方を外部に依存することになるし
action で request を処理しちゃえば model は request の「値」のみに依存することになり
より疎結合になる
# なんてことを周囲に喋ると「日本語喋れ」とか言われる罠w
0779nobodyさん
2005/12/13(火) 11:29:59ID:???プロトコルを増やすわけだからむしろ記述は面倒くさくなりがち
0780nobodyさん
2005/12/13(火) 14:13:53ID:???フレームワークが許容しているのと、理想的な設計との間には
隔たりがあるってことを理解するべき。
元の質問は
> どっちがmvc的に正しいですか?
‥なので、MVC 的には action に依存しない方が理想だろうね。
>>778 のいう「unit test がやり辛い」ってのは、model がフレームワークと
密接に結合していて使い勝手が悪い証拠。結合度が高いので、再利用しずらい
(再利用する時に、間接的にフレームワークにも依存することになる)。
model と action を分離しておけば、例えば、Web アプリとは別に DB に対する
バッチ処理を PHP で書く必要がでてきた時に model を流用できる。
ただ、理想的な設計が、即座に現場で適用されるべきかというと、それは
また別問題だけどな。
0781nobodyさん
2005/12/13(火) 18:51:28ID:???いや、疎結合とかはlib側で考えるもんなんじゃないの?
>フレームワークが許容しているのと、理想的な設計との間には
>隔たりがあるってことを理解するべき。
許容じゃなくて、意図的に実装してるんだとおもうんだけど。
modelは明らかにactionと密接な連携を取るためのものだと思うし。
>model と action を分離しておけば、例えば、Web アプリとは別に DB に対する
>バッチ処理を PHP で書く必要がでてきた時に model を流用できる。
その流用はlibでつくったもののがやりやすいよね。
0782nobodyさん
2005/12/13(火) 18:54:29ID:???自分は逆にactionはどんなmodelを使ってるかの道しるべとして使ってるから
流れ把握は全然困らない。てかむしろしやすい。
0783nobodyさん
2005/12/13(火) 18:59:51ID:???0784nobodyさん
2005/12/13(火) 19:08:07ID:???■ このスレッドは過去ログ倉庫に格納されています