【PHP】フレームワークについて語るスレ【総合】

このエントリーをはてなブックマークに追加
1nobodyさん
※フレームワーク
Phrame本家
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参照汁
2nobodyさん:2005/08/10(水) 02:21:56 ID:CBjrwwHd
※前スレ
【PHP】Phrameを使う【フレームワーク】
http://pc8.2ch.net/test/read.cgi/php/1093238107/


※解説ページ
開発談義/FrameWorkはどれがいい? - PukiWiki
http://w-project.org/pukiwiki/index.php?%B3%AB%C8%AF%C3%CC%B5%C1%2FFrameWork%A4%CF%A4%C9%A4%EC%A4%AC%A4%A4%A4%A4%A1%A9
PHP用MVCフレームワーク Mojavi第1回:フレームワークとMojavi
https://www.stackasterisk.jp/tech/php/mojavi01_01.jsp
いまのところ、ここの解説が一番詳しいかな?
http://mojavi.try-angle.biz/wiki/
mojaviビギナーのチュートリアルだ。
http://www.peterrobins.co.uk/it/mojavi/tutorial.htm
こっちだったスマソ。
http://www.lyricfathom.com/pukiwiki/pukiwiki.php?Phrame%B2%FE%C2%A4
Phrameを使ってみよう
http://www.lyricfathom.com/pukiwiki/pukiwiki.php?Phrame%A4%F2%BB%C8%A4%C3%A4%C6%A4%DF%A4%E8%A4%A6
3nobodyさん:2005/08/10(水) 02:29:10 ID:???
>>1
4nobodyさん:2005/08/10(水) 02:35:18 ID:???
おつおつ >>1
5nobodyさん:2005/08/10(水) 10:58:07 ID:???
スレ立て杉orz
6nobodyさん:2005/08/10(水) 21:02:00 ID:???
オリフレ族の俺が来ましたよ
7nobodyさん:2005/08/10(水) 21:07:23 ID:???
本家のMojaviプロジェクトが寄付を募ってます。サーバー維持に衝き99ドル必要だそうです。
ハードなMojaviユーザーは払ってみるのも面白いかもしれません。

だって。モジャビjpより。
結構インパクトはでかいのに
たかが99ドルが問題になるほど金になってねーのかYO
でもオープンソース商売っていまいち形が見えない。
Zendとかもどこで儲けてるんだろ?
8nobodyさん:2005/08/10(水) 22:06:40 ID:???
apacheもどこでもうけてんだ?
9nobodyさん:2005/08/10(水) 22:29:41 ID:???
guessworkってのもあるよ

ttp://www.guesswork.jp/
10nobodyさん:2005/08/10(水) 22:43:28 ID:???
なんでPHPフレームワークって大体放置されぎみなんだろう…
11nobodyさん:2005/08/10(水) 22:46:18 ID:???
やっぱ金にならないのが問題なんだよ。
サービスを続けるには金がいる。
それが技術者には分かってないのれす。
12nobodyさん:2005/08/11(木) 01:16:39 ID:???
そんなに大きくないオープンソースプロジェクトの場合、やる気の方が問題。
だれもほめてくれなかったり、飽きるとみんなやめちゃう。

ただ、MojaviくらいならSourceForgeなどで充分なはずなのに、
サーバーが欲しいとわがままを言うのはまだプロジェクトに興味がある証拠かも。
13nobodyさん:2005/08/11(木) 01:20:27 ID:???
本当に興味あるならもっとバリバリ更新できると思うんだけどなぁ
まあ仕事じゃないから仕方ないか…
14nobodyさん:2005/08/11(木) 02:12:14 ID:???
Mojavi寄付の話、ここが元だね
http://www.mojavi.org/index.php/module/Default/action/Static/page/fund.php
未払いかなんかで$220たまってるらしい。
払いたい人は
http://www.fundable.org/groupactions/mojavi-server-rental
一人$10(千円ちょい)から。
8/17までに全額払いきれなかった場合は、寄付した分返ってくるくさい。

なーんかなー。Agaviが出た今となってはなー。
とは言ってもMojaviの登場に恩恵を受けたとも言えるから払おうかどうか迷い中。
15nobodyさん:2005/08/11(木) 02:46:38 ID:???
オリフレで勉強させてもらったから$20送ったった
ま、経費で落とすけどな
16nobodyさん:2005/08/11(木) 10:15:57 ID:???
そもそもフレームワーク必要になる位の案件なら
Java使うわい って思うのね。
17nobodyさん:2005/08/11(木) 10:33:15 ID:???
>>16
それいっちゃおしまいよ
18nobodyさん:2005/08/11(木) 17:28:03 ID:???
フレームワークは
書けば書くほど楽になっていくから
RPGみたいな楽しさがあるよ
作ってて楽しいのは大きい。
19nobodyさん:2005/08/11(木) 20:57:22 ID:???
MojaviObjectのtoStringは
何の時に使うんですか?
20nobodyさん:2005/08/11(木) 21:02:05 ID:???
M2で若干違和感あった命名法(addLoggerとかcleanupとか)は
M3で直ってるんだな
パクるならM3からパクれ、と。
21nobodyさん:2005/08/11(木) 22:20:58 ID:???
おまいらSean Kerrに金払ってやれよ
世間に大量の知をふりまいた奴に対してたった$220も集まらないなんて
これ使って金稼いだんだろ?えーこら
22nobodyさん:2005/08/11(木) 22:30:20 ID:???
おまいら、
テンプレート継承してますか?

23nobodyさん:2005/08/11(木) 23:40:30 ID:???
>>22
agavi の話?

SmartyView を継承したら思い通りに動かなかったので SmartyViewを元にView を継承したクラスを作った。

24nobodyさん:2005/08/12(金) 00:04:34 ID:???
テンプレートとViewは別物ジャン
テンプレート継承ってどんなだ?いまいちイメージが沸かないな
25nobodyさん:2005/08/12(金) 01:12:40 ID:???
M2のFileAppender、書き込み時ロックしてないから
高負荷になったらファイル壊れるよなぁ
26nobodyさん:2005/08/12(金) 20:17:34 ID:???
アガビチェックアウトしてみたけど
まだFileAppenderも埋まってねーのかよ ( ゚д゚)、ペッ
27nobodyさん:2005/08/12(金) 23:33:14 ID:???
まだ開発途中だからな。
不満なら自分で作って投稿しろよ。
自分で作れないなら、指くわえて待ってろ。
28nobodyさん:2005/08/12(金) 23:59:41 ID:???
guesswork
http://www.guesswork.jp/
も加えてやっとくれ。
もうじき出るらしい0.9.0に期待。
29nobodyさん:2005/08/13(土) 00:00:23 ID:???
失礼、>>9 で既出でした。
30nobodyさん:2005/08/13(土) 00:21:59 ID:???
>>28
割り切り感に共感した
31nobodyさん:2005/08/13(土) 18:58:12 ID:???
>>28

 PHPでフレームワークを使ってみたいけど、大袈裟な物だと、PHPを使うより、
JAVAを使った方が良い様な気がして悩んでいたんだけど、guessworkは、
私のニーズにすっぽりはまりそうな感じ。
 ただ、昨年の10月に 0.0.1 が出でから全然更新されていないので、自然消滅
かなと思ってたけど、

http://blog.bmedianode.com/

 で開発が続いている事を知って、ひと安心。

 0.9.0 が今月中に出る予定なんですね。
32nobodyさん:2005/08/14(日) 01:16:18 ID:???
>>28
これって使ってみた人いる?
controller を継承したclassをひとつ作ればいいだけ?
Action とか View とか命名規則とか覚えなければならないのは面倒だからなー。
でもこれって フロントコントローラー形式じゃなくて 一つのスクリプトが一アクションって感じかね。
33nobodyさん:2005/08/14(日) 02:02:27 ID:???
フロントコントローラで
actionをメソッドで持つ形だね
34nobodyさん:2005/08/14(日) 03:10:29 ID:???
ゲスワークの変数だけ用意しておけば
勝手にほりこんでくれるってアイデア何か新しいな
リクエストパラメータ以外にも使えそう
35nobodyさん:2005/08/16(火) 19:36:28 ID:???
> guesswork classic 0.0.2
> PHP4用のguessworkをguesswork classicと改称して、0.0.2をリリースしました。

 PHP5用は、まだみたいですね。
36nobodyさん:2005/08/16(火) 23:42:43 ID:???
mojaviでactionクラス作って、そのクラスのメソッド中に変数を
作ると、エラーになるんでしょうか。

Undefined variable とエラーになってしまいます。
なぜでしょう。
37nobodyさん:2005/08/17(水) 00:07:28 ID:pp1u9i8Z
>>36
Mojavi以前にPHPでメソッドないでメンバ変数にアクセスするには$this->var
また、PHPで値を代入していない変数を参照するとUndefined variableのノーティスがでるが。
38nobodyさん:2005/08/17(水) 00:11:11 ID:XikmAfZG
優しいなぁ・・・この季節は放置が基本だと思ってたよ。
39nobodyさん:2005/08/17(水) 00:21:55 ID:???
>>37さん
どうもありがとう。

$test = '';
で回避していました。
40nobodyさん:2005/08/17(水) 04:32:13 ID:???
Mojavi鯖のドネーション、あと1日たらずじゃん。
前より増えてるけどまだ届いてない
侠気のある奴よろしくメカドッグ。
41nobodyさん:2005/08/17(水) 06:49:28 ID:???
>>40
念のため書いておくけど

Deadline:
08/17/2005 11:59 PM EST

ってのは日本時間で8月18日(木曜日)の昼間12時59分ね。
1日と6時間ちょいだそうな。

それと払える人はマジ払えって。
いや、払ってください。よろしくお願いします。
42nobodyさん:2005/08/17(水) 14:49:39 ID:XikmAfZG
いや、だってMojaviやる気ないじゃん…
FreeBSDみたいバリバリ動いててお世話になってるプロジェクトが
あと一日で金足りないなんて自体ならさすがに考えるけど。
43nobodyさん:2005/08/17(水) 16:57:51 ID:???
でもこれで集まらなかったら
多分本当にやめちゃうだろうな。
この程度しか期待されてねーのかよって。
しかしMojavi使いが世界に何人いるのかしらないが
この集まりってどうなんだろ。
一部で騒がれていただけで案外ユーザー少ないのか。
4442:2005/08/17(水) 17:02:26 ID:???
agaviあるしそれでもいいんじゃないの?
俺は未だにagavi未使用だけどさ。
45nobodyさん:2005/08/17(水) 17:22:22 ID:???
ん?
220ドルすら集まらないってこと?
46nobodyさん:2005/08/17(水) 17:25:19 ID:???
アガビにまるまくりされる&鯖の金も集まらない
Kerrもへこみまくりだ
47nobodyさん:2005/08/17(水) 17:25:54 ID:???
まるまくり→まるぱくり
48nobodyさん:2005/08/17(水) 17:33:04 ID:???
agaviってそんなに良いの?
49nobodyさん:2005/08/17(水) 17:35:22 ID:???
ひょっとして$20贈ったらしい>>15が一番貢献したのではなかろうか・・・
50nobodyさん:2005/08/17(水) 20:07:01 ID:???
開発止まってるとはいえ、恩恵に預かったのも確かだから、
俺も$20送ってきた。したら、76-99%になったよ。あと$10なのかなぁ。
んでもって、あと16時間。
51nobodyさん:2005/08/17(水) 20:43:04 ID:???
いや、51-75% から 76-99% に変わったみたいだから、おそらくあと 25% 弱必要だろうね。
ざっと$40〜$50ってとこかな。あと4〜5人か・・・。微妙な線だな。
52nobodyさん:2005/08/17(水) 20:49:48 ID:???
76〜99%か…
てっきり76人・99%かと思った
微妙だねぇ
53nobodyさん:2005/08/17(水) 22:04:18 ID:???
フレームワーク使うときってユニットテストどうしてる?
自作のフレームワークの人なんかはテストも込み込みで構築してるのかな
54nobodyさん:2005/08/18(木) 01:47:12 ID:???
俺も結構お世話になったので
$10 送って来た
55nobodyさん:2005/08/18(木) 01:59:45 ID:???
Finishになってるね
$220到達したのかな?
56nobodyさん:2005/08/18(木) 02:00:57 ID:???
$20 のお布施入れてみたら 100% になった。
1000 げとずさー?
57nobodyさん:2005/08/18(木) 02:01:52 ID:???
もしかして寄付してるの日本人が半分超えてないか?
58nobodyさん:2005/08/18(木) 02:10:24 ID:???
>>15,50,54,56で$70か
こりゃー頑張ってもらわないとな
59nobodyさん:2005/08/18(木) 02:38:18 ID:???
おーGJ!
半分あきらめていたがジャパニーズマネーをたくさん注入したな
カーも喜んでるだろう
60nobodyさん:2005/08/18(木) 02:53:27 ID:???
また日本が馬鹿にされるんだ。金貰うならあの国だって
61nobodyさん:2005/08/18(木) 04:38:50 ID:???
カーは良い奴だからそんなことないよ
62nobodyさん:2005/08/18(木) 09:04:06 ID:???
ボブも良い奴だよ
63nobodyさん:2005/08/18(木) 10:08:12 ID:???
ゲスワークそろそろっぽい雰囲気だな
「PHPらしい簡単フレームワーク」という新しい地平を
切り開いてゆくか?
64nobodyさん:2005/08/18(木) 11:56:16 ID:???
>>56
オメ
65nobodyさん:2005/08/19(金) 00:52:11 ID:???
MVCでデザに依頼すること考えているんだけど、
普通のホームページと違ってむずかしいよね?
66nobodyさん:2005/08/19(金) 02:02:56 ID:???
mojaviの user , request 各クラスのメンバ変数に$attributes
ってやつがあるけど、どうちがうの?
67nobodyさん:2005/08/19(金) 02:05:03 ID:???
うちの場合はデザに通常のHTML組みまでやってもらって、
データ部分を後でプログラマがテンプレートエンジン用変数等を
埋め込むってやり方してる。
68nobodyさん:2005/08/19(金) 05:27:20 ID:???
>>65,67
1.67さんと同じパターン(ただこれだと手離れが悪い)
2.受け渡しの変数名等いれたダミーページを作って渡す
を相手を見て決めます。
ところで「デザ」って言うの?デザイナ(ー)としか言ったことないんだけど
デザって言わないと格好悪い?
69nobodyさん:2005/08/19(金) 18:35:20 ID:???
>>68
そんなことを気にするのが格好悪い。
70nobodyさん:2005/08/22(月) 01:54:17 ID:???
デザってCSSちゃんと使えてる?
71nobodyさん:2005/08/23(火) 21:37:01 ID:???
J2EEパターン本読んだら
Mojaviの思想がすんなり理解出来た
ほとんどそのまんまやん
逆にJ2EEパターンを知らずにMojaviを理解しようとすることは
かなり徒手空拳だったな…
72nobodyさん:2005/08/23(火) 23:15:36 ID:???
73nobodyさん:2005/08/24(水) 00:06:21 ID:???
>>72
みたいだね。
要約しますた。

Seanのあとを引き継いだTylerがAgaviサイドにアプローチして、
MojaviとAgaviがマージできないか対話がもたれた。話し合いの結果、
1. フォークから時間が経ってないのでMojaviとAgaviはそんなに違わない。
2. TylerはMojavi開発を透明化して、コミュニティを発展させたい。
3. MojaviもAgaviも目指すものは同じ。
Agaviチームの意見としては
- Agaviは0.10.0をめざし、そのあと(もしくは同時に)Mojavi 4の開発にシフト。
- Mojaviは3.0.0-DEVの開発を中止、4に注力。
- Agaviの良い点 (phing integration, unit tests, public development model) をMojaviに持って行く。
- Mojavi4は完全な再設計になり、以前よりもリリースサイクルが短くなる。
74nobodyさん:2005/08/24(水) 00:52:30 ID:???
これはいい流れだ。

しかし Mojavi4は完全な再設計かよ
php5で安定したものがホスィ

75nobodyさん:2005/08/24(水) 02:32:19 ID:???
こりゃまた意外な流れだな
76nobodyさん:2005/08/24(水) 03:15:43 ID:???
使わせてもらった側なのにこんなこというのもなんだけど、振り回された感はあるな。
77nobodyさん:2005/08/24(水) 03:40:33 ID:???
Mojavi4は出ないに3000点。
78nobodyさん:2005/08/24(水) 05:16:50 ID:???
guessworkの
プロパティーがあれば勝手にほりこんでくれる機構をパクって
LogicやDAOを勝手にほりこんでくれるようにしたよ
オリフレ最高☆セフレも最高☆
79nobodyさん:2005/08/24(水) 10:17:07 ID:???
guesswork のclass method Filterってどう使うのでしょうか?

コントローラのリファレンスを受け取ってごにょごにょってもんだと思って
たんですが、リファレンスが受け取れないようになってる。
そういう使い方を想定したもんじゃないの?
80nobodyさん:2005/08/24(水) 16:17:16 ID:???
XOOPSの開発者が作ってるXOOPSモジュール開発用のexFrameなんてフレームワーク
もあるんだな
81nobodyさん:2005/08/25(木) 02:02:44 ID:???
minahitoさんのやつね
82nobodyさん:2005/08/25(木) 09:27:00 ID:???
mojaviでつくったものとデザインの組み合わせ難しいです。
URL_FORMATを 1 にして各モジュールで画像をわけるんですけど

最終的な微調整の際 dreamweaver みたいなアプリでいじくることできないし。

83nobodyさん:2005/08/27(土) 20:23:14 ID:???
https://trac.cakephp.org/

Ruby on Railsをパクったphpフレームワークだってさ
Mojavi系(Struts系)はもう古いんかも?
84nobodyさん:2005/08/27(土) 20:44:49 ID:???
Ruby on Railsはどうも馴染まないというか・・・
ぶっちゃけPHPにRailsのようなコマンドでスケルトンを生成して〜のような
開発体系は合わない気がするんだけど。
そりゃ大規模開発には便利なんだろうけどね、漏れ的には旧guessworkみたいな
こじんまりとした小規模Webアプリ用フレームワークのほうが肌に合ってる。小物だな漏れも。
そのguessworkも新しいのはRailsっぽいみたいで、ちょっと残念。
85nobodyさん:2005/08/28(日) 03:03:18 ID:???
>>84
Railsのスクリプト群は単にスケルトンを生成するだけにとどまらず、

メソッド単位でのベンチマーク、
リモートでも使えるデバッガ、
プロファイラ、
Rubyのコードを記述してDBのレコード管理ができるコンソール、
アプリケーションの任意のメソッドのみを手動で実行するツール、
開発用httpd、
単体および結合テストの実行、

なども含んでいるから、PHPでもそこまでできるようなものがあれば
便利なのかもね。
86nobodyさん:2005/08/28(日) 06:11:22 ID:???
DBのテーブル定義からクラスを作ってくれる機能が気になるなぁ
DAO周りがどうもキレイにかけないから
87nobodyさん:2005/08/28(日) 06:13:00 ID:???
Kerrが急速にやる気を失った背景にはRailsの存在があったのかも?
と妄想してみる。
88sage:2005/08/29(月) 00:36:22 ID:s8UfImjl
>>82
全部CSSでデザインしたらPHPeclipseの入ってるeclipseでViewしながら微調整可能
89nobodyさん:2005/08/29(月) 03:05:45 ID:???
どなたかLLDNに行ったヤシはいらっしゃいませんか?
90nobodyさん:2005/08/29(月) 05:29:10 ID:???
なんでテンプレにprado入ってないの?
一番まともに動いてるプロジェクトだと思うんだが
91nobodyさん:2005/08/29(月) 07:53:42 ID:???
1が知らなかっただけでしょ。
どんなフレームワークか総括してくれると
みな嬉しいと思う。
次スレ(あるかどうかはわからんが)のためにもなるし。
92nobodyさん:2005/08/29(月) 13:16:57 ID:???
PRADO:
「PRADO is a component-based and event-driven Web programming framework for PHP 5.」
というわけで、イベントドリブンなコンポーネント指向のフレームワークでPHP5専用。
DelphiやC#のような開発体系が取れる(らしい)。サンプルみるとDelphiまんま。

でもこういうフレームワークってRADがあって初めて成立するんじゃないかと思うんだが、
実際使ってどんなもんなんだろう。
RADが自動生成する部分も自力で書くのはあんまり想像したくないんだが・・・
93nobodyさん:2005/08/29(月) 14:39:30 ID:???
ざっと見た感じではJavaのJSFの真似みたいなもの?
ていうかこういうフレームワークを使うと
PHPの存在意義が全くない気がするような。
94nobodyさん:2005/08/29(月) 16:18:55 ID:???
>>93
レンサバでjavaは動かせないだろ
95nobodyさん:2005/08/29(月) 16:21:25 ID:???
>94
本末転倒とはこのことだ
96nobodyさん:2005/08/29(月) 16:24:31 ID:???
>>95
わかってないね
97nobodyさん:2005/08/29(月) 16:40:05 ID:???
>>92
>RADが自動生成する部分も自力で書くのはあんまり想像したくないんだが・・・
RADまでいかなくとも、PradoマスターでコンポーネントやDWのタグも生成してくれるから、
けっこう便利ですよ
98nobodyさん:2005/08/30(火) 06:09:06 ID:???
http://www.dumitrup.com/cake/
Railsと比べると超微妙…
99nobodyさん:2005/08/30(火) 09:38:54 ID:???
Railsの真似をする方向性は間違ってないと思う。
(Strutsを真似する事に比べれば。)
100nobodyさん:2005/08/30(火) 21:58:14 ID:???
俺もそう思う
でもPHPをメインに扱う1PHPユーザとしては
Railsとかみたいにその言語の特徴を生かした
何かオリジナルの新しい方向性を持ったフレームワークが
PHP発で出て欲しいなあと願ってやまないのと、
そういうの作ってみたいなあと思いながらも
仕事こなすだけで精一杯なしがない現実

PHPらしさ、ってなんだろう、、、
101nobodyさん:2005/08/30(火) 22:07:50 ID:???
新guessworkはまだかいな
102nobodyさん:2005/08/31(水) 01:21:24 ID:???
オリジナルかどうかなんてどうでもいい。
パクリでもなんでもいいから楽に開発できるやつが欲しい。
103nobodyさん:2005/08/31(水) 02:06:10 ID:???
Railsは実行パフォーマンスが…
104nobodyさん:2005/08/31(水) 02:42:14 ID:???
結局、自動生成をがんがんしてくれる
ツールが普及しないと楽にはならないでしょう。
105nobodyさん:2005/08/31(水) 08:23:44 ID:???
>>101

> guesswork.jpがホスティングされているのはカリフォルニア州サンディエゴなので、
> 遅くとも現地時間の31日中にはリリースしようと思っています(日本時間だと1日の
> 午前8時くらい?)。

 だそうな。
106nobodyさん:2005/08/31(水) 09:19:15 ID:???
guesswork-classicを使ってみて、
このユルい感じが気に入った。
0.9.0も楽しみだなー。
107nobodyさん:2005/08/31(水) 13:25:13 ID:???
なんとなくMojavi一辺倒だった潮流も変わって来たね
108nobodyさん:2005/08/31(水) 17:44:10 ID:???
>>107
mojavi一辺倒だと思ってたのはあなただけよ
109nobodyさん:2005/09/01(木) 05:40:59 ID:???
パラメータの受け渡しが面倒くせーと思って
ロジック側でリクエストパラメータの受け取りや
viewへの荷物梱包までしてたら
Action見ても何を渡して何を受け取ってるのかが分からなくなり、
ものすごく分かりにくくなってしまったorz
面倒くさくても受け渡しはちゃんと書かなきゃダメだね(゚∀゚)アヒャ
110nobodyさん:2005/09/01(木) 08:59:31 ID:???
>>108
>>107じゃないけど、前スレではMojavi一辺倒な流れも確かにあったね(Phrameスレだったのに)。
そしてこのスレではMojaviが堕ちていく様子が描かれている。
111nobodyさん:2005/09/01(木) 16:04:00 ID:???
Mapleのサイト覗いてみたら
ActiveRecord云々。
流れはRails方向に向かってる模様。
>>110
Mojaviはちょっと動きがなさすぎ…
PHPの世界に
汎用フレームワークの概念を広めたのは功績だと思うけど
112nobodyさん:2005/09/01(木) 19:06:08 ID:???
>>110
動きがなかったのはそれなりの理由があったわけだし
これからは動いていくんじゃないの?
113nobodyさん:2005/09/01(木) 19:23:02 ID:???
agavi次第。
114nobodyさん:2005/09/01(木) 22:00:18 ID:???
>>113
AgaviはMojavi4に統合だとさ。
Mojavi3は放置プレイだと。
もうMojavi3で開発始めちゃったよ!っていう早漏がいそうだなぁ・・・。
・・・、俺だよ俺・・・。
115nobodyさん:2005/09/01(木) 23:55:53 ID:???
おいモジャビ(日本)のサイト晒せ。
116nobodyさん:2005/09/02(金) 00:17:24 ID:???
>114
>73
117nobodyさん:2005/09/02(金) 02:04:14 ID:???
ていうかagaviはあれである程度の完成系だから、いいんですよ。
その他についてはむしろPHP5.1次第というかなんというか
118nobodyさん:2005/09/02(金) 02:12:51 ID:???
Mojavi2を今まで使ってたんだけど、そろそろPHP5かなと思ってagaviインストールして動作テストしてるとこなんですが。

ぶっちゃけ運用するものは今までどおりMojavi2で作って、PHP5対応についてはMojavi4待ったほうがいいでしょうか?
119nobodyさん:2005/09/02(金) 02:33:11 ID:???
>>118
それは状況や能力次第だろ。
M2で既に貴重な財産を築いているなら、今agaviにする必要は全くない。
逆に再利用できない糞コードばかりで作ってたなら、待つ必要は全くない。
120nobodyさん:2005/09/02(金) 02:42:39 ID:???
>119
コードは試行錯誤があるので綺麗なのも糞なのもあるけど、基本的に再利用可能なようにはなってる。
では次もMojavi2で行ってみます。どうも。

ところで、Mojaviとか他フレームワーク用に、モジュール単位で公開してるサイトとかってありますか?
そもそも私が作ると、PearのMojavi用ラッパーみたいなものが幾つか出来てから
コアの部分のコードを実装して完成(まぁここが一番手間なのだけど)、みたいになるのですが皆さんどんな感じでしょうか?
121nobodyさん:2005/09/02(金) 03:55:24 ID:???
agavi+propelでRailsみたいに、Create, Read, Update, Deleteがモデル一個呼び出すだけで
できるようにしてる
122nobodyさん:2005/09/02(金) 09:22:10 ID:???
>>114
agavi は mojavi3とほぼ互換だからガンガレ
123nobodyさん:2005/09/03(土) 02:31:31 ID:???
M2は曖昧すぎて、部屋の片付けもまともにできない俺ではぐちゃぐちゃになってしまう。
M3やagaviくらいが丁度いい。
124nobodyさん:2005/09/03(土) 08:17:31 ID:gPh989uD
Ethnaを使ってみようと思ってるんだけど、
誰か使ったことある人いる?
感想とか聞かせてくれるとうれしい
125nobodyさん:2005/09/03(土) 23:57:24 ID:???
EthnaとかMojaviとかMapleって本当に使われてるの?
仕事で使えるか調査中なんだが。。。

126nobodyさん:2005/09/04(日) 12:14:29 ID:???
>>125
まず社内で使ってみる!
社内だとなにかあっても「ごめんなさい、直します」で通用するから。
127nobodyさん:2005/09/04(日) 13:30:24 ID:???
Mojavi3をカスタマイズして使ってるって所は聞いたことある。
EthnaはPHPの最新版(4.4.xや5.1.0RC1)だとそのままじゃ動かない。
Mapleも3.0.1が出るのを待つべき。
128125:2005/09/04(日) 16:46:31 ID:???
そうですか、やっぱりJavaかなぁ。
agavi、、も同じですよね。

PHPの手軽さ、開発効率の良さ、に期待したいのですが、、。


129nobodyさん:2005/09/04(日) 21:38:46 ID:???
>>128
Movaji2なら3案件くらい使った。DBの管理プログラムとか
ショッピングサイトとか…。正直、開発効率というのなら自分で
フレームワークというか必要な部分を作ってもいいかなという感じ。
今Mapleと格闘中。途中を客にみせられる大根はよいかな。
あと結局中途半端になってしまったけど(これは自分のせい)
テストファーストもどきでも作れるのはいい感じ。
自分が追いついてないなと感じました。まぁ独りで作るなら
MojaviもEthnaもMapleも一緒。大根分Mapleかな。
130129:2005/09/04(日) 21:40:40 ID:???
ごめんMovaji2にはつっこまないで。反省してるから。
131nobodyさん:2005/09/04(日) 22:53:32 ID:???
言われないと気づかなかったw
132nobodyさん:2005/09/05(月) 00:48:05 ID:???
ヤベ、>>131まで読んでやっと気づいた orz
133nobodyさん:2005/09/05(月) 08:00:48 ID:???
あれ、俺なんて>>132まで読んでまだ気づけない……
134nobodyさん:2005/09/05(月) 08:25:22 ID:???
>>130-133お麻衣タンおかしいよ。ドコに問題が有るんだ?
135nobodyさん:2005/09/05(月) 08:36:52 ID:???
まぁ、なんだ。
movaji の検索結果 約 88 件
mojavi の検索結果 約 53,300 件
136nobodyさん:2005/09/05(月) 08:43:15 ID:???
>>134
> 麻衣タン

ここらへん
137nobodyさん:2005/09/05(月) 15:49:42 ID:???
どうして間違うんだ?キーボードのキーの位置が近いわけでもないし。
138nobodyさん:2005/09/05(月) 16:44:20 ID:???
ガチャガチャ打ってると、たまーに文字が前後する時はあるな
明らかに自分のミスだけど、俺のタイプが早すぎてマシンがついてきてないんだと思うようにしてる
139nobodyさん:2005/09/05(月) 19:00:13 ID:???
こういうくだらないスレ違いネタになると、急に発言者が増えるなw
140nobodyさん:2005/09/05(月) 23:24:13 ID:???
ちょwwwwおまえらwww

PHPCon2005 で中井たんと dino が大盤振る舞いしてくれた CD の事もちったぁ思い出してやれよ。
141nobodyさん:2005/09/05(月) 23:37:15 ID:???
だって、Mojavi3終わっちゃったじゃん。
142nobodyさん:2005/09/06(火) 00:19:25 ID:???
それもらったけど、みるまえにどっかいった。
143nobodyさん:2005/09/06(火) 00:21:16 ID:???
5.1がRC1まできてますよ
144nobodyさん:2005/09/06(火) 01:53:30 ID:???
http://bennolan.com/biscuit/
http://phpontrax.com/
PHP on Railsを語るフレームワーク
145nobodyさん:2005/09/06(火) 01:55:05 ID:???
ビスケットなんかはそれで書かれたフォーラムのサンプルがあるから良い
146nobodyさん:2005/09/06(火) 04:18:48 ID:???
フレームワーク乱立しすぎw
ビスケットとかケーキとか何でRails系はお菓子関係?
147nobodyさん:2005/09/06(火) 09:11:59 ID:???
多様性はあったほうがいいが、乱立はイクない!
要はきちんと継続的にメンテナンスしてね。
漏れが言うのもなんだけど。
148nobodyさん:2005/09/06(火) 14:58:45 ID:aYh8x/z9
メンテやフィードバックにかかわってる人数少ない
実戦投入の話題(具体例)があまり無い
PEARとかでやりくりしてた人から見るとシステム全体が助長に感じてしまう

→自分でつくったほうがいくね? て感じ?
149nobodyさん:2005/09/06(火) 15:14:11 ID:???
探すの面倒なので誰か公開されてるフレームワークリスト作って。
150nobodyさん:2005/09/06(火) 15:19:20 ID:???
>>1
>>9
>>83
>>144

で大体既出な気がするけど、他にあんのかな?
151nobodyさん:2005/09/06(火) 16:42:00 ID:???
海外含めればキリが無いだろう。
まあ、開発終了しているのも結構ありそうだが。
http://ethna.jp/ethna-related.html
152nobodyさん:2005/09/07(水) 00:04:38 ID:???
あのう,結局,Maple の 3.0.1 って……?
作者さんリリースをまとめる気なくしちゃってるのかなぁ……
153nobodyさん:2005/09/07(水) 00:27:18 ID:???
>>152
今週中だとさ
作者さんの日記参照
154nobodyさん:2005/09/07(水) 00:51:57 ID:???
>>148
お前はこのスレ来なくていくね? て感じ?
155nobodyさん:2005/09/07(水) 01:12:11 ID:???
>>153
おぉっとほんとだ情報サンクス

CVS版でも大差ないんだろうけど
どうも性分でスナップショット版みたいのを使う気になれなかったのだけど
これでやっと使ってみることができるわー
156148:2005/09/07(水) 04:13:36 ID:VkYxruOZ
>>154
ごめん、このスレ毎日何回もチェックしてるよ
フレームワーク乱立の理由について思ったこといっただけ


157nobodyさん:2005/09/07(水) 04:25:23 ID:???
>>156
チェックしてるだけじゃなくて、いつも同じこと書き込んでるよね。
158148:2005/09/07(水) 04:27:27 ID:???
書き込んだのは148がはじめてだけど?
159nobodyさん:2005/09/07(水) 04:29:52 ID:???
>>158
お前はこのスレ来なくていくね? て感じ?
160148:2005/09/07(水) 04:31:10 ID:???
わかりました さようなら
161nobodyさん:2005/09/07(水) 04:35:56 ID:???
>>148
>実戦投入の話題(具体例)があまり無い
>PEARとかでやりくりしてた人から見るとシステム全体が助長に感じてしまう
PEARはつかってるの?PEARの実践投入の具体例ってどんなのがあるの?
162148:2005/09/07(水) 04:46:27 ID:???
実はクラスライブラリとか使ったことありませんし
自分で書いたPHPコードをうごかしたことありません
ごめんね
163nobodyさん:2005/09/07(水) 04:56:22 ID:???
>>156
別に乱立ってほどの数でもないだろw
ためしにjavaとかで探してみろよ
特にビスケットなんて無理やり穿り出したようなもんだし
164148:2005/09/07(水) 05:59:16 ID:???
今日(昨日か)会社でフレームワーク使ってみればって提案したのさ
そしたらやれ情報が少ないとか、
つかい慣れたライブラリのほうが速いとかいわれてさ、
あげくのはてに「こんどうちで最強のフレームワークつくりましょうよ」
とかいいだしてさ。
まるごとPHPと黄色いやつ職場用に買って持ってったのに
「うはーそれ持ってるwww」みたいなノリだし

で、強烈なディファクトスタンダードみたいなのができれば、
疑いも無くそれ使うくせにっておもった。

でこのスレみたら146と147があったから148を書いた。
もう寝るからレスすんなボケ




165nobodyさん:2005/09/07(水) 08:01:46 ID:???
>>164
会社の上は現状維持したいアホばかりだから気にすんな
166nobodyさん:2005/09/07(水) 11:48:28 ID:???
>164
お前そのアホばかりの中に入っててお似合いの職場だからから気にすんな。
167nobodyさん:2005/09/07(水) 11:56:22 ID:???
164に噛みついてる奴はいったい何があったんだろう…
ほのぼのしてたスレなのに無駄に荒らすなよ
168nobodyさん:2005/09/07(水) 12:02:30 ID:???
ずっと不思議だったのだが
バテレンのフレームワークやライブラリの情報とか
お前らどこから仕入れてくるんですか?
169nobodyさん:2005/09/07(水) 18:22:46 ID:???
>>164
誰がそんなレスしろって言ったの?で、
PEARの実践投入の具体例ってどんなのがあるの?
170nobodyさん:2005/09/07(水) 18:23:49 ID:???
>>168
google
気になった情報を調べていくうちに、連鎖的に付加情報が入ってくる。
171nobodyさん:2005/09/07(水) 21:58:39 ID:???
>>168
開発者のブログが多いかな
172nobodyさん:2005/09/08(木) 01:36:11 ID:???
まぁ、日本のサイトだけじゃまず情報は補えないな
173nobodyさん:2005/09/08(木) 01:58:54 ID:???
>>172
あいまいに発言して見栄はらずに晒したらどうよ?
174nobodyさん:2005/09/08(木) 02:32:08 ID:???
>>173
google
175nobodyさん:2005/09/08(木) 02:33:39 ID:???
>>173
たとえば、ビスケットとかなんかはPHP-on-Railsで検索して出てきた。
こんなのが見栄に見えるなんて、かわいそうな子だなw
176nobodyさん:2005/09/08(木) 03:00:48 ID:???
別に英語でもかまわないから
こんなフレームワークがあるよって短評と共に
書いてあるサイトがあれば幸せになれると思わない?

試してみないとわからないって意見もあるが
RailsタイプであるとかJSFタイプであるとか
ある程度の分類が分かれば絞れるわけだし。
wikiでも作ろうかな。
177nobodyさん:2005/09/08(木) 03:40:05 ID:???
>>176
好きにすればいい
178nobodyさん:2005/09/08(木) 03:44:46 ID:???
最初は糞めんどくせーと思ってた英語ドキュメントも
最近はわりと読めるようになってきたな
179nobodyさん:2005/09/08(木) 03:45:46 ID:???
かな。じゃなくて、作った。くらいフットワークが軽くないと
ずっと俺の背中ばっかり見ていることになるぞ。
180nobodyさん:2005/09/08(木) 03:54:52 ID:???
>>179さんの背中見ているだけでも良いのでお願いします。
181nobodyさん:2005/09/08(木) 04:32:25 ID:???
googleのfirefox拡張が重宝。
単語調べる手間が省ける
182nobodyさん:2005/09/08(木) 04:36:10 ID:???
DOS窓でExcite辞書引くスクリプト作ってある
Perlで。
183nobodyさん:2005/09/08(木) 04:36:54 ID:???
コンポジットビューパターンとかで
viewに渡す変数を得るためのクラスを呼ぶ時って、
list($hoge,$fuga,$moge,$nuko) = $poge->piyo()
みたくするのか、
$poge->piyo($request)
みたくして$requestに入れてもらうのか、どっちが定石?
前者だと、何を受け取っているのか分かりやすいけど、面倒くさい。
そしてある程度コピペコーディングをしないといけなくなる。
後者だと、記述が楽だし、
後でクラスを書き換えても、呼び出し側では書き直す必要がないけど、
何を受け取っているのかは、呼ぶクラスの内部を見ないと分からない。
マジ迷ってます。
教えていやらしい人。
184nobodyさん:2005/09/08(木) 04:45:28 ID:???
>>181
ツールバー入れてたけどこんな機能あるとは知らなかった
すげー便利じゃん
サンクスちんぽ!
185184:2005/09/08(木) 05:04:51 ID:???
http://propel.phpdb.org/docs/user_guide/
propelのこのページ
単語にカーソル合わせても全然違う単語が出る…
同機能がある翻訳ソフトなら大丈夫かな
186nobodyさん:2005/09/09(金) 03:57:25 ID:???
Mojaviで
jsとかcssのファイルはどこに置いていますか?
187nobodyさん:2005/09/09(金) 18:57:54 ID:y9gKBfXh
>>186
modpub
188nobodyさん:2005/09/09(金) 23:06:05 ID:???
PHPが範としていたJava界では
ライトウェイト方向に流れてるから
今、PHPでどんなフレームワークを選べばいいのかは
微妙だねぇ。
Mojavi/Agaviは重い気がするし
かといってMapleやguessworkもまだ過程にあるし。
189nobodyさん:2005/09/10(土) 02:00:04 ID:???
ViewHelper導入したら
随分分かりやすくなったわ。
PHPフレームワーク文化圏で
ViewHelper軽んじられすぎてね?
ライトウェイトフレームワークとも親和性高いと思うんで
考えてみてくれ>エバンジェリスト達
190nobodyさん:2005/09/10(土) 04:18:39 ID:???
>>188
Agaviはかなり軽いだろw
あ、ごめん。気がするだけで使ったことないのね。
191nobodyさん:2005/09/10(土) 04:32:02 ID:???
>>190
動作はどうか知らないが
「考え方」がライトウェイトじゃないじゃん?
192nobodyさん:2005/09/10(土) 14:53:27 ID:???
そもそもEJBを利用いた開発とPOJOを利用した開発を
対比してライトウェイトって言われてるんじゃないのか?
JAVAでいうライトウェイトを引き合いに出してる
時点で見当違いなキガス
とmojavi信者が反論してみる
193184:2005/09/10(土) 23:41:22 ID:???
ベタだけど東芝の翻訳インターネット買ってきた
googleツールバーのチップ表示くらいがちょうどいいんだけど
(翻訳インターネットではポップアップウインドウに表示される)
まあ普通に便利ですわ
194名無しさん@そうだ選挙に行こう:2005/09/10(土) 23:45:21 ID:???
いまPHPcakeを試してる。
Railsは知らないけど、全体の見通しはかなりいい。
cakeの流儀にさえ従っていればすごく楽をできる。
まぁ、まだバグはかなりあるけど。

AjaxHelperのドキュメントが無いけど、Railsの奴を読めばいいのかな。


でも、cakeをさわっていちばん感心したのはtracだったりする。
そろそろcvsからsvnへ乗り換えたいなぁ。
195名無しさん@そうだ選挙に行こう:2005/09/11(日) 04:29:16 ID:???
cakephpはSVNがsslなせいで、subclipseから引っ張り出せないから駄目。
196名無しさん@そうだ選挙に行こう:2005/09/11(日) 09:34:06 ID:???
じゃぁstoneとかでsslトンネルを掘ればいいんじゃないのかな。
でもふつうのsvnクライアントを導入すればsvn coと打つだけなのに
197nobodyさん:2005/09/11(日) 23:51:20 ID:9VoVbPCa
PHP使ってるヤフーはフレームワークになんか使ってるのかな。
198nobodyさん:2005/09/13(火) 09:24:36 ID:???
さあ皆で乗り換えよう
199nobodyさん:2005/09/13(火) 10:08:43 ID:???
小規模なWebアプリに特化したフレームワークって出ないもんかな?
BBSとかショッピングカートとか、一般にzipで固めて配布するようなもの向けの。
RoRのようなのはまずコマンドで開発環境をそろえるけど、それとは逆で
コマンド1発で必要なファイルをまとめてzipにパッケージングしてくれるような機能つきとか。
guesswork classicが近いアプローチだったと思うんだけど、似たようなフレームワークってない気がするんだ。
200nobodyさん:2005/09/13(火) 10:21:37 ID:???
特化するとどうなるの
201nobodyさん:2005/09/13(火) 13:43:15 ID:???
Mapleが3.0.1になりましたな
202nobodyさん:2005/09/13(火) 15:55:29 ID:???
http://sharedance.pureftpd.org/

guesswork開発者のページから拾ってきた情報
複数鯖から使えるセッション管理デーモンだって
面白そう
203202:2005/09/13(火) 16:07:17 ID:???
保存はファイルベースみたいだな
可用性を考えると
DBで良くね?って気もする。
どのあたりに需要があるのだろう?
204nobodyさん:2005/09/13(火) 20:13:56 ID:???
>>203
「without the overhead and the complexity of an SQL database」だそうですよ。
205nobodyさん:2005/09/13(火) 20:50:43 ID:???
>>202
別にデータベースセッションハンドラ使ってりゃ、
普通にできるし
206nobodyさん:2005/09/13(火) 21:53:12 ID:???
>>205
Sharedanceはセッションデータ専用ってわけじゃなくて、単純なハッシュみたいな
もんだから、なんでも詰め込めるけどね。
sharedance_store('key', 'content');
207nobodyさん:2005/09/13(火) 22:24:39 ID:???
中規模くらいまでなら便利そうかな?
規模が大きくなるとどうなるか不安がある
208nobodyさん:2005/09/14(水) 00:16:08 ID:???
>>207
大規模ってたとえばどんなの?
209nobodyさん:2005/09/14(水) 00:57:38 ID:???
>>208
数千〜数万人が同時にアクセスするようなの。
セッション用サーバ自体を分散しないとやっていけないような。
210nobodyさん:2005/09/14(水) 01:36:53 ID:???
>>209
そうじゃなくて、実際の例とか
211nobodyさん:2005/09/14(水) 01:42:09 ID:???
大規模なSNSやWeblogサービスなんかはそれなりに
セッション管理の土台を強くしないとダメなんじゃないかな
あとはセッションがクリティカルな金融関係とか
212nobodyさん:2005/09/14(水) 01:43:33 ID:???
>197
ヤフーはLISPだとばかり思っていたよ。
そういえばPHPのページもあるね。
213nobodyさん:2005/09/14(水) 01:46:39 ID:???
>>211
SNSなんて会員以外は見れないんだから、知れてると思うんだが。
214nobodyさん:2005/09/14(水) 01:57:58 ID:???
>>213
mixiでさえ130万近いんだが、その数をたかが知れていると?(;´Д`)
215nobodyさん:2005/09/14(水) 03:22:03 ID:???
>>212
Yahoo!がLisp使ってるのは本国のShopping部分だけで、
それも買収した会社がLispで開発していたから、ってだけじゃなかったかな。
216nobodyさん:2005/09/14(水) 09:56:26 ID:???
>>214
mixiのアクティブユーザが130万人いると思ってるの?
217nobodyさん:2005/09/14(水) 10:11:05 ID:???
手間をかけさせるな
218nobodyさん:2005/09/14(水) 14:41:43 ID:???
ひょっとしていちいち説明しなきゃならんのか
219nobodyさん:2005/09/14(水) 15:28:44 ID:???
話が噛みあってなさそう
220nobodyさん:2005/09/14(水) 15:58:23 ID:???
もういいよ、マンコの話しようぜ。
同棲してる彼女が俺が寝てると思って毎夜オナニーして困ってる。
221nobodyさん:2005/09/14(水) 16:20:17 ID:???
なんか自分のこと誤解してそう
222nobodyさん:2005/09/14(水) 17:09:35 ID:???
>>220
お前もいっしょにオナニーしろ
223nobodyさん:2005/09/14(水) 21:07:30 ID:???
>>214
でさえ、の使い方がおかしい。
224nobodyさん:2005/09/14(水) 23:52:36 ID:SictETF/
Web Application Component Toolkit (WACT)
http://www.phpwact.org/

これが世界的にそこそこ有名なPHPフレームワーク
だという情報を入手しました。どなたが調査お願いします。
225>>224:2005/09/15(木) 02:33:20 ID:???
そこそこ使えるらしい
226nobodyさん:2005/09/16(金) 04:57:46 ID:3ASb8eFe
バリデートってフィルタの中でかけるのが普通かな?
227nobodyさん:2005/09/16(金) 05:14:40 ID:???
>226
簡単、共通そうなものはそうなるんですかね?
228nobodyさん:2005/09/18(日) 10:58:42 ID:???
>>227
複雑なのはアクションの中ってこと?
229nobodyさん:2005/09/18(日) 12:20:27 ID:???
転送量で鯖屋から文句が来たから
出力をバッファして改行を削除する関数を
既存サイト(非フレームワーク)に適用した
ファイル修正しまくりで
こういう時にフィルタが役に立つんだなーと実感した
230nobodyさん:2005/09/18(日) 13:24:44 ID:???
ヘッダ見て対応してれば圧縮すればもっといいんじゃないかな。
そんなのWebサーバでやれとも思うけど。
231nobodyさん:2005/09/18(日) 13:29:26 ID:???
>>230
Apacheだったら
つ mod_gzip
まあデフォルトor設定のみでやってくれって気もするけど
232229:2005/09/18(日) 16:46:51 ID:???
一気に変えるのも不安だったから
zip圧縮はphp側のハンドラでやったよ
zipが受け取れないモバイルに対してもパケ代少し減らせるから
まぁいいかなと。
昔あったみたパケ割みたいなフィルタ作ってもいいかもしんない。
233nobodyさん:2005/09/18(日) 22:22:34 ID:???
改行削除くらいじゃいくらも圧縮できないんじゃないの。
234nobodyさん:2005/09/18(日) 23:50:42 ID:???
まあ、確かにそうなんだけど
でも×アクセス数になると馬鹿にならないかなと。
一回書けばコストもかからないしね。
しかし昔書いたプログラムを今いじると汚いこと汚いこと…
アンチパターンやりまくりで保守性最悪
フレームワークはある程度枠にはめるから
矯正器具としての役割もあると思う
235227:2005/09/19(月) 23:44:54 ID:???
>228
アクションの中にビジネスロジックを書くのはイケテないからコンポーネント作って呼ぶんですかね?
236nobodyさん:2005/09/20(火) 00:50:27 ID:???
>>235
ビジネスロジックはモデルでやってください。
237nobodyさん:2005/09/20(火) 18:56:18 ID:???
>>214
幽霊ユーザちゃんと含めて考えてますか?
238nobodyさん:2005/09/21(水) 04:10:55 ID:???
最近Mojavi/Agavi静かだな…
239nobodyさん:2005/09/22(木) 21:14:04 ID:???
日経システム構築に
PHPフレームワークの記事があった
1Pだけだけど
240nobodyさん:2005/09/23(金) 07:18:01 ID:7QvlMC8T
PHP5の新機能に対応したフレームワークというのはどのくらいあるんでしょうか?

・例外による(フレームワーク側の)エラーの管理
・interfaceや抽象クラスを使った継承による機能の実装
・オブジェクトの逆参照

あたりを利用すると、かなりすっきりしたフレームワークが書けるんじゃないかなー、と、俺フレームワークを書いてみたりしてるのですが……。

……ますますJavaとの違いが無くなってしまう様な気もしないでもありません(^^;
241nobodyさん:2005/09/23(金) 10:10:02 ID:???
mojaviつかったら、header("Location: http… ってつかっちゃいかんの?
$controller->forward(… に統一すべき?
242nobodyさん:2005/09/23(金) 10:34:02 ID:???
>>241
$controller->redirect($url)を使うんじゃない?
243nobodyさん:2005/09/24(土) 00:01:50 ID:???
うむ。
244nobodyさん:2005/09/24(土) 01:54:49 ID:???
>>242
しっかし$controller->redirect($url)って使いづらくないか?
$controller->redirect($module, $action)にしてくれたほうがありがたい希ガス。
まー大した違いじゃないんだけどさ。
ラッパ書いたら気持ち的にずいぶん楽になったもんで。

ビミョーにチラシ
245nobodyさん:2005/09/24(土) 02:19:29 ID:???
>>244
俺もモジャ使ってる時それ思ったな
module,actionをurlにするメソッドあったよね。
あれ呼んでから呼べということなんだろうけど。
246nobodyさん:2005/09/24(土) 03:41:42 ID:???
>>245
だったらフレームワークが自分で自動的に呼べって話だよなー
247nobodyさん:2005/09/24(土) 10:58:21 ID:???
で、>>244 に戻る、と。

Agavi で標準装備して貰いますか。
248nobodyさん:2005/09/25(日) 23:54:29 ID:???
>>245
getControllerPathでしょ?
249nobodyさん:2005/09/26(月) 01:24:18 ID:???
>>248
M2にはあったのにM3にはなくなってしまった。
アガビにもない。
250nobodyさん:2005/09/26(月) 16:39:07 ID:???
Mojaviでサブテンプレート実現する時って
ActionChainにregisterしてexecuteしてfetchした結果を
Viewに渡してる?
それとも他のやり方があるのかな?
251nobodyさん:2005/09/26(月) 18:00:20 ID:???
>>250
mojaviのwikiにサンプル付きであったような気がするけど今はアクセスできないっぽ。
ttp://www.geocities.jp/toyprog/wikimojavi/index.html
にそれの訳っぽいのがある。
252250:2005/09/26(月) 19:59:45 ID:???
>>251
ありがとう
Mojavi系サイトはかなり回ったつもりだったけど
このサイトは初めて知ったよ
253nobodyさん:2005/09/27(火) 04:52:10 ID:???
>>244
クエリがmoduleとactionだけなんてことまずほとんど無いだろ。
254244:2005/09/27(火) 07:02:06 ID:???
まあ実際書いたラッパの引数はmodule、action、params、プラスアルファみたいな感じだけど、
漏れの場合サイト内でリダイレクトすべき部分は大概moduleとactionで事足りたな。
リダイレクト自体そんな頻繁でもないし。

ヒント:ケースバイケース
255nobodyさん:2005/09/27(火) 10:04:39 ID:???
Agaviも全然動きないってどうなんコレ
仕事で使わないでヨカッタよ( ´ー`)フゥー...
256nobodyさん:2005/09/27(火) 12:00:15 ID:???
(Moj|Ag)aviを仕事で使ってる香具師なんかいないいない。
みんな本当は趣味でやってんだよ。
あー暗い暗い。
257nobodyさん:2005/09/27(火) 13:39:45 ID:???
Mojaviにはメンテナを迷走させる呪いがかかっているんだよ
ホープ・ダイヤモンドのように・・・
258nobodyさん:2005/09/27(火) 13:45:00 ID:???
上位でRequest->Parameterを
取得していて、
ActionChain中の子Actionでも同じパラメータを使う時って、どうしてる?

1 Request->attributeにでも入れ直す
2 もう一度request->getParameter()する

259nobodyさん:2005/09/27(火) 14:21:10 ID:???
>>251
そこ見てやっとデコレーションパターンを理解したよ
slotでテンプレートに渡す表示用パラメータを切り分けてるのが便利そう
260nobodyさん:2005/09/27(火) 19:38:07 ID:???
MapleやEthnaにCommandパターンが使われてるって
本に書いてあったんだけど本当?
261nobodyさん:2005/09/27(火) 20:59:19 ID:???0
Actionがあるのがコマンドパターンだよ
ほとんどのフレームワークはそれでは?
262nobodyさん:2005/09/28(水) 01:31:23 ID:???
>>255
あれ以上変にいじくられる必要も無い。
263nobodyさん:2005/09/28(水) 01:34:22 ID:???
>>254
つーかforwardじゃいかんのか
264nobodyさん:2005/09/28(水) 02:20:56 ID:???
>>254
ヒント:リダイレクト自体そんな頻繁でもないし。
265nobodyさん:2005/09/28(水) 06:35:26 ID:???
>>262
まだ埋まってないとこポコポコあるじゃん
266nobodyさん:2005/09/28(水) 07:00:02 ID:???
なんかサブテンプレートってさー
クライアントサイドプログラムだったら、
サブウインドウとかの規格を定めた
アピアランスクラスを作って、
そこにモデルデータを渡して実現するじゃん?
アピアランスクラスはリプレース可能にして。

一方Mojaviとかのウェブアプリフレームワークって
各テンプレートファイルをひな形にした
サブテンプレートを先に作っておいて、
親テンプレートに後からハメハメするやり方じゃん?
このやり方だと、親テンプレートとサブテンプレートに
一貫したアピアランスを実現しにくくない?
なんていうか、
サブテンプレートシステムを
ひとつのクラスにまとめておかないと
アピアランスのリプレースがしにくい、と思う。
どうなんかな、このへん。
267nobodyさん:2005/09/28(水) 13:50:54 ID:???
なんかカタカナばかりだな。
今風なのか?
268nobodyさん:2005/09/28(水) 14:11:20 ID:???
いや日本語でどう言えとw
269nobodyさん:2005/09/28(水) 14:11:53 ID:???
ああ、たしかにナウでヤングなモボっぽいな
270nobodyさん:2005/09/28(水) 16:24:02 ID:???
アピアランス = 外観
テンプレート = 雛形
リプレース = 入れ替え
ハメハメ = 嵌め込む
サブ = 男色
271nobodyさん:2005/09/28(水) 21:39:30 ID:???
>>270
・・・男色の雛形は
単一化されないと
見た目ではハメ辛いと思う。
どうなんかな、このへん。
【意訳】
ぱっと見、ゲイはゲイらしくしてくれないと
そのときになってびっくりする。
どう思いますかみなさん。
【私の意見】
そー思います。
272nobodyさん:2005/09/29(木) 02:01:15 ID:???
カタカナ語は「一般名詞ではなく、テクニカルタームですよ」という
サインだから
単なる訳以上の機能性もある。
273266:2005/09/29(木) 11:21:35 ID:???
サブテンプレート間で一貫したアピアランスを実現する方法を考えたよ(´・ω・`)
共通プレゼンテーションロジック保持クラス
GrobalViewHelperを作っておいて
どのテンプレートを作るときにもそいつを派遣しておく…(・∀・)コレダ!!
274nobodyさん:2005/09/29(木) 11:28:07 ID:???
Globalだった(´・ω・`)
275nobodyさん:2005/09/30(金) 16:21:47 ID:???
いいかお前ら、ド素人の俺が今からすっごいこと言うぞ・・・・
気の弱い奴はパンツ脱いどけ。。。。

「っていうかフレームワークって何だよ!?」
276nobodyさん:2005/09/30(金) 16:42:01 ID:???
>>275
『枠組み』の事です。従来のライブラリと比較すると

ライブラリではそれを使ってどのように作るかを必死に考えなければならなかったのが
フレームワークでは、このように作りますってのがフレームワーク側で決まっているので
共通できないロジックやパラメータだけ与えればアプリケーションが出来てしまう。
277nobodyさん:2005/09/30(金) 16:45:14 ID:???
どの程度勝手に決められているのか?ってのが
フレームワーク選択基準のひとつになり
例えばStrutsなんかは自由度が高い事で有名。
278nobodyさん:2005/09/30(金) 19:43:03 ID:???
>>276
親切にありがとう。
でもド素人にはまだちょっと理解しづらい。。。

つまりアレか、PHPでも、VBみたいにマウスでフォームやボタン配置できるとか??
279名無し:2005/09/30(金) 19:47:16 ID:gpQXP9hq
どうもこんばんわ
280nobodyさん:2005/09/30(金) 19:47:48 ID:gpQXP9hq
はじめてです
281nobodyさん:2005/09/30(金) 19:49:19 ID:gpQXP9hq
いきなりですけどおちます
282nobodyさん:2005/09/30(金) 22:22:00 ID:???
和製フレームワークって
Viewクラス用意してないものがほとんどだよね。
実際Viewでやることってテンプレートにassignするだけ
みたいなもんだし。
面倒なだけのViewイラネ(゚д゚)、ペッ
283nobodyさん:2005/09/30(金) 22:26:22 ID:???
じゃあ、いいじゃん
284nobodyさん:2005/09/30(金) 22:43:42 ID:???
あとMojaviはRequestのattributesと
UserのParameterが役割的にカブってるのが美しくない。
シンプルイズベストなんじゃい(*゚д゚)、ペッ
285nobodyさん:2005/10/01(土) 03:49:30 ID:???
>>284
どうかぶってんの?
286nobodyさん:2005/10/01(土) 03:58:54 ID:???
セッションの実装がねぇ。
逆にどうすりゃいいんだ?今ならいい方法があれば提案出来るんじゃないか。

つーかおまいらがどうやってるのか不思議で仕方ない。
どう文句つけようと、PHP5 だと現状、俺 Maple, Mojavi の二択だと思うんだが。
それ以外のフレームワークを実戦投入したという話は聞いたことないし。
287nobodyさん:2005/10/01(土) 04:03:57 ID:???
>>285
両方とも汎用コンテナ
かぶってるからuser->parameterはあまり使わないけど
288nobodyさん:2005/10/01(土) 11:04:43 ID:???
やはりフレームワークの「意味」と「利点」、「用途」がサッパリわからない・・・
実はこれらを説明するのって難しい?
289nobodyさん:2005/10/01(土) 12:04:04 ID:???
>>288
解っちゃえば何てことない話なんだけど説明しようとすると難しい

例えばDBとか使ったサイト作るっしょ
んで別のサイトを作る時に,前作ったサイトのパーツを流用したりするっしょ
で,それを繰り返してくと,今度は逆に,パーツの方を流用しやすく作るようになるっしょ

そういうパーツが色々な機能を網羅していくと
最終的には「サイトごとに同じような処理はみんな共通」とか
「ここをちょっと変えるだけで各サイトに適用可能」とかになっていく
その集合体の完成形がいわゆる「フレームワーク」

……ってな説明でどうかなぁ?

# もちろん今あるフレームワークが上記のようなボトムアップで作られたものなわけではないが……
290nobodyさん:2005/10/01(土) 13:33:56 ID:???
>288
小規模の案件やってる限りはわからないし、使う必要も無いよ。
フレームワークの利点がわかる状態、というのがフレームワークが必要な状態。
291nobodyさん:2005/10/01(土) 14:20:43 ID:???
>>289
なるほどぉ・・・、ってことは、いま自分がやってる作業(この部分は他でも
使いまわしやすいように作ろう)ってのも、ある意味で自作フレームワーク??

それを追及していくと、ほとんどどんなサイトやシステムでも部品は共通なものばかりだよね。
よっぽど斬新なものでない限り、既存の部品を既存の組み立て方すればいいだけだよねぇ。
フレームワークがそういうものだとしたら、Webアプリ作成が劇的に簡単になりそう。
・・・でもMojaviとかの説明を読んだりすると、もうそれ自体が難しく感じる。。。

>>290
ってことは、俺はまだ必要な状態ではないのかな・・・。
292nobodyさん:2005/10/01(土) 14:42:28 ID:???
>>291
ある意味「俺フレームワーク」とかいわれるものがソレなんだと思うよ
そして他人が書いた「俺フレームワーク」は慣れるまでは大抵使いにくい
ただ自分より頭の良い人が書いたものならたぶん慣れれば自分のより効率良くなるのだろう
でもそれは今まで自分が思いつきもしなかったような発想で作られていたりするから
学習曲線の最初はだいぶきっつかったりする

>>290の言ってるのは
慣れちゃった後なら小規模案件でも使わない理由はないと思うけど
小規模案件のためにわざわざ慣れる必要があるかってーと
それではC/P比が悪い,ってことじゃないかな
大規模だと少しでも効率良くなるとかける人数で効くので大きいのと
よく整備されたフレームワークはそれに則ったコードを書けばいいのでコードが変に発散しにくいのが利点
293nobodyさん:2005/10/01(土) 14:45:18 ID:???
デザイナ含めて3人ぐらいの小規模しかつくらないけど
俺は「俺フレームワーク」捨てちゃいたい時ある。糞コードだもんなあ
294290:2005/10/01(土) 14:45:40 ID:???
>291
覚えると気持ちの上での楽さはあるけどね。
MVCの切り分けや入力値チェックなどを、どこに書くべきかを含めて明示的に示してくれるわけだし。
でもフレームワーク使ってなかった頃はそんなの自分で勝手に分けて書いてたわけだし
数週間くらいでできるような案件を一人でやるなら
無いなら無いで普通に作れるし、大して手間も変わらないように思う。

そんなこと関係なしに、興味があるなら使ってみるのが良いよ。
295290:2005/10/01(土) 14:47:50 ID:???
>292
素晴らしいフォローが入ってる。
まったくその通りです。サンクス。
296nobodyさん:2005/10/01(土) 16:35:15 ID:???
フレームワークは楽をするためのものと言われて、
実際そうなんだけど、
その楽さって「記述量が少ない楽さ」じゃないよね
記述量は、逆に迂遠に思える時も多々あって、
俺なんかは「ハァ?どこが楽なんだよ。面倒くさいだろ」と
反発を感じながら自分なりのお手軽メソッドを追加してたりしていって
気づいたら何だか見通しが悪くなってた。
提供者は
「コーディング量は、そんなに減らないし、逆に増えるかもしれません。ただし、長い目で考えると楽です」と言ってほしいところ。
最初から「とにかく楽したい」の精神で行くと、
その良さを理解するのに結構時間がかかる。
297nobodyさん:2005/10/01(土) 17:08:24 ID:???
単純なものを作るとしても、フレームワーク使って作ると、
余計なこと考えないで済むから楽ちんだと思ってしまう漏れは負け組?
298nobodyさん:2005/10/01(土) 21:01:51 ID:???
とりあえずここまで説明してもらってもまだフレームワークの良さが
イマイチ分からない俺は、ちまちま自力でやっていこうと思いまつ。

そうしてるうちにフレームワークが必要になる日が来るかもしれない。
むしろ最初の基礎は全部自分でやれるようにしといたほうが後々いいかも。
299nobodyさん:2005/10/01(土) 21:10:53 ID:???
ちまちまアセンブラで大規模アプリを書けるようにがんばります。ということ?
馬鹿馬鹿しい。
300nobodyさん:2005/10/01(土) 21:21:42 ID:???
>>299
なんでいきなりアセンブラが出てくるんだ?
比喩にしてもおかしいし???
301nobodyさん:2005/10/01(土) 21:32:08 ID:???
小さなプログラムを個人で書きなぐってるって人なんじゃないの?

仕事で似たような案件を多くあつかっていると、大枠で共通することが
多いことに気づいてくる。それをくくりだして同じ事を何度もしなくても
いいようにしようと思うわけだ。
言語レベルではライブラリとして共有できるようになってる。
さらに扱う対象によっては毎回似たようなプログラムの流れになることがある。
その似たような部分の構成を使いまわしできるようにしておくと、効率があがる。

299さんの言っていることも極端ではあるけど考え方としては同じこと。
アセンブラがあれば何でも記述できるけど、WEBアプリなんか書く時にはPHPが
適しているのでPHPで書く。毎回アセンブラからまずPHP(あるいは俺言語)を作って
仕事に取り組むってのは能率悪そうでしょ?

ただフレームワークを必要としない人や場合もあるのだから 290さんの言うように
必要としていない状況なのかもしれない。
302nobodyさん:2005/10/01(土) 21:38:29 ID:???
ちょっと流れ無視なのかもしれませんが、
クラス・ライブラリとフレームワークの違いって何ですか?

ライブラリ群=フレームワーク?と思っているんですが。
303nobodyさん:2005/10/01(土) 21:56:33 ID:???
・画面遷移の仕組み
・入力データのヴァリデーション
・HTML表示のためのテンプレートエンジン
・セッション管理
・アクセス制御
あたりの機能を体系的にまとめたものが、いわゆるフレームワークと言っていいと思う。
特に上3つはフレームワークと呼ばれるものには必ず存在するかな。
ただ、それぞれの機能単独のライブラリもあるから、そういうライブラリを自分で組み合わせても構わないし、
そっちの方がいい場合もあるだろう。
304nobodyさん:2005/10/01(土) 22:48:16 ID:???
保守性のメリットもあるお
305nobodyさん:2005/10/01(土) 22:55:55 ID:???
フレームワークの意味や利点が理解できない漏れは、
当然クラスの良さも分からないし使ったこともない。
「良さが分からない」というか、「使用法を習得するほうがめんどい」。

だからPEARも一度も使ったことなく(ちょっと調べて断念)、
よく使う機能については「俺ライブラリ」(せいぜい自作関数)的なものを作って
ファイルにまとめて、それをincludeしたり部分的にコピペして貼ったりして再利用してる。
それで十分便利だし苦にも思わない。
306nobodyさん:2005/10/01(土) 23:10:17 ID:???
>>305
苦にも思わないならそれでいいんじゃないかな?
上で大規模小規模って話が出てきてるけど
大規模→大人数となってくるとそれを苦に思う人も出てくるだろう
その時になったらまた考えればいいと思う

繰り返しになるけど,最初の学習曲線をよじ登る手間が,
初めから登らなかった場合の手間の総量を上回らないなら,登らない方がトータルで良いしね

ただ経験から言わせてもらうと,
仕事でPHPをやってる限り,結果的にはたぶん総量を上回ることになると思う……
307nobodyさん:2005/10/02(日) 00:39:45 ID:???
まあ、PHPは標準関数の機能が多いから、PEAR使わなくても構わない場合は多いけどな。
Perlの場合、CGI、DBI、HTML::Template、CGI::Sessionあたりを使わざるを得ないけど。
ただし、PHPは名前空間が区切れないから、クラスを使わないとグローバル変数名の衝突をさけられない。
なんで、処理がある程度複雑になってきたら、クラスを使うしかなくなる。
308nobodyさん:2005/10/02(日) 01:42:18 ID:???
自分1人で開発してるうちは
フレームワークの恩恵はそれほどないかもしれない
小規模のものを作るのには必要ない
単純なメールフォーム作るのにフレームワークなんていらない

複数人でそれなりに規模のあるものの
開発をしようとするとそれぞれのスキルと作り方で
同じ処理の流れのものを作っていても
コードや構成はばらついていく

だから遷移方法や処理のプロセスはこういうやり方で
ここにそのコードを置いてくださいという
取り決めがフレームワークで
チーム全員がその取り決めにならって開発していく事で
誰が書いても全体の構成がある程度統一されていく部分が
フレームワークを使う事の一番のメリットなんじゃないのかな
309nobodyさん:2005/10/02(日) 02:06:00 ID:???
PHPには、PerlのCGI::ApplicationやJavaのStrutsほどメジャーなものはないし、開発者全員がそのフレームワーク自体を覚えないといけないってコストがかかる。
他にもデメリットとして、smartyのようなテンプレートエンジンを使うと実行速度がぐっと下がるし、
標準であるべきDBクラスのPEAR_DBは、標準関数と比べて圧倒的に速度が遅い。代替のDBクラスもあるけど、これも乱立していて学習コストがかかる。
さらに言うと、PHP開発者のスキルは概して低い。
PHP開発者の確保は、Perl開発者、Java開発者の確保よ低コストだけど、PHPでOOPやフレームワークを扱える開発者をそろえるのは難しい。
こういったデメリットを乗り越えて、なおフレームワークにメリットがあるかどうかを考えないといけない。
310nobodyさん:2005/10/02(日) 02:36:39 ID:???
PHPのスレで言うのもアレなんだがRubyのRails試してみるといい。
あとAppleのWebObjectsとか。Gauche(Scheme)なKahuaも
ええよ。
311nobodyさん:2005/10/02(日) 09:25:07 ID:???
ライブラリは自分の書いたコードがライブラリのコードを呼び出す
フレームワークは自分の書いたコードがフレームワークのコードから呼ばれる

基礎の基礎。
312302:2005/10/02(日) 09:44:41 ID:???
>>303
分かりやすい説明ありがとうございます。
Webアプリ用のフレームワークについてはなんとなく分かったような気がします。
でも「Mac OS XのCocoaフレームワーク」なんていうのを
聞いたことありますが、あれはHTMLとは関係ないですよね。
そういう場合はどう考えればいいのか。

>>311
呼び出す方向による分類は新鮮です。いや、これに関しては無知でした。
デスクトップ・アプリで言うところのイベント駆動型かどうかという分類でしょうか。
ありがとうございます。
313nobodyさん:2005/10/02(日) 10:35:14 ID:???
チーム開発のメリットだとしても、それフレームワーク使うより、
PECLで独自の拡張関数を増やすほうがよろしいんじゃないでしょうかね
314nobodyさん:2005/10/02(日) 13:12:15 ID:???
扱っている案件において検討した結果
そういう結論に至ったのならそういうケースもある。

当然フレームワークを利用する方が良いケースもあるでしょう。
315nobodyさん:2005/10/02(日) 13:18:58 ID:???
PECLで独自関数っていうとCで拡張モジュールを書くということ?
それがチーム開発においてプラスになるのはかなり特殊なケースに思えるけど。

ていうかそんなの実際にあるんかいな。
316nobodyさん:2005/10/02(日) 16:48:05 ID:???
あなたまかせの特定のフレームワークを使い倒すよりは、
独自拡張をあわせたほうがいい気はするけどな
317nobodyさん:2005/10/02(日) 16:59:18 ID:???
>>311
シンプルだけど本質的な定義だな。
318nobodyさん:2005/10/02(日) 19:28:25 ID:???
$context =& $this->getContext();
$controller =& $context->getController();
$request =& $context->getRequest();
------------
$controller =& $this->getContext()->getController();
$request =& $this->getContext()->getRequest();

あなたはDOTCH派?
319nobodyさん:2005/10/02(日) 19:39:32 ID:???
そもそも PHP4 じゃ前者でしか書けない罠
320nobodyさん:2005/10/02(日) 22:32:53 ID:???
どっちも意味不明派。
321nobodyさん:2005/10/02(日) 22:42:00 ID:???
後者は&いらないんじゃないか?

そんな自分は「= &$foo」派
322nobodyさん:2005/10/03(月) 04:04:57 ID:???
>>318
PHP5では&はいらないわけだが。
むしろそのへんのことも含めMojavi系は面倒くさいので、そっとごみ箱にいれた派。
323nobodyさん:2005/10/03(月) 09:12:25 ID:???
>>322
めんどくさいかなぁ??
フレームワーク使わずにどうWebアプリ構築してるのか知りたい。
べた書き?後から見辛くない?
324nobodyさん:2005/10/03(月) 09:14:42 ID:???
別にPHP4だから、かならず参照渡ししないといけないわけじゃない。
対象のオブジェクトや配列の複雑さの程度だとか、後から値を変えたいかとかによる。
325nobodyさん:2005/10/03(月) 10:55:25 ID:???
>>324
まあ確かにそうだけどさ、プロパティを変えないつもりでオブジェクト値渡ししといたら、後々になってからやっぱりプロパティを変える操作をした場合に辻褄あわなくなるじゃん。
PHP4だったら常に参照渡しにしたほうが楽な希ガス。
326nobodyさん:2005/10/03(月) 12:48:32 ID:???
配列はよりけりだけど
オブジェクトは一律参照渡しでほとんど問題なくない?
327nobodyさん:2005/10/03(月) 14:42:31 ID:???
問題ないというか、PHP5や他の言語を考えると
必要な場面でのみ値渡しにしたほうがいいと思う
328nobodyさん:2005/10/03(月) 15:56:03 ID:???
要はオブジェクトは特に理由がないなら参照渡しにしとけって話でFA。
329nobodyさん:2005/10/03(月) 16:02:55 ID:???
ふりーえーじぇんと宣言?
330nobodyさん:2005/10/03(月) 19:53:20 ID:???
っていうか参照渡しとか値渡しとか意味わからん漏れはダメ人間。
331nobodyさん:2005/10/04(火) 03:25:49 ID:???
どうしてわかってくれないのっ!
332nobodyさん:2005/10/04(火) 16:01:01 ID:???
ティン!
333nobodyさん:2005/10/04(火) 18:09:25 ID:???
フレームワークとふかわがものすごいミスマッチだな
334nobodyさん:2005/10/04(火) 20:38:36 ID:???
    _____
   /二二ヽ
   ||・ω・|| <ティン!!!!!
   |σ |σ
    >  >

山崎邦正ならマッチするのに
335nobodyさん:2005/10/05(水) 17:39:44 ID:gDrff9QN
requestとかcontrollerをAction中の複数のメソッドで使う時、
initializeでgetしておいてprivateなプロパティーとして持っておくのはアリ?
336nobodyさん:2005/10/05(水) 17:49:44 ID:???
最近主流の複数画面で構成されてるサイトって
フレームワーク(的なもの)がなければ作れないよなぁ。
ベタ書きで作ってるサイトなんてあるんだろうか?
337nobodyさん:2005/10/05(水) 22:36:32 ID:???
>>336
複数画面で構成されてるサイトって ?
338nobodyさん:2005/10/05(水) 22:44:00 ID:???
>>337
ヘッダ-メイン-右サブ-左サブくらいにエリアが分かれてて
それぞれのエリアのコンテンツ構成が動的に変化するようなの。
ポータルとかニュースサイトのほとんどがこれ系だよね。
339nobodyさん:2005/10/06(木) 01:04:30 ID:???
別にフレームワークが必須だとは思わないけど。
フレームワークが一番効果を発揮するのは、何画面にも渡るアンケートフォームだろうね。
アンケートデータの持ち回りと、ヴァリデーションに応じて遷移先の画面が変わるから。
340nobodyさん:2005/10/06(木) 01:17:22 ID:???
>>338
別にベタ書きでも書けるけど、フレームワーク使ったほうが早いときもあるってだけの話だ罠。

>>335
Mojavi系の話だよね?毎回contextから取得するのがMojavi標準的くさいからナシ。
ローカル変数にrequestとか入れるくらいまではアリだと思うが。

例えばヘタに$this->request = "うんこ";とかやると他のメソッドに響くし。
その点では、PHPにfinalがあればMojaviの仕様も大分違ってたのではないかと想像。
少なくとも$this->context->getRequest()か$this->context->requestくらいにはなるんじゃないかな。
$this->requestまでなるかどうかは、何とも言えないがw
341nobodyさん:2005/10/06(木) 06:29:57 ID:???
>標準的くさいからナシ。
久しぶりにその方言聞いた。なつかしいなー。
342nobodyさん:2005/10/06(木) 13:06:02 ID:???
343nobodyさん:2005/10/06(木) 13:07:29 ID:???
仕事でMojavi使ってた人は今どうしてるんだろう
Agaviに流れたのか他に行ったのか
344nobodyさん:2005/10/06(木) 15:47:14 ID:???
>>339
データの持ち回りなんてセッションで十分だと思うのだが・・・・
いまだに俺はフレームワークの利点が分からない。
345nobodyさん:2005/10/06(木) 19:53:34 ID:???
>>342
名前似てるけど、俺は和製フレームワークはpokが一押し。

>>343
多分仕事で使ってた人は、少なからず手を加えてるので、
わざわざAgaviには流れてないんじゃないのかな?

>>344
自分一人で作ってたりする人はそうかもね。
「俺的フレームワーク」ってのを知らんうちに使ってたり。
まさか毎回1からなんて事はないでしょ?
346nobodyさん:2005/10/06(木) 20:18:00 ID:???
>>345
その pok ってのポインタきぼん
347nobodyさん:2005/10/06(木) 20:24:05 ID:???
http://www.geocities.jp/toyprog/wikimojavi/index.html
ここのおかげでやっとDecoratorを理解した…
自分がハメハメされるテンプレートをあらかじめ指定しておけるんだね。
こりゃ便利だ。
348345:2005/10/06(木) 21:31:38 ID:???
>>346
ttp://cgi39.plala.or.jp/klove/
S2Container.PHP5の人ね。
Seasarに関わってる人達を個人的にスゲー注目してる。
パフォーマンス的には??って感じは否めないけど、
PHPでも結構やれるなって事がわかって良かった。
スゲー勉強になった。
S2Daoとかスンゲー期待してる。
俺の中では糞盛り上がってるんだけど、
MLとかスンゲー寂しいし、ひょっとしてめちゃくちゃ
マイナーなのかなぁ・・・と心配になってきてる・・・。
349nobodyさん:2005/10/07(金) 01:02:37 ID:???
>>348
ありがとー

Seasar.PHP の ML は読んでるから名前は見ていた人だわ
S2Dao とかおれも期待しているんだけど
正直,きちんと追ってない人には活動が何してんのか見えなさすぎて,
それがマイナーっぽい原因になってるんだろうなーと思う
350nobodyさん:2005/10/07(金) 04:58:48 ID:???
フレームワークのウリとしてフォームの取り回しの簡便化がよく喧伝されるけど
俺はそこはあんまり重要じゃないなぁ。
そんなにしょっちゅう書く部分じゃないし、もともと単純な処理がほとんどだし。
デザインパターンに基づいた保守性の高さや、
見通しの良さの方が嬉しい。
簡単なことが簡単になっても、あんまり嬉しくないけど
複雑なものを単純にすることが出来たら、かなり嬉しい。
351nobodyさん:2005/10/07(金) 05:03:27 ID:???
privateやprotectedもないPHPでデザパタ重視はどうかと思う
352nobodyさん:2005/10/07(金) 05:20:40 ID:???
>>351
釣りなのか、PHP5 を知らないのか、どっち?
353351:2005/10/07(金) 05:23:35 ID:???
>352
釣りだ
350はデザパタがメインのレスじゃないだろ
まぁこれでも読んで考えてくれ
ttp://www.enpitu.ne.jp/usr10/bin/day?id=104241&pg=20050818
このスレとは全然関係ないんだけどさ
354nobodyさん:2005/10/07(金) 08:06:14 ID:???
フレームワークを使っているから、オブジェクト指向かというと、そういうわけでもないよな。
メンテナンス性を上げようと思えば、在り物のフレームワークを使うより、
自分なりにそのWEBアプリにあった仕組みを考えた方がメンテナンス性が上がる場合もあるだろうし、
メンテ担当の技量を考えて、クラスをいっさい使わないようにした方がメンテしやすい場合もあるだろう。
355nobodyさん:2005/10/07(金) 13:12:01 ID:???
forwardすることを前提としたactionでも、
url直接入力して直呼びすることもできるよね。
何か対策してる?
356nobodyさん:2005/10/07(金) 13:37:39 ID:???
してる
357nobodyさん:2005/10/07(金) 13:56:25 ID:???
いくつか方法は考えられそうだけど
どんな?
358nobodyさん:2005/10/07(金) 14:04:28 ID:???
requestにsetAttributeして飛び先actionで確認
359nobodyさん:2005/10/07(金) 14:12:14 ID:???
なるほど thanks
360nobodyさん:2005/10/07(金) 16:36:25 ID:???
結局そういうことにrequestのattributeだとかuserのparameterを使うと、(コントローラの呼び出し等を除いて)実行されるコードの最初から最後までアクセス可能ってことになる。
そうなるとグローバル変数と変わらないんだよな。
もっと各状態の遷移ごとにアクセス制限のかかったデータの受け渡しができればいいんだけど、うまくいかないもんだ。
361nobodyさん:2005/10/07(金) 17:27:56 ID:???
セッション管理ではだめなのか?
362nobodyさん:2005/10/07(金) 17:40:15 ID:???
>>354
おいおい、そんな事させるからPHP使いはウンコのまんまなんだよ。
クラスを一切使ってねぇ〜システムなんざ見る気しねぇ〜よ。
つーかクラス使わずどうWebアプリ作ったらいいんだろ?すら思う。
363nobodyさん:2005/10/07(金) 17:53:18 ID:???
351の言ってる保守性は、アプリ自体の保守性
354が言ってるのはアプリ上に乗っかってくるデータやコマンドのメンテナンス性
で、フォーカスしてる層が違う感じがするな
364nobodyさん:2005/10/07(金) 18:27:14 ID:???
PHP4にはデストラクタないし、例外も投げれないから、クラスをネストさせたり、複雑に組み合わせたりはやりづらいよね。
スコープを明示できないからクラスを使わざるをえないけど、それじゃあクラスをクラスらしく使ったプログラミングとは言えない。
もっとも、WEBアプリというジャンル自体、オブジェクト指向のメリットがあまりないジャンルだと思うね。
どっちみちリクエストのたびにオブジェクト作り直しになるわけで、ユーザからの入力データもリクエストごとにフラットにしかこないわけで。使いどころがない。
365nobodyさん:2005/10/07(金) 18:32:28 ID:???
> もっとも、WEBアプリというジャンル自体、オブジェクト指向のメリットがあまりないジャンルだと思うね。

ふーん。
366362:2005/10/07(金) 18:41:02 ID:???
>>364
それは俺に対する回答だと思っていい?

クラス使ってる=オブジェクト指向っていうのが間違ってると思うよ。
実際自分を顧みるに、オブジェクト指向を意識してクラスを使い始めたが、
オブジェクト指向にはならず、単に構造化になっただけだった。
だがそれだけでもかなり見通しが良くなったと思ったよ。

単にメンテ性だけを考えてもクラスを使用しているアプリと、
クラスを全く使用してないアプリとどっちがメンテし易いか?
って考えるとどっちだと思う?
俺はベタ書きで書かれたものを渡されて「メンテしろ」って言われたら、
とりあえず「作り直させてください」って言うな。

あと、クラスのネストってどういう事?
367nobodyさん:2005/10/07(金) 23:01:26 ID:???
DecoratorTemplate使う時で、
HTMLのヘッダ部での
外部JavaScriptファイルの読み込みとか
JavaScriptの初期値設定が必要な場合、どうしてる?
自分が「部分」になれるDecoratorは便利だけど
入れこみたい情報がソース中でバラける時、面倒くさいなぁ。
368nobodyさん:2005/10/07(金) 23:14:07 ID:???
別にクラスを使えばオブジェクト指向になるとは思わないよ。
それとフレームワークとオブジェクト指向とは関連性があるわけじゃないとも思う。
まあ、フレームワークにもよるけど。
これは言うまでもないと思うけど、オブジェクト指向を生かせるのはGUIのデスクトップアプリケーションとか。
WEBアプリの場合、リクエストの度にオブジェクトを作り直さないといけない。
特にPHPは永続化をどうするか?とか、言語機能が少ないとか、速度が落ちるとかっていう欠点もある。
まあ、これからはAjaxとかFlashとかで、高度なGUIを持ったWEBアプリが要求されるだろうから、そうなるとオブジェクト指向のメリットも出てくるかな。
けど、HTML自体があまりオブジェクト指向なプレゼン言語とは思えないんだよなあ。
369nobodyさん:2005/10/07(金) 23:26:18 ID:???
>>368
フレームワークとオブジェクト指向とは関連性があるわけじゃないとも思う

って関連ありまくりじゃん。
OOのエッセンスが分かちがたい程たっぷり入ってると思うよ。
OOを使わずともライブラリ集は作れるだろうが、
フレームワークは作りにくいだろう。
370nobodyさん:2005/10/08(土) 00:07:12 ID:???
>>368
今時「PHPでOOPすると性能が落ちる」とか言ってるのは時代錯誤もいいとこ。

371367:2005/10/08(土) 01:39:24 ID:???
ViewHelperで解決した(゜д゜)
372nobodyさん:2005/10/08(土) 01:55:47 ID:???
デストラクタもないのにオブジェクト指向ってありえるんだろうか?
373nobodyさん:2005/10/08(土) 02:24:56 ID:???
なんだこの掃き溜めは
374nobodyさん:2005/10/08(土) 02:26:59 ID:???
デストラクタがないとオブジェクト指向なプログラミングができない、
という思考回路が判らない。言語仕様に捉われすぎてる悪寒。

375nobodyさん:2005/10/08(土) 02:28:24 ID:???
ありだと思うな。
Cでもオブジェクト指向でまとめられたライブラリやツールキットは山ほどあるし。

オブジェクト指向プログラミング自体はべつに大抵の言語で可能だとおもう。
たしかにPHPはオブジェクト指向言語として設計されたわけじゃないが、
これとPHPでオブジェクト指向プログラミングをする事は矛盾しないだろう。
376nobodyさん:2005/10/08(土) 02:45:50 ID:???
てか5にはデストラクタもあるよ。
でもウェブアプリでデストラクタを使う機会はあんまりないだろ。
377nobodyさん:2005/10/08(土) 05:08:37 ID:???
>>372
あるよ
378nobodyさん:2005/10/08(土) 05:09:53 ID:???
>>370
時代錯誤というより、単に知識が乏しいだけだと思う。
379nobodyさん:2005/10/08(土) 05:32:22 ID:???
このスレでPHPによるオブジェクト指向プログラミングを否定している
連中は、オブジェクト指向じゃなくてC++ or Java指向になってるんじゃないか?
rubyもデストラクタは持ってないしな(GCがあるからだけど)。
380nobodyさん:2005/10/08(土) 06:07:15 ID:???
確かにウェブアプリじゃデストラクタなくても、なんとかなる。どうせ1回こっきりでプロセスごと終了するんだから。
そうすると、こったオブジェクト作ってもしょうがないじゃん。シングルトンとか、ウェブアプリでどれくらい意味あるのか。
381nobodyさん:2005/10/08(土) 07:48:43 ID:???
>>380
SingletonはDB接続に関するクラスで使ってるな俺は。
スゲー便利だしすっきりするなぁって思ったね。
要は使い方によるかなと。
382nobodyさん:2005/10/08(土) 07:56:41 ID:???
ほっといてやれよ。
383nobodyさん:2005/10/08(土) 08:43:12 ID:???
>>381
1回のアクセスでオブジェクトが全部ご破算になるWebアプリでシングルトンの意味はある?

$_db_ = new MyDB();
function getDB() {
global $_db_;
return $_db_;
}
:
:
//実際使う場所
$db = getDB();

これでいいんじゃない?
384nobodyさん:2005/10/08(土) 09:07:34 ID:???
>>383
グローバルオブジェクトを利用したSingletonの実装の一形態だろそれ
いいんじゃない? と言われりゃそうですねと言うしかないな
Java厨って実装から何から全部Javaと一緒じゃないと否定したがるのがうざいな
385nobodyさん:2005/10/08(土) 09:16:29 ID:???
>>383
意味が無いと思ったら使わなければいいだけの話じゃん
386nobodyさん:2005/10/08(土) 09:45:38 ID:???
PHP5にはデストラクタあるだろ。
387nobodyさん:2005/10/08(土) 10:47:02 ID:???
あるって何回も書かれてるってw
388nobodyさん:2005/10/08(土) 10:56:20 ID:???
383のやり方だとグローバル空間が汚れるじゃん。
_を使うのはやっぱり苦肉の策だし、クラシックな作法だろう。
389nobodyさん:2005/10/08(土) 11:00:17 ID:???
おれはsingltonならstaticで書きます。
390nobodyさん:2005/10/08(土) 14:36:34 ID:???
DB_DataObjectなんかは>>383みたいな感じだね

Java厨というよりJavaを意識しすぎたPHPユーザー、みたいな印象を受ける
Javaを意識するあまり、「PHPじゃないと出来ないことをしないといけない」みたいな傾向ってあったと思う
最近はその対象がRubyに移ってきたみたいだけど
391nobodyさん:2005/10/08(土) 16:18:59 ID:???
俺はDB接続部分をSingletonにして、各テーブルに発行するSQL文などを集めたクラス
がgetInstanceするって感じに使ってるけど、おかしいのかな?
各テーブルというと語弊があるかな。ある程度のテーブルを纏めたクラス。
JOINする場合(というかJOINしない場合が珍しいけど)は基となるテーブルのクラスに入れる。
$a = Atables();
$b = Btables();
print_r($a->getSelect());
print_r($b->getSelect());
って感じで。
全然スマートじゃないなぁとは思うけど、
DB周りはどうやったらスマートになるのか
全然わからん。解説サイトではロジック部(?)とSQL発行部
が混じっているが、個人的にそれはすごい抵抗があるし。
誰かご教授下さい・・・。

あ、今月のPHPプログラマーズマガジン無料だって!
JPSPAN扱ってるね。あれ@ITかなんかで廣川さんが
解説してて、それ以来使ってるけど、あれ使ってる人って
聞いたことないから不安になってた。
スレ違い&長文すまん。
392nobodyさん:2005/10/08(土) 16:42:29 ID:???
OOにデストラクタを重視する奴は意味が分からないな
前時代の遺物的存在じゃん
後片付けは言語側で勝手にやってくれる方が今風だし、キレイだ
393nobodyさん:2005/10/08(土) 17:14:13 ID:???
C++でOOP入りした人は感覚的に染み付いていて、抵抗あるんじゃないかな。
オレも昔はそうだった。ruby, PHP, C#で、すっかり骨抜き?にされたけど。
なんつーか最初の頃は堕落した感じがしたもんだ。
(良い悪いとかじゃんくて、楽チン→堕落、みたいな妙な感覚)
394nobodyさん:2005/10/08(土) 17:52:40 ID:???
お、お前ら・・・お前ら何言ってんだ??
お前らの会話の内容がサッパリ分からんぞ、DQNな漏れは。

もうね、難しいとか難しくないとかいうレベルじゃない。
何の予備知識もないスワヒリ語を聞いてる感じ。
395nobodyさん:2005/10/08(土) 18:06:12 ID:???
>>394
それはDQNだからじゃなくて単にオブジェクト指向開発用語を知らないだけだと思う
つまりそれを勉強すればこの会話の意味はすっかり解るだろうし
勉強して損ないものなのでぜひ習得してみるべし
396nobodyさん:2005/10/08(土) 18:38:45 ID:???
>>395
勉強できる Web をうpきぼん。
397nobodyさん:2005/10/08(土) 19:05:01 ID:???
>>392
勝手に行うのはメモリ開放だけだろ。
さらにPHPはfinally構文がない。
398nobodyさん:2005/10/08(土) 21:14:56 ID:???
finally構文ってオーバーライドを禁止するfinalのことか?
finalならPHP5にあるが。
399nobodyさん:2005/10/08(土) 21:17:47 ID:???
>>398
例外処理のfinallyでしょ。
Javaなら以下のように書けるけど、PHPではfinallyが書けないので
リソースの破棄を行いたい場合などに二度手間になることがある。

try {
 例外の起こりそうな処理
} catch (Exception e) {
 例外発生時の処理
} finally {
 例外が起きても起きなくても実行したい処理
}
400383:2005/10/08(土) 22:26:28 ID:???
>>390
> Java厨というよりJavaを意識しすぎたPHPユーザー、みたいな印象を受ける

JavaはHelloWorldくらいしか書いたことないな。
俺のよくいじる言語はSmalltalk, Ruby, PHP, JavaScriptだよ。
あとSchemeも好きだな。

わざわざclass定義してstatic変数用意して2つもメソッド書いて、
結局>>383のたった6行でできることをかえって複雑にするのはアホらしい
ってことだ。
401nobodyさん:2005/10/08(土) 22:41:27 ID:???
まあ、「Singletonって書きたいだけちゃうんか」というコードが多い
という気はする。
402nobodyさん:2005/10/08(土) 22:43:38 ID:???
>>309
>>他にもデメリットとして、smartyのようなテンプレートエンジンを使うと実行速度がぐっと下がるし、

これはウソでしょ。
403nobodyさん:2005/10/08(土) 22:45:32 ID:???
Singletonパターンってイディオムみたいな感じだよね。
確かに無理して本に乗ってる書き方通りにしなくても良いとは思う。
Javaみたいにマルチスレッド環境になることもないし。
404nobodyさん:2005/10/08(土) 23:03:48 ID:???
383の書き方だと、呼び出し側のコードを見ただけでは
それがSingletonなのかどうかは判別できないじゃん。
確かに伝統的な書き方は記述が面倒だけど、
一人の思考ではなかなか太刀打ちできない強度があるもんだよ。
たくさんの頭脳を経た思考の蓄積や時間による淘汰は馬鹿に出来ない。
405nobodyさん:2005/10/09(日) 00:09:28 ID:???
>>400
わざわざ冗長に見える記述をするのはそれなりの理由があるからで、
それが感じられないならオブジェクト指向自体が冗長だろう
ていうかSmalltalkとかRubyのほうがよりオブジェクト指向が強いと思うのだが
406nobodyさん:2005/10/09(日) 00:13:58 ID:???
冗長って何?
407nobodyさん:2005/10/09(日) 00:26:12 ID:???
>>406
君は初心者向けの本とかをたくさん読んできなさい
フレームワークスレはまだ早い
408nobodyさん:2005/10/09(日) 01:17:58 ID:???
>>400
class aClass {
function &singlton(){
static $me;
if(!is_object($me)) $me =& new aClass;
return $me;
}
}

$instance =& aClass::singlton();

これがそんなに複雑かな?
わざわざgetDB()とか$_db_とかというのをグローバルな名前空間に
つくる方が複雑化を招く気がする。

実際に作る時はこのままではなんとなく気持ち悪くてスタティックな
コールであることを保証したりしちゃうから、そういうときはたしかにphp4で
ちょっと損した気分になるね。
409nobodyさん:2005/10/09(日) 03:49:12 ID:???
PHPでのシングルトンには、「リソースを効率よく使うため」ではなくて
「意図を表すコーディング」としての効果を期待しろ、ということで。
410nobodyさん:2005/10/09(日) 07:15:34 ID:???
>>400
なんか実用的なプログラム書いた事無くて、頭の中で屁理屈こねくり回してるって印象を受けるな〜
411nobodyさん:2005/10/09(日) 07:19:12 ID:???
PHPに限らずアクセスレベルなんかも、
実際に使っちゃうリスクへのヘッジというよりも
意図を埋め込む意味合いの方が強いよね。
412nobodyさん:2005/10/09(日) 11:23:06 ID:???
意図なんてコメントとして書いておけばよい。
413nobodyさん:2005/10/09(日) 12:57:50 ID:???
>400
そもそもシングルトンで重要なのは、コンストラクタを private とかにして、
オブジェクトの生成が出来る箇所を限定することの方だろ。
414nobodyさん:2005/10/09(日) 14:48:09 ID:???
↓これはシングルトン?

/**
* シングルトンとして使ってください(オブジェクトは1度だけしか生成しないでください)。
*/
class Example
{
 :
}
415nobodyさん:2005/10/09(日) 14:58:42 ID:???
プログラムは改変されていくものだから、
コメントがいつの間にか嘘の説明にならないよう、
むしろ少なめ推奨がモダンな作法。
独善的持論をぶってる奴はもう少し勉強しれ。
416nobodyさん:2005/10/09(日) 15:04:08 ID:???
DB鯖がセッション用と顧客データ用と別だったりとかさー
DBオブジェクト複数接続先で使いたい時とかって割と無い?
417nobodyさん:2005/10/09(日) 15:06:04 ID:???
↑解かりづらいか、「DBオブジェクトを接続先別に複数生成したい時」と言い換え
418nobodyさん:2005/10/09(日) 15:18:56 ID:???
俺はSingletonなDBオブジェクトにコネクションコンテナを持たせてる
419nobodyさん:2005/10/09(日) 16:51:24 ID:???
>>415もまた独善的持論なわけだが。
420nobodyさん:2005/10/09(日) 16:53:47 ID:???
ハイハイそうだね
421nobodyさん:2005/10/09(日) 18:16:42 ID:???
あー、415のせいで荒れ始めただろ……責任とって下さい、415
422nobodyさん:2005/10/09(日) 18:49:57 ID:???
何で糞ガキがこんなスレに迷い込んできたんだ…。
423nobodyさん:2005/10/09(日) 18:52:26 ID:j3jR0Qvz
ままー おなかすいたー
424nobodyさん:2005/10/09(日) 18:56:57 ID:???
>>415
>プログラムは改変されていくものだから、
まあ、その通り。
>コメントがいつの間にか嘘の説明にならないよう、
確かに気をつけないと。
>むしろ少なめ推奨がモダンな作法。
いきなり妄想が入ってきました。
>独善的持論をぶってる奴はもう少し勉強しれ。
独善的持論乙
425nobodyさん:2005/10/09(日) 19:30:17 ID:???
>>424
だから勉強してから書けって言ってるだろ?
お前の浅薄な意見なんて何の参考にもならねーんだよ。
426nobodyさん:2005/10/09(日) 19:38:21 ID:QrQMlw6M
ソースのコメントを少なめ推奨している、モダンな作法とやらのポインタくれ。
427nobodyさん:2005/10/09(日) 19:38:25 ID:???
お子ちゃまたちは
XP(エクストリーム・プログラミング)についてなど
調べてみようね。
最近よく出版されてる軽めのプログラミング読本も
結構参考になるよ。
428nobodyさん:2005/10/09(日) 19:39:39 ID:???
底が知れたなw
一瞬俺の知らない技術体系が発生してるのかとおもた
429nobodyさん:2005/10/09(日) 19:45:20 ID:???
XPってコメント少なめ推奨してるのか?
430nobodyさん:2005/10/09(日) 19:50:40 ID:???
コメントなきゃ判らんコードはリファクタリング候補ってこと
量が少ないほうがいいとかモダンとか言うのはオカルトつーか誤認
431nobodyさん:2005/10/09(日) 19:56:38 ID:???
>>430
同じことを簡単に言ってるだけだろ。
まあケチつけたいだけの奴は
Singletonをコメントで実現しとけばいいんじゃねーの?
432nobodyさん:2005/10/09(日) 20:03:13 ID:???
全く違うよ。XPのレトリックが読めてない典型ワナビー君じゃん。
コードとの差異が出ないようにコメントを最小化する、なんてのは
アジャイルでもなんでもないし、リファクタリングしないことが前提の
固定的な開発思想でしょ。
433nobodyさん:2005/10/09(日) 20:07:19 ID:???
ここはフレームワークについて語るスレですよ。OOPの話は↓でしない?
PHPでオブジェクト指向プログラミング
http://pc8.2ch.net/test/read.cgi/php/1113724557/
434nobodyさん:2005/10/09(日) 20:18:50 ID:???
よしフレームワークにおけるアノテーションやAOPの意義について考えようぜw
435nobodyさん:2005/10/09(日) 20:29:41 ID:???
>>432
あー、お前の言うことにも一理あるね。
というか、お前が俺の言葉をどのように捉えたのかは理解したよ。
言葉のツラだけ捉えればまさにオカルトという言葉が相応しいかもしれない。
世の中には言葉をそういう風に使って金儲けや愚かな事をする輩が溢れているから
ダイレクトにそう捉えられたのも無理はないと思う。
だけど俺が言いたいのはそういうことじゃないんだよ。
なんか議論がつまらない方向に発展していきそうなのでこのへんで切り上げますが。
436nobodyさん:2005/10/09(日) 20:35:02 ID:???
>>435
上の流れがあるから指摘の意義は判ってる奴は普通に判ってるだろ
幼稚な煽りで見れたものじゃないがな
437nobodyさん:2005/10/09(日) 22:21:08 ID:???
>>434
PHPでリフレクションを利用したコメントアノテーションはちょっと興味ある
言語仕様になくても無理矢理実現できるのがPHPらしいというかなんと言うか
438nobodyさん:2005/10/09(日) 22:33:52 ID:???
まあ今のとこお守りみたいなもんでコメントと大差ないけどね
439nobodyさん:2005/10/09(日) 23:00:25 ID:???
>>434
XPはコメントとかコード外のメタデータや宣言を否定するわけじゃないっつの
それがリファクタを困難にするとも言ってない
読めるコードを書けっていう当たり前のことが言いたいだけなんです
440nobodyさん:2005/10/09(日) 23:22:19 ID:???
みんな理屈はいいから結論を書いてくれよ
>>414はアリ?ナシ?
441nobodyさん:2005/10/09(日) 23:24:45 ID:???
お子ちゃまは寝る時間ですよ
442nobodyさん:2005/10/09(日) 23:40:49 ID:???
オフィシャルではアノテーション導入する気はないみたいだなあ。
やっぱりコンパイラが対応してくれないと…フレームワークレベルでは実効力に欠ける。
Maple以外でDI+AOPなフレームワークってないのかな?
443nobodyさん:2005/10/10(月) 00:43:37 ID:???
>>440
本当に理屈は要らないんだな?

ナシ。
444nobodyさん:2005/10/10(月) 02:00:10 ID:???
フレームワークのメンテナが提供してるサンプルは
どれもこれもシンプル過ぎていまいち参考にならないなぁ
もっと踏み込んだサンプルをチボンヌ
445nobodyさん:2005/10/10(月) 07:29:44 ID:???
議論を読んでない俺が思うのは、開発手法の議論は他のスレでやってくれということだ。
つーかガチガチのクラス使いたいならJavaでやれ。
PHPでやらなきゃならん制約があるなら新スレでも立てるろや。
446nobodyさん:2005/10/10(月) 07:35:31 ID:???
俺が思うのは
フレームワークの開発がどれも停滞し過ぎということだ。
447nobodyさん:2005/10/10(月) 09:25:29 ID:???
YAMLってJSONみたいな物?
448nobodyさん:2005/10/10(月) 09:35:59 ID:???
>>442
上にも出てたけどpok。
実務レベルでどうか知らんけど、勉強用にはとても良かった。

>>446
最近はMapleが活発になってきたんじゃないかな?
449nobodyさん:2005/10/10(月) 10:57:46 ID:???
MapleってM3のDecoratorみたいな
CompositeViewを実現する機構がなくない?
そこが俺的には痛いッス
450nobodyさん:2005/10/10(月) 11:04:05 ID:???
>>447
違うね。
451nobodyさん:2005/10/10(月) 11:09:10 ID:???
>>450
どっちも汎用の構造化データ記法でしょ?
同じような物じゃないの?
452nobodyさん:2005/10/10(月) 11:45:47 ID:???
>>451
JSON と XML が同じようなものである程度には,
JSON と YAML は同じようなものだとは思うが,
一般的には「違うもの」として捉えられていると思う.

てゆーかJSONって形式としちゃ汎用とはいえ
例えばPHP→Javaのデータ転送にJSON形式使う奴なんていないんじゃないかと……
453nobodyさん:2005/10/10(月) 11:50:50 ID:???
構造をあらわすっていう超大雑把な括りに何か意味あんの?
454nobodyさん:2005/10/10(月) 11:55:22 ID:???
>>452
だがJSONはそれでいい
455nobodyさん:2005/10/10(月) 12:03:23 ID:???
>>453
意味っていうかプロトコルの一種だろ
やりとりのための約束ごととして決めておく。
絶対的な必然性はなかなかありえないから
「どっちでもいい」に落ち着きそうな気はする。
456nobodyさん:2005/10/10(月) 13:49:15 ID:???
強いて言えば
 人間に読みやすく設計されてるのがYAML
 JavaScriptに読みやすく設計されてるのがJSON
 誰もが読みにくい代わりに高機能なのがXML
って感じかねぇ?
457nobodyさん:2005/10/10(月) 13:54:12 ID:???
確かにYAMLは人が見やすいなぁ
中庸っぽさがPHPと似てるかも
JSONも嫌いじゃないけど
458nobodyさん:2005/10/10(月) 14:37:54 ID:???
JSONは専らJavaScriptと連携するときに使う印象。

ところでMapleはPHP5には対応しないのかな?
Mapleの目指す方向からしてPHP5で書いた方がずっと楽&適してるように思うんだけど。
459nobodyさん:2005/10/10(月) 14:44:41 ID:???
前から4で続けると明言してる
やったことないけど、5じゃ動かんの?
460nobodyさん:2005/10/10(月) 17:11:33 ID:???
っていうかつまらん議論してるならコンピュータなんて捨てちまえ!!!
別に無くてもあまり生活に困らないぞ。
461nobodyさん:2005/10/10(月) 17:17:24 ID:???
>>460
この議論がつまらんと思うなら460にはそれが良かったんだろうな
幸せな人生を歩んでくれ
462nobodyさん:2005/10/10(月) 19:13:07 ID:???
Mapleって4なんだ。
プレゼンテーション層をActionだけにしたところは共感してるんだけど
機能的にはまだMojavi系の方が厚いっぽい。
463nobodyさん:2005/10/10(月) 19:28:10 ID:???
DIってのは簡単に言うと
器だけおいておくとフレームワークが勝手にオブジェクトを
放り込んでくれるウンコホウリナゲ!( ゚∀゚)つ=====o
みたいなことを言ってるのかな?
464nobodyさん:2005/10/10(月) 19:38:53 ID:+MnfvWOk
>>463
そんな感じかな。
465nobodyさん:2005/10/10(月) 21:11:32 ID:???
ウンコホウリナゲ!( ゚∀゚)つ=====oられるために
Mapleは設定ファイルを用意、
guessworkはプロパティーを用意すると。
Actionだけを見てざっと把握できるから
その点ではguessworkがいいかな…。
466nobodyさん:2005/10/11(火) 12:40:17 ID:???
勉強してる余裕ないから、いまだにguessworkしか使えない。(´・ω・`)ショボーン
467nobodyさん:2005/10/11(火) 18:13:27 ID:???
Mojaviで
属性をメソッドから返す作法が面倒くせーと思ってたけど(プロパティー用意で良くね?と)
内部条件によって属性を変えられるメリットがあるんだな。
Mojaviは知るほどに、「よく考えられているなー」という部分がある。
468nobodyさん:2005/10/11(火) 19:47:53 ID:G45STU1Q
>>467
Mojaviだからではなくて、ただの情報隠蔽だろ。
469nobodyさん:2005/10/11(火) 20:54:40 ID:???
mojavi4って一応作ってるんだな
ソース見る限りでは、完成には程遠いけど
470nobodyさん:2005/10/11(火) 21:58:17 ID:???
>>468
それもあるだろうね。
ただそれだけじゃなく、コードを書くことを前提としてると思うよ。
471nobodyさん:2005/10/11(火) 23:15:49 ID:???
>>470
??
属性をセッターゲッターで操るのはMojavi独自の実装ではなくて定石だろ?
472nobodyさん:2005/10/11(火) 23:33:22 ID:???
だな。俺もコードを書く時に「ゲッターロボ GO-!!」とか[セッターロボ GO-!!」とか言いながらやってるよ。
473nobodyさん:2005/10/11(火) 23:34:34 ID:???
単なるセッターゲッターじゃなくて
Actionにとっての設定的な項目を
メソッドの形で実装して返すのがMojavi流じゃん。
しかもプロパティーに対するアクセサじゃないから
セッターゲッターじゃないし。
設定ファイルで済むようなことを
なんでメソッド書きまでしなきゃいけないのかと疑問だったのだが、
確かに利はあるな、と思ったということ。
474nobodyさん:2005/10/11(火) 23:35:27 ID:???
利→理だね
475nobodyさん:2005/10/12(水) 00:49:34 ID:???
>>473
セッターゲッターの存在意義わかってる?
476nobodyさん:2005/10/12(水) 02:03:55 ID:???
>>475
いや当然普通に分かってるけど…。
なんかいまいち伝わらないみたいだな。
477nobodyさん:2005/10/12(水) 10:36:29 ID:???
>>476
RubyとかRailsの人のよく言う言語重要てやつのことかね。
設定ファイルなどに頼るな、言語で一回だけ書きゃいいのだ。というあの信条。

うちではJava系のひとのStrutsアレルギーでMojaviは使っていないのだけれど。
478nobodyさん:2005/10/12(水) 15:07:00 ID:???
>>181
遅レスだが
firefoxならOSXでも使えるんだね
昔はMacなんて置いてけぼりだったのに便利な時代になったなぁ
479nobodyさん:2005/10/12(水) 18:11:38 ID:???
オブジェクト指向的にSQLを組み立てられるソリューションをどなたか知りませんか?
分散DBにしたいので、DBアクセス部分はこっちで書こうと思っています。
SQLのみを書いて欲しいのですが、それに機能を限定したものが
なかなか見つかりません。
480nobodyさん:2005/10/12(水) 23:10:35 ID:???
PHPで最適なフレームワークはなに?
481nobodyさん:2005/10/12(水) 23:23:10 ID:???
一長一短で、定番はないよ。
482nobodyさん:2005/10/13(木) 09:49:24 ID:???
長所短所を比較しているところってないですか?
483nobodyさん:2005/10/14(金) 04:53:33 ID:???
>>476
いやいやわかってないってw
484nobodyさん:2005/10/14(金) 07:20:42 ID:???

分からないのはむしろ君の頭の中だが…。
そもそもがセッターゲッターの話じゃないわけで。
Mojaviを実際に使ったことあるかい?
485nobodyさん:2005/10/14(金) 07:52:01 ID:???
>>475>>483はほっとけ
スルーしてりゃ消えるでしょ
486nobodyさん:2005/10/14(金) 11:51:40 ID:???
この板の人達はスルーすることを知らない
487nobodyさん:2005/10/14(金) 13:55:39 ID:???
技術者だから基本まじめなんだよ。
だいたいフレームワークスレで煽る意味が分からない…。
488nobodyさん:2005/10/15(土) 13:24:45 ID:???
>>487
煽る→怒った奴の中に自称女が現れる→女と証明してみろブサイコと煽る
→怒った女は、オッパイやパンツ写真をUP→みんな素人エロ画像にマッタリ
489nobodyさん:2005/10/15(土) 16:04:32 ID:???
>>488
うむ、とても平和な流れだ。
その流れを、このスレに当てはめるとどうなるんだろう。
490nobodyさん:2005/10/15(土) 23:57:37 ID:???
ここPHPのフレームワークスレだよね。。。

いま作ってるんだけど、需要あるのかなぁ。
491nobodyさん:2005/10/16(日) 16:16:44 ID:???
>>490
既存のフレームワークより優れた点があるのなら
492nobodyさん:2005/10/16(日) 16:30:50 ID:???
既存フレームワークも大分広まってるから
あまりにも独自だと、
学習コストが比較的高くなって普及しないかもね。
かなり戦略的でないとこれから普及されるのは難しいと思う。
493nobodyさん:2005/10/17(月) 01:25:22 ID:???
>>492
今ある奴で開発がとまり気味のものとか、今あるものをベースに
進化させてくれるひとがいたら結構いいと思うけどな
494nobodyさん:2005/10/17(月) 01:40:18 ID:???
またforkふえるのか!
agaviかmojavi4に統一しようよもう。
495490:2005/10/19(水) 19:41:56 ID:???
どうも490です。

今作成してるのはHTMLテンプレートをベースにF/W的なことをやろうって
感じで実装しています。

機能としてはテンプレート>PHPの置き換えのオーバーヘッドを少なくするために
中間コードをキャッシュさせる機構や、携帯電話の絵文字変換(キャリア相互変換)、
標準で使えるDBラッパー(MySQL.PostgreSQL,Oracle,SQLite)等です。

基本的には汎用クラスで動くように作ってあります。
といっても画面に出力するためにコントローラが必要ですが。

プログラム自体の実装は1クラス1モジュール扱いで、テンプレートから呼び出す
メソッドがコントロールメソッドでその中で他のメソッドを呼び出すのが
モデルメソッドみたいな感じです。んで、HTMLテンプレートがViewです。
たぶんMVC的構造になっています。

クラス実装する前のスケルトン自動生成機能なんかもつけようかと
思ってます。

テンプレート中のタグ類は専用タグを使い
条件設定(ifに相当するorやandも可とその逆の動作)タグや、
プログラムに渡すオプション値タグ、繰り返し(ループ)タグ、
絵文字変換タグなんかを組み合わせてViewを書くといった感じです。

496nobodyさん:2005/10/19(水) 19:59:15 ID:???
>>495
DBラッパーはPDO以上なん?
HTMLテンプレートはSmarty以上なん?
497nobodyさん:2005/10/19(水) 21:33:26 ID:???
今からだとDB抽象クラスはPDOで十分だと思うけど
テンプレートは Smarty 以上である必要なんてないじゃん。
(そもそも何をもって「Smarty以上」とするのか)
Smarty は高機能で普及もしてるけど個人的には良いとは思わないし。

テンプレートエンジンとフレームワークが密に連携するってのも面白いと思うよ。
携帯絵文字は Vodafone のエスケープシーケンス使う奴がウザいね。
DoCoMo や EZweb の絵文字は比較的扱いやすいんだけど。
498nobodyさん:2005/10/19(水) 22:21:53 ID:???
絵文字変換なんていいんじゃない?
そういうアプローチのフレームワークはまだないし
499nobodyさん:2005/10/19(水) 22:58:41 ID:???
>>498
絵文字変換だけならフィルターとか掛けてやるだけじゃん
500nobodyさん:2005/10/19(水) 23:18:29 ID:???
>>499
絵文字はSJISでテンプレートとかDBはEUCJP推奨だから、特にsmarty使うとき色々面倒
501nobodyさん:2005/10/19(水) 23:35:39 ID:???
iMode/EZwebの絵文字はSJISの私用領域を使ってて、PHPならSJIS-win/eucJP-win/UTF-8 で相互変換可能。
端末が表示できるのはSJIS(-win)だけだけど、ちゃんと変換してやれば途中の処理を eucJP-win/UTF-8 でやっても大丈夫。
あと最近はUTF-8でも(EUCは知らない)携帯キャリアのゲートウェイがSJISに直してくれるっぽい。

とりあえず基本的な絵文字が見られればいいってことなら、EZweb/Vodafoneの絵文字を
iModeの絵文字に変換しておくのがいちばん簡単かな?
iMode絵文字なら他のキャリアでもゲートウェイが端末に応じた絵文字に変換してくれるし。
502nobodyさん:2005/10/20(木) 03:09:08 ID:???
>>500
smartyを使いこなせていない予感。
503500:2005/10/20(木) 03:16:14 ID:???
>>502
むしろ使うためにsmartyをハックした
504nobodyさん:2005/10/20(木) 11:28:03 ID:???
>>503
スーパーハッカーこわー
505nobodyさん:2005/10/20(木) 20:20:44 ID:???
絵文字変換なんかまさにフィルターの仕事。
506nobodyさん:2005/10/22(土) 00:38:22 ID:???
ドコモの絵文字をDBに入れるときどうすればいいの?
EUCに変換したら消えちゃうよね?
DBをSJISにするの?
507nobodyさん:2005/10/22(土) 02:52:18 ID:???
http://itpro.nikkeibp.co.jp/article/USNEWS/20051021/223249/

Zendが「Zend PHP Framework」なるものを作ってるとのこと。
最終的にはこれに収斂されるのかな。
508nobodyさん:2005/10/22(土) 10:02:06 ID:???
>>506
絵文字を入れたいタプルをBLOB型に設定してBINARYフラグを有効にする
509nobodyさん:2005/10/22(土) 14:03:08 ID:???
>>508
そんなことしてオーバーヘッド大丈夫なの?
少量ならそりゃ大丈夫だろうけど、全文検査とかどうよ?
postgresqlのsjisパッチあてるとかは?
510nobodyさん:2005/10/22(土) 18:35:14 ID:???
>>506
俺は文字参照に変換してる。
511nobodyさん:2005/10/22(土) 20:53:13 ID:???
CakePHPのソースを漫然と眺めていたんだけど、その語尾の特殊変化の設定ファイルに
penisとtestisがあったよ。これで下品なソースでも安心だね。アダルトサイトにも最適。

でもこれいいわ。なんて言うか、流れに身を任せればとても楽。コンパクトだから見通しもいい。
それにやっぱり死にかけのプロジェクトよりも生きのいい方がいいしね。
512nobodyさん:2005/10/23(日) 02:30:29 ID:???
>>511
>語尾の特殊変化の設定ファイル
なにそれ
513nobodyさん:2005/10/23(日) 02:34:17 ID:???
>>510
?xA0; みたいなやつ?
他キャリアのつもみんなドコモのやつに置き換えるの?

てか、フレームワークすれでこんなこと聞いてすまん。

514nobodyさん:2005/10/23(日) 06:55:11 ID:???
cake
515nobodyさん:2005/10/23(日) 16:59:56 ID:???
>>512
cakeはRails系なので、規約は設定に勝るっていう哲学で作られてる。
たとえば、Userというモデルが対応するテーブルはUsers決め打ちになる。
だから、特殊な場合の変化形を自前でもっとく必要がある。

もちろん、大抵の規約は上書きすることができるけど、それだとcakeの意味がないしね。
516nobodyさん:2005/10/23(日) 20:58:51 ID:???
>>507
JavaのJakartaプロジェクトみたいなものかな。
今後の標準になるようなものを作って欲しいなぁ。
517nobodyさん:2005/10/23(日) 21:58:24 ID:???
>>516
Zend自身が乗り出してるから標準を目指してるんだろうね
これをふまえて今の草の根フレームワークはどう動くんだろ?
Mojavi4は完成するのか…
518nobodyさん:2005/10/23(日) 23:50:08 ID:???
>>517
Zendはどうせ金になるエンタープライズ領域しか目に入っていないだろうから
既存のフレームワークとは競合しないような予感。
あとは、ZendStudio必須とか、余計なことしちゃいそう。

519nobodyさん:2005/10/24(月) 00:45:36 ID:???
>>518
たしかに余計なことしちゃいそう
よく考えるとZend提供のPHP関連サービスに
いい評判はあまりないもんなぁ。
520nobodyさん:2005/10/24(月) 03:51:45 ID:???
http://www.symfony-project.com/
mojavi + rails = symfony

てか、もう迷うのも面倒なんで
そろそろ定番出てきてホスィ…
521nobodyさん:2005/10/24(月) 04:36:42 ID:???
定番を望むのもわかるけど、
何でもできる=どれも中途半端な性能
てことが往々にしてあるので、すきなの見つけて自分で
進化させていくのがいいかも。
できればsourceforgeとかつかってw
522nobodyさん:2005/10/24(月) 15:04:10 ID:???
Zend PHP Framework
あれどうなってんの?
523nobodyさん:2005/10/24(月) 15:04:59 ID:???
>>519
Smartyとか?
524nobodyさん:2005/10/25(火) 10:38:07 ID:???
SmartyってZend発?
525nobodyさん:2005/10/25(火) 12:33:45 ID:???
違うと思う
526nobodyさん:2005/10/25(火) 22:39:29 ID:???
まぁZendの事だから、期待出来ないな。

今までノータッチだったけど、Ethnaって良さそうだなぁと思い、
本家のML見て見てみたら、ら○じぃがいるじゃねぇかよ。
あいつ嫌いなんだよな・・・。
坊主憎けりゃ・・・じゃないけど、なんかEthnaやだなぁ・・・。
藤本神は好きなんだけどなぁ・・・。
527nobodyさん:2005/10/25(火) 23:01:50 ID:???
そんなこと言うもんじゃありません
528nobodyさん:2005/10/25(火) 23:04:45 ID:???
http://netevil.org/node.php?nid=633
アクレコキタコレ
529nobodyさん:2005/10/26(水) 07:10:19 ID:???
ZendのFrameworkはお布施用にきまってるだろ
530nobodyさん:2005/10/26(水) 08:56:51 ID:???
いやフレームワークでは金は取らないじゃないか?
531そりゃないか:2005/10/26(水) 09:23:36 ID:???
Zend Framework Lite 無料
Zend Framework Enterprise    有料
532nobodyさん:2005/10/26(水) 14:00:18 ID:???
DB周りのコンポーネントとか有料かもな
533nobodyさん:2005/10/27(木) 03:34:49 ID:???
Zend Studioお布施済みの俺としては、Studio対応で無問題。
534nobodyさん:2005/10/28(金) 21:50:40 ID:geHxPjMK
Mojaviで
モバイル/PCの分岐はどこでどんなふうにやってる?
535nobodyさん:2005/10/29(土) 01:43:09 ID:???
>>534
やったことないけど、フィルタでforward分けしたらいいんじゃない?
536nobodyさん:2005/10/29(土) 02:16:56 ID:???
>>534
なにを目的として分岐をするかによる。
機能を分けたいならActionを分けるだろうし、
表示を分けたいだけならViewだろう。
537nobodyさん:2005/10/29(土) 13:30:02 ID:???
Mojaviのフィルタって好きなだけ作れるけど
プリフィルタしか使わない場合とかポストフィルタしか
使わない場合とかってある?
538nobodyさん:2005/10/29(土) 23:44:53 ID:???
それはよくあるでしょ。
539nobodyさん:2005/10/30(日) 11:03:38 ID:???
540nobodyさん:2005/10/30(日) 11:22:35 ID:???
>>539
541nobodyさん:2005/11/01(火) 22:33:59 ID:???
php5のひとはどのフレームワークつかってんの

agaviとか?
542nobodyさん:2005/11/01(火) 23:23:56 ID:D/XKY8a/
Mojavi3を使っているんだけど、
複数のActionから共通のViewを呼び出すにはどうするのが綺麗なやりかただろう?
543nobodyさん:2005/11/01(火) 23:39:42 ID:???
>>542
Actionでarrayかえせばええやん
544nobodyさん:2005/11/02(水) 01:36:57 ID:???
MojaviはActionとViewが
イチイチで対応してるからどうやってもトリッキーになりそうだな。
俺はViewを分けるほどのことないだろと思ってオリフレ作ったけど。
ViewHelperの仕込みとか結構ごちゃつくから分けてもよかったかもと
思ったりもする。
545nobodyさん:2005/11/02(水) 01:46:12 ID:???
>>544
日本語変。
546nobodyさん:2005/11/02(水) 18:54:03 ID:???
>>543
ActionでArrayをかえすってどういう具体的にどうすること?
547nobodyさん:2005/11/03(木) 02:43:18 ID:???
*** すべてのPHPユーザーに告ぐ ***

http://www.hardened-php.net/advisory_202005.79.html
http://www.hardened-php.net/globals-problem
http://blog.ohgaki.net/index.php/yohgaki/2005/11/02/phpa_rc_fei_a_oa_oa_fa_sa_le_acsa_oe_afp

PHPに深刻な脆弱性がある事が発表されました。今まで見つかったPHPの脆弱性の中でも「最悪」の脆弱性です。全てのPHPユーザは今すぐ対処を行う必要があります。
548nobodyさん:2005/11/03(木) 12:11:06 ID:???
>>546
俺も意味が分からなかった
549nobodyさん:2005/11/03(木) 13:09:55 ID:???
>>546
Mojavi3ではActionの戻り値として、
第一要素がモジュール名第二要素がビュー名の配列をかえすことによって、
遷移先を指定できる。
550nobodyさん:2005/11/03(木) 16:33:22 ID:???
>>549
そうなんだ
そりゃ便利だね
551nobodyさん:2005/11/04(金) 23:32:52 ID:???
テンプレートエンジンをSmarty-lightにしてる人いる?
Smartyとほとんど変わらず使えて、しかも軽くなるなら、
結構お得だと思うけどどうなんだろう。
552nobodyさん:2005/11/05(土) 00:49:33 ID:???
おいagavi使ってるやついるか
553nobodyさん:2005/11/05(土) 02:20:18 ID:???
10分で作るCakePHPアプリ for Windows - p4life
http://p4life.jp/cake/

cakeってここまでやってくれるのか・・・
554nobodyさん:2005/11/05(土) 21:01:35 ID:???
>>553
それだけ見ると Rails と変わらないよね
555nobodyさん:2005/11/05(土) 21:21:51 ID:???
簡単すぎて不安になるな
鯖一つで収まるようなシンプルなアプリにはかなり最強かも…
556nobodyさん:2005/11/05(土) 21:37:15 ID:???
つーか、rubyの勢いはマジですごい。
557nobodyさん:2005/11/05(土) 21:47:05 ID:???
海外の連中はそのうち業を煮やして、Rails 用の Ruby を
fork させそうな勢いだよな。

558nobodyさん:2005/11/05(土) 21:49:19 ID:???
ワロスww
559nobodyさん:2005/11/05(土) 23:42:35 ID:???
EthnaでPEAR::DBじゃなくてADODBって使えるのかな?
560nobodyさん:2005/11/05(土) 23:55:13 ID:???
>>559
Ethna 専用スレがあるよ

【PHPフレームワーク】Ethna【スケルトン自動作成】
http://pc8.2ch.net/test/read.cgi/php/1123070439/l50
561nobodyさん:2005/11/05(土) 23:59:23 ID:???
>>560
お、サンクス。
ちょうどその辺りの話題のレスがあるね。
562nobodyさん:2005/11/06(日) 01:02:45 ID:1KuwxXQW
S2PHP使ってる方いますか?
どんな感じでしょう。
563nobodyさん:2005/11/06(日) 11:37:34 ID:???
>>562
流石に仕事に使ってる人はいないだろうね。
触った感じは面白いよ。上の方に出てたpokフレとして。
まぁ当然まだまだなんだけど、将来はかなり楽しみ。
564nobodyさん:2005/11/06(日) 12:29:44 ID:???
Mojaviの
index.php/param/value/param/value
形式のURIってmod_rewriteとの併用前提なんだね。
間にindex.phpがまるだしでダセーURLになるなーとオモッテタ…
565nobodyさん:2005/11/06(日) 16:28:01 ID:???
>>564
ソースは?
566nobodyさん:2005/11/06(日) 19:17:49 ID:???
>>564
mod_rewrite使わなくても、index.phpに相当するファイルをForceTypeしちゃえばいいと思うよ。
567nobodyさん:2005/11/06(日) 22:26:13 ID:???
>>564
別に mod_rewrite 前提ってわけじゃないっしょ。
568564:2005/11/07(月) 05:38:11 ID:???
>>565
そうじゃないかな?と思っただけでソースはないよ

>>566
(入口)http://hoge.com/page/0/items/10
(出口)http://hoge.com/index.php/page/0/items/10

これをForthTypeでやるにはどうすればいいの?
考えてもいまいち分からなかった

>>567
まあ検索エンジン対策という意味では
index.phpがあってもなくても関係ないからなぁ
569nobodyさん:2005/11/07(月) 10:02:24 ID:???
path_info形式にすると
ブラウザがドキュメントURLを誤認識するのが面倒くさいね
リンク全部絶対URLにしなきゃならんのか。
570nobodyさん:2005/11/07(月) 10:39:05 ID:???
>>564
(入口)http://example.com/page/0/items/10
(出口)http://example.com/index.php/page/0/items/10
は無理だけど、
mv index.php hogehogeして、
(入口)http://example.com/hogehoge/page/0/items/10
ならどうよ?
571nobodyさん:2005/11/08(火) 00:44:57 ID:???
PHPプログラマーズマガジンで Seagull ってのが紹介されてるね。
立ち読みしか読んでないけど。

これ、フレームワーク? CMS?
572nobodyさん:2005/11/08(火) 03:42:16 ID:???
>>570
さんくす。
よくよく考えたら、mod_rewriteでindex.phpを無条件にはさむと、
他のファイルへのアクセスに支障が出るから、
そういう方法しかないかもしれない。
573nobodyさん:2005/11/09(水) 02:42:24 ID:???
http://longinus.org/src/summer2/reference/index.html

初めて見たんだけど、これの中ちゃんと読んだことある人いる?
574nobodyさん:2005/11/09(水) 09:10:03 ID:???
>>573
ぱっと見Mojavi系と似てるね
デフォルト拡張子がincなのはセキュリティー上
推奨できないと思う
575nobodyさん:2005/11/09(水) 09:21:44 ID:???
フレームワーク大杉
576nobodyさん:2005/11/12(土) 16:50:24 ID:???
Synfony勢いとかサイトのクオリティーで抜きん出てる気がする
これからはこれか?
577nobodyさん:2005/11/12(土) 17:07:53 ID:???
Symfonyのムービー見たらテンプレートにphp生書きで、
しかもテンプレート中から$user->getAttribute()とか平気でしてる。
最近Smartyみたいなテンプレートエンジンの
意義みたいなものに疑問を感じてきた俺には示唆的だった。
実際テンプレートエンジンから
独自文法の解釈外したら馬鹿みたいに短いコードで書けるんだよね。
もともとPHPはob_系関数があってキャッシュの実装なんかも
やろうと思えばすぐ出来る環境だし。
578nobodyさん:2005/11/13(日) 01:22:28 ID:???
デザイナーにはHTMLを触らせず、cssだけいじらせる時代になってしまえ
579sage:2005/11/13(日) 08:33:59 ID:nNKS4KNy
>>578
当方デザイナ(つーかコーダかな)ですが、それ大いに賛成です。
開発者からページに掲載するデータの定義だけ教わって
あとはxhtml&cssと格闘するみたいな。
もしくはxhtmlの出力フォーマットだけもらってもいいや。

tableタグ使ったレイアウトに決別すると、
どうしてもそういう方向になってくる気がします。
580nobodyさん:2005/11/13(日) 09:24:35 ID:???
もう一歩進んでhtml作るときにtdiary互換のcssを参照するようになったりしたら、
webデザイナーの仕事が減っちゃうかもしれないよ?

でも、むしろその方が本来のグラフィックデザインの実力で勝負できていいのかな。
581nobodyさん:2005/11/13(日) 17:30:56 ID:???
おまいの作るhtmlは、えらく目的が限定されとるな。
582nobodyさん:2005/11/14(月) 02:43:58 ID:???
php5なんだけど、何がおすすめ?
583nobodyさん:2005/11/14(月) 11:50:11 ID:???
これは既出?
ttp://www.pm9.com/newpm9/itbiz/php/framework/

何でもいいがFirefoxでもちゃんと見れるように作ってよ・・・orz
584nobodyさん:2005/11/14(月) 12:29:09 ID:???
ドキュメントとかしっかりしてるみたいだけど,
商用ライセンスってのが・・・
585nobodyさん:2005/11/14(月) 14:49:17 ID:???
>>583
■クラスタリング
高負荷サイトの為のWebサーバ、DBサーバの並列化に対応しています。

これが気になるなー
ちょっと見てみようかな
586nobodyさん:2005/11/14(月) 21:59:02 ID:???
>580
tdiary互換のcssって...なんでtdiaryなの?
587nobodyさん:2005/11/15(火) 01:06:37 ID:???
tDiaryのテーマを変えて喜んでるだけの厨房だから
588nobodyさん:2005/11/17(木) 09:26:30 ID:???
mojavi2ってsession_destroyは手動でやるしかない?
589nobodyさん:2005/11/19(土) 15:36:29 ID:???
Symfony見たらActionにショートカット用メソッド
(getRequestParameterとか)付けてたから俺もそうした。
何か綺麗さが損なわれるような気がしてヤセ我慢してたけど。
590nobodyさん:2005/11/21(月) 03:01:02 ID:???
mojaviを勉強しはじめました。
参考になるソースを見ようかなと思うのですが、お勧めのオープンソースなものって
ありませんか?

できればmojavi2系
できれば、smartyとかadodbとか使ってたり
携帯の処理なんて書いてあるとさらに素敵です。
591nobodyさん:2005/11/21(月) 22:25:36 ID:???
cakePHPってデータベース絡みには結構よさげだけど認証や権限関連が弱いな
592nobodyさん:2005/11/21(月) 23:12:08 ID:???
mojaviでFPDF使っている人いる?
なんかIEで表示されないんだけど、原因は何?
593nobodyさん:2005/11/21(月) 23:14:05 ID:???
>>592
あんたもか!漏れもだわ。
594nobodyさん:2005/11/22(火) 00:24:11 ID:???
>>592
あぁ、それIEのバグ
対処法はいくつかあるけど
595nobody:2005/11/22(火) 12:19:16 ID:???
mojaviの外に出たら、うまくいった。
596nobodyさん:2005/11/22(火) 12:52:15 ID:???
view_noneじゃなくてexitすると動くことがある
597nobodyさん:2005/11/22(火) 16:52:59 ID:???
>>591
Controller の beforeFilter と PEAR::Auth を組み合わせればカンタン。
aclがいらないなら5行もあればできる。

でも、組込み認証の是非に関する議論は一応やってたと思う。
個人的にはこれ以上Controllerは太らないで欲しいんだけど...
598nobodyさん:2005/11/22(火) 19:29:40 ID:???
>>597
早とちりかな?
認証はともかくとして、権限をどうやってPEAR::AUTHで簡単に?
五行のコード載せてみて
599nobodyさん:2005/11/22(火) 20:31:33 ID:???
> aclがいらないなら

acl = 権限ジャマイカ?
600nobodyさん:2005/11/22(火) 20:39:40 ID:???
>>594
対処法キボンヌ
601nobodyさん:2005/11/23(水) 15:11:58 ID:???
>>598
権限 = acl のつもりだったんだけど、どうしてもAclが欲しいなら今でもMyAclを使える。
うろ覚えで書くとたとえばこんな感じのメソッドをAppControllerにでも追加すればいいはず。
beforeFilterに_aclCheck、componentsにはMyAclを追加してね。

function _aclCheck(){
$this->auth =& new Auth(...);
$this->auth->start();
if(!$this->MyAcl->check($auth->getUserName(),
$this->params["controller"]."/".$this->params["action"]))
$this->_permFailed();
}

たぶんこのままでは動かんと思うけど、流れは大体こんな感じ。
権限不足画面などのViewを含めると5行はハッタリだったね、慌てさせてごめんよ。
nightlyにはさらに高機能なdbAclもあるらしい。
602nobodyさん:2005/11/24(木) 22:26:05 ID:???
agavi で DBに接続したんですけど、下記
$db = $this->getContext()->getDatabaseManager()->getDatabase()->getConnection();

クエリーを発行するにはどうしますか。
MySQLDatabase.class.phpにはメンバー関数がないようだし。
603nobodyさん:2005/11/25(金) 14:25:00 ID:???
MVCのModelにあたる部分は、Mojaviで言うとどの部分になるのでしょうか?
actionsでしょうか?

処理の部分をどこに書けばいいのかがわからなくて困っています。

MVCの記事をかなり読んだのですがどの部分がModelなのかちょっとよくわかりませんでした。
604nobodyさん:2005/11/25(金) 14:28:18 ID:???
>>602
よくわからんけどたぶんmysql_queryでやるんじゃん?

>>603
MojaviにModelあるけど
ActionはMVCのC
605nobodyさん:2005/11/25(金) 14:37:14 ID:???
Action内から呼び出す自作またはModelをextendsしたクラスあたりと思っていればよいかと。
606nobodyさん:2005/11/25(金) 15:44:35 ID:???
おいおいお前ら正気か
CってControllerのCじゃないんかよ

ビジネスロジックを担当するんだからActionクラスはModelだろ
それとももっと違う次元の話か?
607nobodyさん:2005/11/25(金) 16:00:45 ID:???
Action内でビジネスロジックを実行する場合はAction=M
Actionから一層掘り下げてModelを呼ぶ場合は
Action=Cになるんじゃないの?
前から思ってたがあまり峻別できない概念だよな。
MVCがお互いを包摂し合ってる部分がある。
音楽のジャンル分けみたいなもんだな。
厳密な区分が最初からあるわけじゃない。
608606:2005/11/25(金) 16:09:51 ID:???
なるほどね
まあ確かにそう使う場合もある罠

もともとWebアプリの世界の話じゃないしな、曖昧になるのは仕方ないというかなって当然
そういう意味ではDBの設計と似てるところがあるかな
MVCにとらわれすぎてクソな実装かますのが一番ダメダメ
つーか実際書き始めるとMVCとか結構どうでもよくなってくる

設計段階での指針程度にとどめておくべきだろうな
609nobodyさん:2005/11/25(金) 16:20:05 ID:???
結論

>>603
MVCとかどうでもいいからまず動くように書いてみろ、話はそれからだ


どうしても気持ち悪ければあとでいくらでもリファクタリングするよろし
その過程でだんだんMVCになることもあればそうでない場合もある

っつーのが本質だと思うんだな俺は。
610nobodyさん:2005/11/25(金) 17:24:45 ID:???
なるほど勉強になりました。
明確な区別はないんですね。

実はもうコーディングをしててformsの下とかviewsの下にもロジックを書いたりしていて
多分違うんだろうなぁ〜と思って聞いてみました。

VIEWを返しているあたりは、action=Cと思ったんですけど、その前に処理を書こうかなと
思います。

formsはどこに当たるかといったら、まぁModelと考えておけばいいですかね。
そういうことがナンセンスなのかもしれませんが。



611nobodyさん:2005/11/25(金) 21:04:56 ID:???
PHP5.1.0リリースだというのに静かなものだね・・・。

俺が思うに、ある程度知識がないとMojavi使いきれないと思うよ。
とりあえずMojaviでいうViewが必要ないフレームワークにしてみたら?
612nobodyさん:2005/11/26(土) 01:25:15 ID:a7zffmpw
mojavi2.0を使っています。

http://www.stackasterisk.jp/tech/php/mojavi02_01.jsp
ここを参考にディレクトリ構造を変えたのですが、
レンタルサーバでhtdocsをベースに指定する事って出来るのでしょうか?

613nobodyさん:2005/11/26(土) 04:50:35 ID:???
そんな解決はできても難しいし、やるべきじゃない方法だよ。
多分、フレームワークの理解を根本的に間違えてるんじゃないかな。
DocumentRootにindex.phpを置いて、外部からアクセス禁止してる箇所にmojaviフォルダとwebappフォルダを置く。
あとはpath調整して動かすんだよ。
614nobodyさん:2005/11/26(土) 08:50:15 ID:???
そうそう
わかんないうちはとかくなにもかもマニュアルの通りにしないといけない、と鵜呑みにしがちだけど、
少し冷静に考えてみるとどうでもいい事なんてたくさんあるぜよ。

つーわけでindex.phpはどんな名前のディレクトリにあろうがブラウザから参照できる位置に置くべし
まーほとんどのレン鯖の場合public_html以下に適当な名前のディレクトリ作ってほりこんでるんでないかね。
615nobodyさん:2005/11/26(土) 10:50:33 ID:???
mojaviで "class IndexAction extends Action"のようにIndexでactionを指定しても
"http://xxx/?module=xxx&action=Index"とわざわざ書かないと
Only variable references should be returned by reference と怒られてしまって困ってます。

環境は
PHP 4.4.1-pl1
mojavi 2.0.3 beta です。
616nobodyさん:2005/11/26(土) 11:21:14 ID:???
それは困りましたね^^;;;;;
617615:2005/11/26(土) 11:41:56 ID:???
すみません、解決しました
618nobodyさん:2005/11/26(土) 12:33:18 ID:2543W0TM
>>617
最近流行ってるね
619nobodyさん:2005/11/26(土) 13:54:07 ID:???
>>618
よくわかったね
620nobodyさん:2005/11/26(土) 14:23:28 ID:???
>>619
スキだからさ
621\_________/:2005/11/26(土) 15:15:03 ID:???
         V
    _____
   /::::::::::::::::::::::::::\                 
  /::::::::::::::::::::::::::::::::::::::\            
  |:::::::::::::::::|_|_|_|_|           
  |;;;;;;;;;;ノ   \,, ,,/ ヽ          
  |::( 6  ー─◎─◎ )         
  |ノ  (∵∴ ( o o)∴)         
/|   <  ∵   3 ∵>         
::::::\  ヽ        ノ\          
:::::::::::::\_____ノ:::::::::::\        
622nobodyさん:2005/11/26(土) 15:36:40 ID:???
PHPでフレームワーク(笑)
623nobodyさん:2005/11/26(土) 20:37:10 ID:???
あなたも技術者の端くれなら何か有用な情報を書き込んでください。
ここはWebプログラミング"技術"の板です。
煽りは必要ないです。
624nobodyさん:2005/11/26(土) 21:19:29 ID:???
>>623
迷惑掛けて申し訳ない
しばらくロムります
625612:2005/11/26(土) 22:44:49 ID:???
>>613,614
レスありがとうございます。
なるほど。アドバイスありがとうございます。

出来るだけアドレスを短くしたいんで
index.phpはDocumentRoot直下に置きたいんです。
でもレンタルサーバを借りているんで、そうするとmojaviフォルダとwebappフォルダも
DocumentRootになってしまうなと思いお聞きしました。

外部からアクセス禁止してるフォルダのあるレンタルサーバってあるのでしょうか?
それとも.htaccessで禁止するしかないでしょうか?
626612:2005/11/27(日) 00:27:09 ID:???
自宅鯖を立てることにしました。ありがとうございました。
627nobodyさん:2005/11/28(月) 02:21:48 ID:???
mojavi3のviewにあるdecorator ってプロパティーはどんないみあるの
6281-627:2005/11/28(月) 10:56:11 ID:???
すみません、全て解決しました。
629nobodyさん:2005/11/28(月) 16:28:05 ID:???
>628
流行ってんの?
630nobodyさん:2005/11/28(月) 17:36:24 ID:???
なあに、かえって免疫力がつく
631nobodyさん:2005/11/30(水) 04:52:05 ID:???
cakephpでADODBって実質使えないな…
selectLimitらへんとか、あの作り方じゃまともな対応期待できそうにないな
632nobodyさん:2005/11/30(水) 17:47:33 ID:yPyLs/p1
>>631
詳しく
633nobodyさん:2005/11/30(水) 17:48:31 ID:???
>>495
これどうなったんだろ
携帯に対応しやすいフレームワークって面白いかと思ったんだけど

Mapleの半角<-->全角とかも日本らしいくて、こっちも携帯とか期待できるのかな
634nobodyさん:2005/11/30(水) 18:21:22 ID:???
>>632
一番てっとりばやいのは、oracle8iとかDB2とか動かすこと。
まともにうごかない。
cakephpのselectLimitのソース見るとわかるけど、adodbの機構一切つかわず
Limit生書き。コメントにも、「adodbがlimit句のsql文取得するためのもの持ってないんで対応できませーん」
みたいなこと書いてある。
635nobodyさん:2005/11/30(水) 22:27:42 ID:???
ほんとだ...

でもこれ、lastInsertId()が単なるプレースホルダーで、呼んだ瞬間にdie()だから、
動かないのは当然だよね? Model::save()で死ぬし(w
wikiのドキュメントにあるadodb対応っていう看板はまだ外しておくべきだな。
636nobodyさん:2005/12/01(木) 13:07:20 ID:???
でもよく考えたら adodb にdbごとの適切なLimit節文字列を返す機構ってあったっけ?
adoのドライバのレベルの話?

AdoConnection::selectLimit() を使えよって話なら、そもそも "to get correct limit string"
するためのものじゃないし、上のレベルのModelはこのために全面改装が必要になるし。
637nobodyさん:2005/12/01(木) 13:12:50 ID:???
関係ないがadodbはReplaceの形でinsertとupdateもできるようにしてくれ。
あとautoquote時に数字もquoteしてくれ。
text型に入れてても000000が0になる。
638nobodyさん:2005/12/01(木) 15:46:10 ID:???
どのフレームワークでもいいんですが、フレームワークを使ったオープンソースな
ソフトってご存じないですか?

639nobodyさん:2005/12/01(木) 15:57:03 ID:???
存じております
640nobodyさん:2005/12/01(木) 16:17:39 ID:???
ttp://www.horde.org/ の IMP や Chora とか。

Mojavi の知りたい。
641nobodyさん:2005/12/01(木) 16:57:05 ID:???
>>636
>でもよく考えたら adodb にdbごとの適切なLimit節文字列を返す機構ってあったっけ?
文字列を返すのはないよ。
適切に実行することはできるけど
642nobodyさん:2005/12/01(木) 21:07:40 ID:???
>>639
存じておりましたら存じているものをここへ書いて下さい
643nobodyさん:2005/12/01(木) 23:21:16 ID:???
quickformでプルダウンメニューの入力チェックしたいんだけど、addruleでやってもうまく機能しません。
何故?
644nobodyさん:2005/12/02(金) 01:43:30 ID:???
BasicSecurityFilter使うと無限forwordループならね〜か?
645nobodyさん:2005/12/02(金) 06:04:33 ID:???
>>642
WaWaWa

>>643
多分書き方がおかしい

>>644
使ったこと無い
646nobodyさん:2005/12/02(金) 07:05:58 ID:???
日経システム構築に、
セキュリティーの観点からは
DB格納の直前にもバリデーション行うべきって書いてた。
確かにそう思うけど、
となるとフレームワーク使った場合、
プレゼンテーション層とビジネスロジック層の
両方でバリデーションすることになるよね。
そのあたりどうしてる?
同じ一つの定義を読むのか、
ビジネスロジック層のバリデーションを簡易的なものにするか…
647nobodyさん:2005/12/02(金) 07:11:52 ID:???
>DB格納の直前にもバリデーション行うべき
なにこれkwsk
648nobodyさん:2005/12/02(金) 07:28:41 ID:???
>>647
普通はだいたい、
フレームワークに用意されたバリデーションをまず行ってから、
そのデータをDAO的なクラスに渡してDBに書き込むじゃん。
DAO的なクラスでも、
一度バリデーションを受けてるはずだからといってデータを信用するのではなく、
そこでも精査すべきだということ。
コードコンプリートでいう
防御的プログラミングというやつだね。
649nobodyさん:2005/12/02(金) 08:58:48 ID:???
>>648
了解
djb的思想だね
650nobodyさん:2005/12/02(金) 10:37:43 ID:???
みんなDAOな作りしてんの?
なんかDAOにしちゃうと、リッチなSQL書けなくならない?
又は、ビジネスロジックがDAOに入っちゃう。

だって、リッチなSQLってビジネスロジック含むじゃない?
651nobodyさん:2005/12/02(金) 14:09:33 ID:???
RDBMSはオブジェクト指向じゃないから。それをオブジェクトで取り出そうとすると、どこかしらに無理が出てくるのはしょうがない。
652nobodyさん:2005/12/02(金) 14:37:00 ID:???
そんなのは前提としてさあ
653nobodyさん:2005/12/02(金) 14:37:10 ID:???
DAOって再利用性けっこう低くない?(スキル低いだけって言われそうだけどorz)
再利用性を高くしようとすると、SQLを直につっこんでもあんま変わらないし。
特定の用途にカスタマイズすると再利用がだんだん難しくなるし。
できる奴はうまいことDAO作ってんのかな?
それともDAOって毎回がんばって作る宿命?
654nobodyさん:2005/12/02(金) 16:01:31 ID:???
>>653
DAOを上手く利用しようとするなら自分独自のクエリーを作ってそれを
各SQLに対応したクエリーに変換するclassを自分で作るしかない。
今の段階のDAOは・・・あまり意味がない。
655nobodyさん:2005/12/02(金) 16:12:42 ID:???
一人で開発してて、手が早いひとならSQLを直に書いたほうがいいんじゃないの。
大規模開発なら、APIを統一しないとやってられないだろうね。
656nobodyさん:2005/12/02(金) 21:18:36 ID:???
mojavi2ってPHP5で動かないの?
657nobodyさん:2005/12/02(金) 21:37:14 ID:???
mojavi3 が PHP5 用。
658nobodyさん:2005/12/02(金) 22:16:38 ID:???
>>657
mojavi3は終了して今mojavi4作ってます。
agaviも0.10 目指してガンガッテます。
659nobodyさん:2005/12/03(土) 02:41:18 ID:???
>>658
Mojavi4進んでなくない?
これじゃagaviと合体する前に消滅の悪寒。
660nobodyさん:2005/12/03(土) 06:50:17 ID:???
シンフォニー力入ってんなぁ。
661nobodyさん:2005/12/03(土) 06:53:47 ID:???
新興フレームワークの方が発展していきそうだね
いずれにしろまだどれも固まってないから実務には使えない…
662nobodyさん:2005/12/03(土) 10:52:29 ID:???
今一番日本語のドキュメントがまとまっているのがEthnaかな?
現在勉強中。
663nobodyさん:2005/12/03(土) 11:44:20 ID:???
maple、DI入ってるからよさそう。EthnaはまだDIないし。
664nobodyさん:2005/12/03(土) 11:45:19 ID:???
まあ、Struts→Ethna Seaser→Mapleっていう構図だよな。
665nobodyさん:2005/12/03(土) 13:18:46 ID:???
>>663
そうだね。
Spring frameworkの紹介記事読んでMapleに興味持ったけど、
フレームワーク初心者にはちとドキュメントが足りない・・・。
後、データアクセス層のサポートがホスィな。
666nobodyさん:2005/12/03(土) 19:53:00 ID:???
EthnaやMapleは絶対にスタンダードにはなり得ない。
Mojaviでギリギリだろ。実質Zendフレームワークのだけじゃね?
EthnaやMapleなんか勉強しても無駄だからやめておけ。
667nobodyさん:2005/12/03(土) 20:18:20 ID:???
>>666
できればその理由なんかも・・・
668nobodyさん:2005/12/03(土) 20:30:55 ID:???
リリースされたZEND謹製フレームワークを見て
ケツから血を流すがいいです
669nobodyさん:2005/12/03(土) 20:46:32 ID:???
kunitタンはEthna,Maple,Seasar PHPと手を広げすぎないで
完成度を高めてほしい、というのはある。どれも中途半端。
670nobodyさん:2005/12/03(土) 21:37:16 ID:???
どっちかっていうとDI/AOPやらRoRやら概念的なことに手を広げすぎているような
あれもこれも取り入れたいってのは分かるんだけどね・・・いつまでたっても完成は出来んわな
671nobodyさん:2005/12/03(土) 23:22:07 ID:???
mojavi2を使用しているのですが、
php4.4.1でエラーが発生する事を今知りました。
もう開発は終わっているとの事ですので、修正される事はないんですよね?

このような点を考慮するとagaviというのを使った方がいいのでしょうか?

レンタルサーバの関係でphp5での使用は考えていません。
mojaviは気に入っていたのでmojavi系が良いと思っています。
672nobodyさん:2005/12/03(土) 23:31:37 ID:???
ソースはあるんだし、修正すればえぇやん
673671:2005/12/03(土) 23:58:35 ID:QwnhGijP
>>672
確かにその通りです。
今回のエラーは修正できますが、割と時間がかかりそうな場合や
自分では修正できないような時を考えてできるだけメンテが活発に行われている
物を使用したいと思ったまでです。
674nobodyさん:2005/12/04(日) 00:14:45 ID:???
どっかにパッチあったよ。
どっかに。
675nobodyさん:2005/12/04(日) 00:34:35 ID:???
676671:2005/12/04(日) 00:50:01 ID:OBVYrvMK
>>675
どうもありがとうございます。
助かりました。
677nobodyさん:2005/12/04(日) 02:19:47 ID:???
>>676
というか、バグがあるからmojaviJapanのエラーの修正入っているやつにしれ
678nobodyさん:2005/12/04(日) 02:25:41 ID:???
ユーザ登録、メール送信、URLのクリックで認証というのをmojavi2でやりたいんですが
そういうコードないですかね
679646:2005/12/04(日) 04:33:57 ID:???
一番嫌なのが巨大なデータをSQLに仕込まれることなので、
データのサイズチェックだけすることにしたよ。
後はサニタイズだけちゃんとしておけば致命的にはならないだろう。
680671:2005/12/04(日) 22:56:24 ID:gXRf3OY+
>>677
そんなのがあるんですか。知りませんでした。
681nobodyさん:2005/12/05(月) 02:11:12 ID:dkL9yz1o
>>666
PHPの言語仕様自体がころころ変わっている最中なのに、
スタンダードなものは作れないと思われ。
でもオレオレフレームワークで好き勝手に作るよりは、上手い人の
エッセンスを流用して作る方がいいと思うので、現時点でマニュアルが
充実してて、開発を放棄されていない奴を選べばいいのでは?
682nobodyさん:2005/12/05(月) 09:12:05 ID:???
>681
そうですね、私は別にスタンダードじゃなくても、使いやすければいいか、と思ったりします。
フレームワーク使い始めるまでは無手勝流でコード書いてたし、いまだにmojavi2使ってるし。

また新しいのがでてた。
XOAD
http://www.xoad.org/
683nobodyさん:2005/12/05(月) 12:48:08 ID:???
フレームワーク祭りだなほんまに
決め手にかけるところがPHPらしいというかなんというか・・・
684nobodyさん:2005/12/05(月) 16:13:57 ID:???
Mjavi2が主流ですか? それともEthnaやMapleですか? おすすめ教えて
685nobodyさん:2005/12/05(月) 16:17:35 ID:dKNEsuCU
>>684
個人的には maple。
もっとも、そのままじゃ実用に耐えないからかなり改造して使ってるが。
686nobodyさん:2005/12/05(月) 16:20:36 ID:???
俺は大したもん作らないからguessworkの自主改造版ぐらいで丁度いい。
687nobodyさん:2005/12/05(月) 16:20:50 ID:???
>>685
ありがとう。Mapleは実用に耐えられないわけですね。 やはりMojavi2かな。
688nobodyさん:2005/12/05(月) 16:21:48 ID:???
>>686
ありがとう。guesswork ってののあるわけですか・・・。 guessworkはいいですか?
689nobodyさん:2005/12/05(月) 16:22:28 ID:???
M2も結構手入れしないといけないから
グチャグチャになりがち
690nobodyさん:2005/12/05(月) 16:27:15 ID:???
>>688
guessworkはvalidatorが貧弱だったりするからその辺を補完して、認証とかサイト毎に
必要な機能を付ければ俺的には充分。
作成するファイルが少ないってのも俺好み。
691nobodyさん:2005/12/05(月) 16:37:22 ID:???
PHP5用のguessworkは結構期待してるんだが
なかなか出ないね
692nobodyさん:2005/12/05(月) 16:43:21 ID:???
mojavi2ってPHP4用ですよね?
一応ご確認あれ>>684

日本語の資料が一番まとまってそうなのは速構Web Frameworkかな?
ttp://www.pm9.com/newpm9/itbiz/php/framework/
但し有料。

次点はEthnaじゃなかろうか?
http://ethna.jp/

693nobodyさん:2005/12/05(月) 16:45:27 ID:???
つーかガキじゃないんだから日本語の資料とかいらんでしょ?
英語でも読めて当然だろ、普通のSEなら大学ぐらい出てるんだからさ。
694nobodyさん:2005/12/05(月) 16:55:24 ID:???
>>690
guesswork素敵でつた。 補完したのコッソリ下さい。 
695nobodyさん:2005/12/05(月) 16:59:09 ID:???
「このフレームワークを選ぶ理由は何ですか?」
つー質問に答えなきゃいけない立場の人は大変だろうねぇ。
696nobodyさん:2005/12/05(月) 17:12:31 ID:???
>>693
なにいきり立ってんの?
日本語の資料の充実度っていう軸でみてなんか不都合でも?
697nobodyさん:2005/12/05(月) 17:14:56 ID:???
>>696
たとえばメンテナの数や、たとえばコーディングのしやすさ
先に見るべき場所がほかにあるでしょ。
日本語マニュアルなんて、あればいいな程度のものを最初に持ってくる神経を疑う。
698nobodyさん:2005/12/05(月) 17:22:54 ID:???
>>697
まあそうだけど、フレームワークの概念自体を勉強したいっていうニーズだって
あっていいでしょ?
自分がプロのSEだからって視野が狭すぎ。
>>684が学生か社会人かもわからんだろうに。
699698:2005/12/05(月) 17:25:34 ID:???
あ、でも貴方の意見には全面的に賛成なんで、プロの目からみたお勧め教えて。
700nobodyさん:2005/12/05(月) 17:33:00 ID:???
理解するためのコストが高いと
取り組むリスクが大きくなるから
日本語資料があるに越したことはないね。
701nobodyさん:2005/12/05(月) 17:34:02 ID:???
>>699
俺が使ってるのはmojavi系。正確には2.00にパッチ当てたりして少しだけ拡張した奴。
メンテナの数が違う…が2,3,4,agaviとメンテナが分離気味なので動向を見守っているところ。
ことフレームワークなどに関しては、勝ち馬に乗るべきだと思ってる。
俺もメンテナが多いのが生まれたらそれに乗り換える。

ただ残念なのは、そうやってフレームワークが普及しても思ったよりネットでのコード共有が進まなかったこと。
みんな自分の書いたものは見せずに、他人のものばかり見たがる。俺もだがw
702nobodyさん:2005/12/05(月) 17:34:38 ID:???
英語の出来ない部下を持つ身としては、日本語資料は必須。
703nobodyさん:2005/12/05(月) 17:38:15 ID:???
言い方キツかったのは謝るよ。
すまないね。

>>702
それ結構悲惨だな…でもサンプルコードあったら理解してくれない?
PEARとでも英語しかマニュアル無いもの結構あるけど、どうするんだよ。
704nobodyさん:2005/12/05(月) 17:43:02 ID:???
>>703
サンプルを用意してあげて、ケツを蹴る。
705nobodyさん:2005/12/05(月) 17:45:54 ID:???
日本人雇わなきゃいいだけ
706698:2005/12/05(月) 17:55:32 ID:???
>>701
どうもありがとう。参考になります。

mojaviはagaviと統合してから手を出そうかと思ってました。
こちらも英語ができない部下(しかも直属じゃない)がいて、
しかも自分を含めて本職はSEじゃ無かったりします。
なんで、「わからないならソース嫁」と言いたいところですが飲み込むこともありw

でもメンテなの多さは魅力だな。早いうちにmojaviの資料にも当たっておこう。
707nobodyさん:2005/12/05(月) 18:05:20 ID:dKNEsuCU
mojavi はゴチャゴチャしててちょっとなぁ…。
708nobodyさん:2005/12/05(月) 18:24:01 ID:???
>693
うはっw
こういう奴ってまだいるんだw
709nobodyさん:2005/12/05(月) 18:28:40 ID:???
愛して欲しいのさ、本当はね
710nobodyさん:2005/12/05(月) 18:33:47 ID:???
お師様、温もりを…
711nobodyさん:2005/12/05(月) 20:31:13 ID:???
俺もmojavi4を待ってる状態だな。
邪魔になるかなとは思いつつTylerにメールして進捗を聞いたりした
11月の中ごろにはあと2ヶ月くらいで出来るとのことだったがその後音沙汰がないのが心配だw
712nobodyさん:2005/12/05(月) 20:33:12 ID:???
>>707
ごちゃごちゃしてるか?
mojavi2系に限ってならだけどかなりシンプルにまとまってると思うが・・・
713nobodyさん:2005/12/05(月) 20:33:25 ID:???
PHP4はもう置き去りですね・・・
714nobodyさん:2005/12/05(月) 23:03:05 ID:???
PHP4でもPHP5でも使えるやつってある?
715nobodyさん:2005/12/05(月) 23:06:57 ID:???
4.40以降に対応してる奴は多分両方いけるでしょ。
意味無いから試してないけどね。
716nobodyさん:2005/12/06(火) 02:35:30 ID:8b+BGlil
待ってたらいつまで経っても開発できないじゃん
現状ではメジャー技術を参考にしつつ自前開発するしかなさげ
だいたい大きな考え方はどのフレームワークにも共通するしね
717nobodyさん:2005/12/06(火) 09:29:17 ID:???
mojavi3いいよ。
オブジェクトの使い方とか理解しやすい。
718nobodyさん:2005/12/06(火) 12:37:55 ID:???
PHPについて初心者にも良く分かるように説明したサイトありませんか?
書籍の紹介でも構わないのですが。
719nobodyさん:2005/12/06(火) 12:43:24 ID:???
スレ違い
720nobodyさん:2005/12/06(火) 12:45:34 ID:???
721nobodyさん:2005/12/06(火) 13:20:37 ID:???
どうしてこういう事を書けるのかホントに疑問だな>>718
スレタイ読まないのはまあ百歩譲るとして他のレスちょこっと読めばわかるもんだろ普通
722nobodyさん:2005/12/06(火) 15:21:22 ID:???
誤爆しただけです。すみませんでした。
723nobodyさん:2005/12/06(火) 15:27:03 ID:???
あっそう
724nobodyさん:2005/12/06(火) 15:34:12 ID:???
釣ってみただけです。すみませんでした。
725nobodyさん:2005/12/06(火) 15:35:58 ID:???
はいはい
726nobodyさん:2005/12/06(火) 15:40:42 ID:???
727nobodyさん:2005/12/06(火) 15:44:53 ID:???
全て私一人の自作自演です。済みませんでした。
728nobodyさん:2005/12/06(火) 18:30:42 ID:???
>>716
そうやって沢山のフレームワークが出てきているこの現状

開発手伝ってやれや
729nobodyさん:2005/12/06(火) 20:01:58 ID:???
>>653
DAOとO/Rマッピングの区別ついてる?
730nobodyさん:2005/12/06(火) 20:10:08 ID:???
Agaviあたりが一番無難だと思う。
薄っぺらだから、把握するソースも少なくて済むし。
正式リリースはされてないけど、svnは着々と新しいクラスも
作られてる。
至れりつくせりなフレームワークは、いまのところ完成度が
低いものばかりなので。
pradoは完成度的には高いけど、XMLファイルの設定とか
結構面倒。

個人的にはsymfonyに期待してるんだけどね。
731nobodyさん:2005/12/06(火) 22:51:06 ID:???
結局Mojaviですよね
732nobodyさん:2005/12/06(火) 23:32:14 ID:???
あのー、function & getAuthorizationHandler ()

この、& の意味は何ですか?
733nobodyさん:2005/12/06(火) 23:36:36 ID:???
それってフレームワーク関係ないでしょ
734nobodyさん:2005/12/06(火) 23:38:54 ID:???
あのー、じゃあ何ですか?
735nobodyさん:2005/12/06(火) 23:39:38 ID:???
PHPのくだらない質問スレ
736nobodyさん:2005/12/07(水) 00:25:58 ID:???
>>732
山椒だよ。
737nobodyさん:2005/12/07(水) 00:26:56 ID:???
ピリリと辛い
738nobodyさん:2005/12/07(水) 04:47:59 ID:???
フレームワークのControllerを開始するメソッドの名前が
dispatchで、辞書で調べると
「打ち負かす」とか「急送する」とかの意味らしい。
いまいち合ってない気がするけど
何か言われがあるのかな。
executeで良くね?と思うんだが。
739nobodyさん:2005/12/07(水) 04:59:46 ID:???
実際の処理(ビジネスロジック)をする(execute)のはControllerじゃなくてModelだし、
Controllerは単にリクエストを適切なActionへ発送(dispatch)するからじゃね?
740nobodyさん:2005/12/07(水) 05:49:46 ID:???
あーなるほど。
741nobodyさん:2005/12/07(水) 06:05:54 ID:???
dispatchはどっちかというと「割り当てる」って意味だよ。
そこらのフレームワークはStrutsの影響だと思うけど、元々はOSのスケジューラがスレッドをCPUに割り当てるって意味。
MVCフレームワークではリクエストに応じてactionだのviewだのを割り当てるってこと(>>739はその意味で当たってると思う)。
loadなんかも「積む」って意味をこえて、メモリからレジスタにデータを読み込むって意味だったものが、ファイルなどの内容をメモリに読み込むって意味に転じて、果てにはWebサーバからブラウザにデータを読み込むってことにまで使われるようになった例だし。
742nobodyさん:2005/12/07(水) 10:15:56 ID:???
>>736
ありがとう。ピリリと解決。
743nobodyさん:2005/12/07(水) 17:30:53 ID:???
>>730
agavi.jpの更新が完全に止まっちゃってるのが残念だね。
744nobodyさん:2005/12/07(水) 20:43:55 ID:???
最近はここだよ。
翻訳してくれてる。
agaviユーザ多いかな。

http://www.geocities.jp/toyprog/
745nobodyさん:2005/12/07(水) 21:00:25 ID:???
>>744
おお、こんなとこあったんだ。
サンクス。
746nobodyさん:2005/12/07(水) 22:03:43 ID:???
つか、Ajaviは公式が0.9から全然動きが無いな。
747nobodyさん:2005/12/07(水) 22:05:08 ID:???
svnは?
748nobodyさん:2005/12/07(水) 23:01:18 ID:???
>>747
snvでは結構更新あるよ。
749nobodyさん:2005/12/07(水) 23:23:39 ID:???
zend frameworkキタ━━━━(゚∀゚)━━━━━!!!
htp://www.phparch.com/webcasts/recordings/dec0205_zend.php
750nobodyさん:2005/12/07(水) 23:50:26 ID:???
>>749
英語のプレゼンだからサッパリわからんが
PHPをピィチピーと発音することは分かった
751nobodyさん:2005/12/07(水) 23:53:53 ID:???
ははは
もれもそれ思ったよ!これからピィチピーって言おう!
752nobodyさん:2005/12/08(木) 06:40:50 ID:???
>749
これっていつごろできるの?
753nobodyさん:2005/12/08(木) 08:49:04 ID:???
けっこうagaviに似てる気がする
754nobodyさん:2005/12/08(木) 18:17:58 ID:v7tgLnK2
>>741
じゃあdispatchからのforwardってなんなの?
755nobodyさん:2005/12/08(木) 18:25:17 ID:???
>>754
「転送する」とか「回送する」とかの意味があるから、「処理をまわす」と
いう意味合いじゃないの?

つか、ここは英語のスレじゃないんだが。
756nobodyさん:2005/12/08(木) 22:50:03 ID:???
Zendフレームワークっていつリリースか明記してある?
757nobodyさん:2005/12/08(木) 23:13:00 ID:???
±1.5ヶ月でね
758nobodyさん:2005/12/09(金) 12:10:21 ID:???
>>749
プレゼンが下手糞で途中で飽きた。

文章でまとまってるのないの?
759nobodyさん:2005/12/09(金) 12:21:49 ID:???
流行りだからって何でもかんでもPodcastすればいいってもんでもないよね。
テキストなら大事なとこだけ拾い読みできるのに。
760nobodyさん:2005/12/09(金) 12:43:07 ID:???
メディアを云々する前にまずGoogleを覚えようぜ
761nobodyさん:2005/12/09(金) 14:16:53 ID:???
誤爆ですか?
762nobodyさん:2005/12/09(金) 17:59:40 ID:kJFA21a1
Decorator使ってる時にリダイレクトしたら、
サブテンプレート作成中に処理がブチギレるよね。
ポストフィルタでリダイレクトすべきなのか。
そのあたりどうしてる?
763nobodyさん:2005/12/10(土) 14:39:54 ID:???
質問です。

mojavi2でSmartyを使っています。
XOOPSのテーマを使っていてsmartyのデリミタが<{と}>です。
$lblocks = array(array('title' => 'エラー',
'content' => '<div><{$error}></div>'));
$renderer->setAttribute('xoops_lblocks',$lblocks);

すると<がサニタイズされて>に変換されて、html上表示されてしまいます。
サニタイズさせない方法ってあるでしょうか?
764nobodyさん:2005/12/10(土) 19:34:26 ID:???
>>763
$smarty->left_delimiter = '<{';
$smarty->right_delimiter = '}>';

てか、、マニュアル嫁
765nobodyさん:2005/12/10(土) 23:53:59 ID:???
>>764
>>763
>XOOPSのテーマを使っていてsmartyのデリミタが<{と}>です。
とあるように、その設定はXOOPSのテーマを使うために既にしています。
そのために<と>がサニタイズされて困っているんです。

その設定をしなければ、{と}だけで問題ないのです。
テーマ側に<{$error}>と書けば問題ないのですが、setAttributeで渡そうとすると
サニタイズされてしまいます。

766764:2005/12/11(日) 01:36:43 ID:???
>>763
>smartyのデリミタが<{と}>です。
これ読めてなかった… すまん、763
767762:2005/12/11(日) 11:51:35 ID:???
リダイレクト後にexitしてるのが問題だっただけだった。
リダイレクトっていっても
ヘッダに出力するだけで、
処理が止まるわけじゃないんだよな。
768nobodyさん:2005/12/12(月) 19:50:27 ID:???
mojavi3つかってます。

modelで$this->getContext()->getRequest();するのと、
actionで$this->getContext()->getRequest();してモデルに渡すのと
どっちがmvc的に正しいですか?
769nobodyさん:2005/12/12(月) 20:44:06 ID:???
>>768
モデルはコントローラやビューと結合していないのが理想なので、action で
リクエストを取得して、それに応じて model に渡すのがよいと思う。
770nobodyさん:2005/12/12(月) 20:44:31 ID:???
「結合してない」って言い方は悪いな。「疎結合」に言い替える。
771nobodyさん:2005/12/12(月) 20:44:42 ID:???
>>768
前者の方がmodelとactionの結合が疎になりやすい。
772768:2005/12/12(月) 21:33:07 ID:???
どうもありがとうございました。

さっぱりしました。
773nobodyさん:2005/12/12(月) 23:43:46 ID:???
>>769
えええええええええええ?
だったらなんでmodelに
$this->getContext()->getRequest();
できる機能わざわざつけてあるのさ。

actionもMVCのmodelに相当するんじゃないの?
model内で
$this->getContext()->getRequest();とかやって、
actionでgetModelするのが普通だと思うが。

>>772よ。すっきりするのはまだ早い
774nobodyさん:2005/12/12(月) 23:50:24 ID:???
moja3て、Modelがあんだ〜
class HogeModel extends Model って感じ?
775nobodyさん:2005/12/13(火) 00:06:36 ID:???
>>773
> actionもMVCのmodelに相当するんじゃないの?
違うよ。controllerとmodelのアダプタ(アダプタパターンとは別の意味)。
controllerの一部をコマンドパターンとして抽出したとも見れる。
だから本当はactionはビジネスロジックを書くところじゃないんだけど、ロジックもそのまま書けてしまう手軽さは利点であり欠点でもあると思う。
requestをいじるのはcontrollerであるべきだと思うから俺はaction内でgetRequestして、相応のmodelを呼び出す派。
776768:2005/12/13(火) 01:51:59 ID:???
やっぱり、model内で
$this->getContext()->getRequest();
のはなんか気持ち悪い。
777nobodyさん:2005/12/13(火) 01:56:13 ID:???
俺もactionでrequest派。
最初はmodelでやっていたが
そうなると、起点となるactionを見ただけでは
どんなパラメータをいじっているのかが分からず、
流れを把握しにくくなったから。
またリクエストパラメータはどちらかといえば
プレゼンテーション層に属するものなので
プレゼンテーション層であるactionで受け取るのが理にかなっている
とも思う。
バリデーションやコンバートはactionでやってるんだから
ノータッチでmodelに渡していても疎結合とは言えないのでは?
むしろactionで受け取ってmodelに渡すというレイヤパターンにした
方が疎結合といえる気がする。
778nobodyさん:2005/12/13(火) 10:18:09 ID:???
model で request 処理すると,model の unit test がやり辛くなると思う
それって context と request の両方を外部に依存することになるし

action で request を処理しちゃえば model は request の「値」のみに依存することになり
より疎結合になる

# なんてことを周囲に喋ると「日本語喋れ」とか言われる罠w
779nobodyさん:2005/12/13(火) 11:29:59 ID:???
記述が楽=疎結合じゃないんだよね
プロトコルを増やすわけだからむしろ記述は面倒くさくなりがち
780nobodyさん:2005/12/13(火) 14:13:53 ID:???
>>773
フレームワークが許容しているのと、理想的な設計との間には
隔たりがあるってことを理解するべき。

元の質問は
> どっちがmvc的に正しいですか?
‥なので、MVC 的には action に依存しない方が理想だろうね。

>>778 のいう「unit test がやり辛い」ってのは、model がフレームワークと
密接に結合していて使い勝手が悪い証拠。結合度が高いので、再利用しずらい
(再利用する時に、間接的にフレームワークにも依存することになる)。

model と action を分離しておけば、例えば、Web アプリとは別に DB に対する
バッチ処理を PHP で書く必要がでてきた時に model を流用できる。

ただ、理想的な設計が、即座に現場で適用されるべきかというと、それは
また別問題だけどな。
781nobodyさん:2005/12/13(火) 18:51:28 ID:???
>>780
いや、疎結合とかはlib側で考えるもんなんじゃないの?
>フレームワークが許容しているのと、理想的な設計との間には
>隔たりがあるってことを理解するべき。
許容じゃなくて、意図的に実装してるんだとおもうんだけど。
modelは明らかにactionと密接な連携を取るためのものだと思うし。

>model と action を分離しておけば、例えば、Web アプリとは別に DB に対する
>バッチ処理を PHP で書く必要がでてきた時に model を流用できる。
その流用はlibでつくったもののがやりやすいよね。
782nobodyさん:2005/12/13(火) 18:54:29 ID:???
>>777
自分は逆にactionはどんなmodelを使ってるかの道しるべとして使ってるから
流れ把握は全然困らない。てかむしろしやすい。
783nobodyさん:2005/12/13(火) 18:59:51 ID:???
てか、そもそもlibの存在忘れて疎結合とか言ってない?
784nobodyさん:2005/12/13(火) 19:08:07 ID:???
libって何さ、ライブラリ?
785nobodyさん:2005/12/13(火) 19:10:01 ID:???
なにこの流れ。
スゴいお勉強になるんだけお。
786nobodyさん:2005/12/13(火) 19:11:38 ID:???
>>780の言う「許容」ってのはModel内で$this->getContext()->getRequest()できちゃうって話だよね?
>>781と微妙に噛み合ってないみたいだけど。
つーかMojaviに関して言えばContextに一貫性を持たせようとした結果、たまたまModelの中でもRequestが取得できてしまうとも見れると思う。
その意味ではMojaviの欠点の一つかもしれんな。
まあ>>773から反論がない限りはgetRequestはActionでやるべきってのは満場一致でしょ。
その結論に至る思考プロセスが個々人いろいろなのがおもしろいなw
787nobodyさん:2005/12/13(火) 19:18:52 ID:???
>>786
ん?かみ合ってないのか?
>つーかMojaviに関して言えばContextに一貫性を持たせようとした結果、たまたまModelの中でもRequestが取得できてしまうとも見れると思う。
つまり、Requestだけはmodelでやるべきではないってこと?getControllerやgetUserはありで?
だったらかみ合ってないてのはわかるんだけど。

>>784
いや、libはautoloadで定義するやつよ。
こいつにこそ疎結合を求めるもんだとおもうんだけど…
788nobodyさん:2005/12/13(火) 19:21:40 ID:???
>>786
ちなみにlibとmodelはどう区切ってる?
789nobodyさん:2005/12/13(火) 19:34:56 ID:???
M2のactionChainがなくなったのも、デコレータだけじゃなくgetModelが
追加されたからなんだと思うし…
790786:2005/12/13(火) 19:40:45 ID:???
>>787
いや、「かみ合ってない」って言葉が気に障ったなら気にしないでくれ。
疎結合の話に対してではなく、request云々の方で感じたこと。
> 許容じゃなくて、意図的に実装してるんだとおもうんだけど。
の部分ね。

modelとlibのどちらに疎結合を求めるかってのにはノーコメント。
俺の場合はlibにフレームワークのコンポーネントから外れた自分クラスとかは入れないんで。
多くはModelで、あとはSmartyの実装が微妙だったころに改造したViewとか。(最新バージョンがどうなってるのかはチェックしてない)。

> つまり、Requestだけはmodelでやるべきではないってこと?getControllerやgetUserはありで?
まあそういう風に見るとrequestとuserの非対称性が浮き彫りになるが、俺の場合は結果的にはそういう方針でやってるよ。
Modelの中でgetRequestを呼び出すのはせいぜいsetErrorするときだけだな。

>>788
前述の通り、俺的には「区切ってる」っていう感覚ではあまりない。
共通して使うものをlibに入れるだけ。
791nobodyさん:2005/12/13(火) 19:51:24 ID:???
フレームワークだから
ある程度の自由度を残してるのは当然ともいえるし
どっちもアリっちゃアリだな。
792nobodyさん:2005/12/13(火) 19:54:09 ID:???
>>790
なるほど、そういうことね。確かに勘違いだわ。
でも、
>まあそういう風に見るとrequestとuserの非対称性が浮き彫りになるが、俺の場合は結果的にはそういう方針でやってるよ。
getUserもmodel内で使ってるんだ?
ますますわからんくなってきた…

ちなみに
http://forum.mojavi.org/index.php?showtopic=1280&hl=getmodel

ここにあるようなソースはアリなんだよね?
793nobodyさん:2005/12/13(火) 19:56:03 ID:???
context自体を渡すことがおかしいって言ってるのかと勘違いしてた。
794nobodyさん:2005/12/13(火) 19:59:28 ID:???
どっちにしても、自分の場合、actionはアダプタじゃなくてmodelで、
action内が複雑になりそうなときmodelに助けを求めるって感じでやってるから。
例えmodel内でgetRequestしても自然なつもりなんだけどなぁ
795768:2005/12/13(火) 20:11:31 ID:???
じつはagaviでした。
agaviだとみんな食いついてくれないと思ったので.
結果予想以上に皆さんの意見が聞けてよかった。
796nobodyさん:2005/12/13(火) 20:13:34 ID:???
>>792
うーん、そこのソースのマズイ部分ってとりあえずどこ?w
つーかgetUserをModelでやるのっておかしいかな?言われてみると少し迷うな。
ログインの処理をする専用のModelとかそのままsetAuthenticatedしてるのと、あとはaddCredentialみたいなのもModelの中でちらほらやってしまっている。
もろにビジネスロジックかと思うんだが。

>>794
まあどういう風にやっても間違いってことはないと思う。
Actionにビジネスロジックを書いても結果的には「ロジックとデザインの分離」っていう大元の目的は達成されてるわけだし。
797nobodyさん:2005/12/13(火) 20:28:15 ID:???
>>795
みなさんというか、2、3人だと思うけどね。自分含めてw
798nobodyさん:2005/12/13(火) 20:31:02 ID:???
>>797
まーこの板はそういうとこだよなw
799nobodyさん:2005/12/13(火) 20:34:29 ID:???
>>796
>うーん、そこのソースのマズイ部分ってとりあえずどこ?w
その感想自体が答えですw さんきゅw

>ログインの処理をする専用のModelとかそのままsetAuthenticatedしてるのと、あとはaddCredentialみたいなのもModelの中でちらほらやってしまっている。
まぁたしかにgetUserはその辺の機能があるからね。言われれば気持ちはわかる。

ちなみに開発人数はどれくらい?
自分のとこの場合人数が5人で中途半端だから、下手に縛り設けようにもうまく機能しないことが多いんだよね…
フレームワークで許されている権利は使ってよしってことにしてるからってのもあるかも。
800nobodyさん:2005/12/13(火) 20:35:06 ID:???
userをmodelでいじるのは全然おかしくないと思う
つまるところセッションだし。
requestはブラウザから直接送られてくるデータだから、
いきなりmodelにいじらせるには生々しすぎる感じがするな。
801nobodyさん:2005/12/13(火) 20:40:49 ID:???
>>800
いや、それだと話がループする…
802nobodyさん:2005/12/13(火) 20:42:35 ID:???
>>800
そこはmodelで疎結合かどうかの話でしょ?
803nobodyさん:2005/12/13(火) 20:45:33 ID:???
>>800
>requestはブラウザから直接送られてくるデータだから、
おいおい大事なget,setAttributeはどこいった?
804nobodyさん:2005/12/13(火) 20:53:12 ID:???
ひょっとして、getRequest=ブラウザからのデータで話進められてたの?
805nobodyさん:2005/12/13(火) 21:18:59 ID:???
ああ、attribute忘れてたw
内部パラメータとしてのattributeならmodelでいじってもおかしくはないよね
viewに渡すためのコンテナとしてなら、
modelから受け取ってactionでこめこめするのがいいと思う
806nobodyさん:2005/12/13(火) 21:31:18 ID:???
modelでごにょごにょしたものはactionにいくのか?
それともviewか?
807nobodyさん:2005/12/13(火) 21:38:24 ID:???
>>792-793
model に context が渡ってること自体が気に入らない。理由は >>796 の人が
述べてる理由が近いかな。

>>805
attribute も model じゃ触らない。ビジネスロジックはコントローラに封じ込
めるべきってのは大体の人が賛成してくれると思うけど、attribute を
ビジネスロジックに一切関係ない使用例を見たことがない。もしあるなら
示してくれると、すごく嬉しい。

一般的(≒ Java の世界)にはそういう流れになってない?
モデルは POJO (getter/setter だけのオブジェクト) にして、必要に応じて
AOP でDAO や O/R マッピングしなさい、と。
808nobodyさん:2005/12/13(火) 21:51:40 ID:???
Javaとは言語仕様も実際の使われ方も違うのに、StrutsやIBMのホワイトペーパーと無理にあわせてもしょうがない。
809nobodyさん:2005/12/13(火) 21:55:50 ID:???
>>807
>model に context が渡ってること自体が気に入らない。
えぇ?なんで気に入らないのに
>>796の人と同意なの?
根本的におかしいぞそれ。
810nobodyさん:2005/12/13(火) 21:56:59 ID:???
>>807
つまり、>>792のソースもおかしいってことだよね?
811nobodyさん:2005/12/13(火) 21:58:05 ID:???
>>806
actionにいってからviewじゃない?
直接viewにいくのはなんか気持ち悪いな
>>807
Model=POPOなの?
そこまで疎結合にするならModelをextendsする意味がないような…
俺はModel≒ビジネスロジックという認識だった。
812nobodyさん:2005/12/13(火) 22:00:37 ID:???
一般的ではなくm3やagaviで開発する上での話をしているので、
>>807の話はお門違いなわけだが
813nobodyさん:2005/12/13(火) 22:04:25 ID:???
mvc的に正しいのはって聞いてるんだから御門違いじゃないだろう
814nobodyさん:2005/12/13(火) 22:05:40 ID:???
まぁ、お門違いじゃないにしてもおかしなこと言ってるのは確かだな
815nobodyさん:2005/12/13(火) 22:17:24 ID:???
807は
モデルはフレームワーク自体からも疎結合である方がいいって意味だよね。
考え方は分からないでもないけど
そこまで疎にする必要がはたしてあるのか…
そもそもフレームワークを採用する時点で
全面的な依存を選択しているわけで、
モデルだけを疎結合することにどれほどの意味があるのか
816nobodyさん:2005/12/13(火) 22:17:28 ID:???
javaが一般的ってのも今は大分微妙になってるけどなぁ
817nobodyさん:2005/12/13(火) 22:19:09 ID:???
そもそもMVCモデルってそれぞれが密接に関連してるよなぁ
疎を考えるんなら777の言うようにレイヤーパターンで考えたほうが良いと思う
MVCパターンをレイヤーパターンに置き換えると
VCがプレゼンテーション層
Mがドメイン層とデータソース層
それぞれの層は独立していて別の層を知らないのが理想
actionはドメイン層とプレゼンテーション層の中間層かな?
だからactionは
プレゼンテーションからの入力(リクエストパラメータ)を受け取る
ドメインロジックを呼び出す
パラメータをドメインロジックに渡す
ドメインロジックでゴニョゴニョした結果をプレゼンテーションロジックに渡す
こんな流れがいいんじゃないかなぁ
結論、mojaviのModelクラスはイラネ
818nobodyさん:2005/12/13(火) 22:19:56 ID:???
>>815
あぁ、激しく同意…
多分agaviも>>815みたいな思想があってああいう設計になってるんだと思う。
819nobodyさん:2005/12/13(火) 22:23:54 ID:???
>>817
それだとactionがちょっとややこしくなっちゃわない?
820nobodyさん:2005/12/13(火) 22:33:04 ID:???
>>815
>>817
おまいらユニットテストしないんですか?
>>819
むしろすっきりする
actionにロジック書くわけじゃないからね
あくまでAPIを呼び出して使うだけ
mojavi的にはこんな感じ
$id = $request->getParameter('id');
$service = new HogeService();
$hoge = $service->getHoge($id);
$request->setAttribute('hoge', $hoge);
821nobodyさん:2005/12/13(火) 22:34:10 ID:???
>>817
最後の結論だけ良く分からない
Model=ドメインロジックで問題なくね?
822nobodyさん:2005/12/13(火) 22:36:37 ID:???
>>820
autoload.iniが大変なことになりそうだ。
823nobodyさん:2005/12/13(火) 22:49:29 ID:???
>>820
それってデータベースコネクションはどこでどうやって呼出してんの?
824nobodyさん:2005/12/13(火) 23:00:01 ID:???
autoload.iniの項目が多いとやっぱり遅くなるの?
おれはできるだけ使わんやつは消しとるよ。
825nobodyさん:2005/12/13(火) 23:04:08 ID:???
>>821
概念的にはその通りだけど
mojaviのModelクラスに依存したくないという意味でイラネということです

>>822
それすごく悩んだけど
自前のクラスローダーで解決したお

>>823
DB接続用クラスをSingletonで作成してどこからでも呼び出せるようにしてるよ
DB::getConnection()みたいな感じで
といってもどこからでも呼び出してるわけじゃないけどね
826nobodyさん:2005/12/13(火) 23:55:30 ID:???
>>825
なんかもうそれ自分ルールだらけじゃん…
まぁ別にそれが悪いわけではないけど
827nobodyさん:2005/12/13(火) 23:58:11 ID:???
>>825
>自前のクラスローダーで解決したお
それはautoload側をいじったのか、ロード関数みたいなのつくったのか
828nobodyさん:2005/12/14(水) 00:01:27 ID:???
結論
>>825のやってることは、agaviのmodelで解決。
無駄な作業乙
829nobodyさん:2005/12/14(水) 00:34:57 ID:???
もしかしてSingletonModelってクラス?
Singletonごときでなんであんなものに頼らなきゃいけないのか疑問・・・。
しかもグローバルに呼び出しできなくなるし
830nobodyさん:2005/12/14(水) 00:41:56 ID:???
PHPでシングルトンってほぼ無意味だよな。
831nobodyさん:2005/12/14(水) 01:27:53 ID:???
>>830
まあどちらかと言うと、インスタンス2つ以上作ろうとする方が頭どうかしてるもんな。
Controllerとか。
832nobodyさん:2005/12/14(水) 01:43:05 ID:???
>>830
リクエスト毎にオブジェクトが生成->破棄されるという意味では無意味だな。
ログとかDBコネクションとかでは使えるけど、それもグローバル変数に入れとけばいいみたいな。
833nobodyさん:2005/12/14(水) 01:44:31 ID:???
HTTPリクエスト単位で記憶が失われるPHPでは
シングルトンって「グローバル変数のオブジェクト指向版」みたいな意味しかない気がする
実際に役に立つのはDB接続みたいなリソース使いまわしくらいって印象が……
834nobodyさん:2005/12/14(水) 01:46:05 ID:???
>>824
クラスが必要なときのみ読みこむようにその設定があるんだし、そんなに気にしなくてもいいのでは。
まぁ少ないほうが早いに決まってるけど。
835nobodyさん:2005/12/14(水) 03:49:22 ID:???
>>825=>817
そこまで行くとMojaviの理念から外れてるし、それはもうmojaviから派生した>817のフレームワークであって、
とても「mojaviを使っている」とはいえないと思うが。
なのでmojavi(agavi)でMVCどうやるのか(requestをどう扱うか)っていう話においては参考にならない。

>>820
も同様
ただ、ユニットテストはMojaviの致命的な欠点だとおもう。

本題の"request"の扱いについてはModelはControllerを知るべきではない、
そして"request"はControllerである。よって"request"は"Model"で扱うべきではない。
とおもうが。

実際はModelでしかたなくrequest呼び出したことありますごめんなさい。
設計が悪かった。反省してます。
836nobodyさん:2005/12/14(水) 06:37:08 ID:???
オブジェクトの依存性の話なのか設計上の規約も含めるのか判らん
837nobodyさん:2005/12/14(水) 06:44:24 ID:???
誰か両方の意見をまとめてくり
838nobodyさん:2005/12/14(水) 07:15:24 ID:???
いや、なんか感動。
疑問は晴れてないけど。
839nobodyさん:2005/12/14(水) 10:23:55 ID:???
図にしてみたぞ♥

       Controller
         ↓
 Request ⇔ Action ⇔ Model ⇔ User,Database
         ↓
       Controller
         ↓
 Request ⇔ View ⇔ Model
              |
            ←|→
   プレゼンテー  |   ドメイン層、データソース層
   ション層     |
              |

俺にとってActionとはControllerの一部であり、Requestの受付とModelの呼び出し以外のことはしない。
Action::executeすげーシンプルウマー(AAry)。>>820>>835と基本的に同じ。
俺にとってModelとはMojavi内で唯一ビジネスロジックを担当する部分である。
ちなみにModel以外はデータ層に触りません!
840nobodyさん:2005/12/14(水) 11:25:24 ID:???
Modelはどうまとめてる?
俺はOO的にうまいことまとまらない場合は
似たような関数をまとめてお茶を濁してる。
841nobodyさん:2005/12/14(水) 11:38:43 ID:???
>>839
Model にビジネスロジック入れたら駄目じゃん。話にならん。
842nobodyさん:2005/12/14(水) 11:44:42 ID:???
>>841
839じゃないけど
俺もModelはビジネスロジックを担当する部分という認識なんだが
きみのいうModelって何?
843839:2005/12/14(水) 11:46:02 ID:???
>>840
たしかに関数の入れ物に過ぎないModelができちゃうこともあるかもw
俺の場合はSean KerrのAction::executeのコメントで、
* Execute any application/business logic for this action.
*
* In a typical database-driven application, execute() handles application
* logic itself and then proceeds to create a model instance. Once the model
* instance is initialized it handles all business logic for the action.
*
* A model should represent an entity in your application. This could be a
* user account, a shopping cart, or even a something as simple as a
* single product.
っていうやつ(mojavi/action/Action.class.php)をけっこう意識しながらやってる。
Modelはentityを表すってのけっこうしっくりきてるかも。
つーか今読み返してみたら、Sean Kerr的にはActionでビジネスロジックもありっていうスタンスっぽいなw
ただ、基本はModel=ビジネスロジックでしょ。
844nobodyさん:2005/12/14(水) 12:08:56 ID:???
訳:

Actionに対するアプリケーションロジック・ビジネスロジックの実行をします。

よくあるデータベースを用いたアプリケーションでは、execute()の中でアプリケーションロジックを扱い、続いてModelのインスタンスを生成します。
Modelの初期化をしたら後はその中で全てのビジネスロジックを扱います。

Modelはアプリケーション内のエンティティを表すようにすると良いでしょう。
例えば、ユーザーアカウント、ショッピングカートであったり、時には個々の製品といったシンプルなものであることもあるでしょう。
845nobodyさん:2005/12/14(水) 12:12:22 ID:???
>>844
そうそう。
やっぱり841はビジネスロジックの定義を勘違いしてないか?
エンティティーのメソッドはすなわちビジネスロジックだし。
Model=ValueObjectと勘違いしてる気がする。
846nobodyさん:2005/12/14(水) 14:28:05 ID:???
みんな言葉の定義が微妙に違ってるだけだと思う。
というか、レイヤとモデルを微妙に混同してるのかも。

ドメイン層のレイヤにビジネスロジックがあって、
そこで操作されるものがドメインモデル(エンティティ)。

これをそのまま実装に反映させるなら、
ドメインモデルとビジネスロジックは別クラスにするのが自然。
だけどケースバイケースで、ドメインモデルのクラスが
ビジネスロジックのメソッドを持つ実装にするのもあり。
どちらがいいかは一概には言えないと思う。


>>845
それは違うよ。
ValueObjectはどちらかというとドメインモデルではなく
プレゼンテーションモデル。

ドメインモデルをそのままプレゼンテーション層まで引きずってくる
設計方針ならValueObjectぽっく見えるかもしれないけど、
プレゼンテーションモデルをきっちりわける設計方針なら
>>841の言ってるモデルはドメイン層で閉じてるはず。
847nobodyさん:2005/12/14(水) 15:10:04 ID:???
俺定義で議論してないでPoEAAを読め、ってことだ。
848nobodyさん:2005/12/14(水) 16:18:44 ID:???
高いから譲ってくれ
849nobodyさん:2005/12/14(水) 16:45:40 ID:???
O'ReillyのSafari Bookshelfに入れば$19.95で読めるよ。
850nobodyさん:2005/12/14(水) 17:12:47 ID:???
日本語訳本買ったけど読んでねーや
ValueObjectがプレゼンテーションモデルってどゆ意味?
単に値を持たせるオブジェクトだから
どんな層にでも入ってくる汎用的なパターンだと思うんだが
851nobodyさん:2005/12/14(水) 21:59:44 ID:???
> 単に値を持たせるオブジェクト

自説を立てるときはそれなりの手順を踏襲してほしい
852nobodyさん:2005/12/15(木) 02:19:59 ID:???
>>839
>>843を意識してるんなら、Actionはドメイン層、データソース層に入ることもあるだろ
853nobodyさん:2005/12/15(木) 02:23:24 ID:???
http://trac.agavi.org/trac.cgi/wiki/HowToSetupBasicAuthentication
この公式サンプルも、全然>>839みたいな定義になってねぇし
854839:2005/12/15(木) 03:13:21 ID:???
>>852
たしかにそうだね。それが
> つーか今読み返してみたら、Sean Kerr的にはActionでビジネスロジックもありっていうスタンスっぽいなw
と言った理由なんだけど。
ただ、俺自身はドメイン層の処理はModelでやる方針でやってるって話。
Actionでドメイン層・データソース層に手を出すのも利点があるなら大いに結構だとは思うよ。

>>853
えーっと一応言っておくけど>>839は設計(or実装)方針の話ね。
(それまでの議論の内容も多少加味したつもりなんだが偏見もあるかも・・・)
あと、そこのサンプルは>>844の「ユーザーアカウント」にあたるものをModelとして抽出せずにActionで済ませちゃってるんだね。
だから839と違って見えるってのも無理はないかも。
まあロジックが複雑になってきたらそんなことは言ってられないので俺は認証用に作ったModelを再利用してるよ。
必要ならそのModelをもう一段継承してカスタマイズとかできるのでそこそこ便利だし。
855nobodyさん:2005/12/15(木) 03:28:55 ID:???
>>841に対して、はじめは何言ってるんだろうこの人…と、>>842
同じ気持ちでしたが、
http://www.microsoft.com/japan/msdn/practices/type/Patterns/enterprise/DesMVC.asp
ここを読んでみて>>841の言ってることがよくわかりました。
MVCの図にあるとおり
>ビューとコントローラの両方がモデルに依存していることに注意してください。ただし、モデルはビューとコントローラのどちらにも依存していません。
モデルは両方に依存していないものなんだね。
そう考えるとたしかに>>839の言ってる図は話にならない。
でも、それを言い出すとAgaviの設計自体がおかしいことになるね。
856839:2005/12/15(木) 03:51:45 ID:???
>>855
たぶんUMLを見慣れてる人が多いんだろうから誤解を与えたかもしれないけど、>>839は「依存関係」を表してるつもりじゃなかったんだなぁorz
Controller→Action→Controller→Viewってのは制御が移る順番。
他の⇔はデータの受け渡しであって、基本的にはメソッドの呼び出し+リターンなので制御が移る順番としても解釈できるかも。
>>855が依存関係の話を持ってきてくれたのでそれも考慮すると、⇔の矢印をすべて外側向きに変えたら少しはましになるかな?
矢印の意味は
・依存してる側→依存されてる側
・呼び出し側→呼び出される側
という関係で。(唯一Action→Controllerの部分だけリターンなので矢印の色でも変えてくださいw)
「ビジネスロジック」って言葉は俺も再考する必要があるかも。
>>846をもうちょっと咀嚼してみる。
857nobodyさん:2005/12/15(木) 03:53:25 ID:???
http://forum.mojavi.org/index.php?showtopic=1281
こういうの見るとますますわからんくなる…
858nobodyさん:2005/12/15(木) 04:01:35 ID:???
そこまでごちゃごちゃ深いこと考えなくても、
保守性の高いコードってWebアプリケーションなら結構つくれちゃうからなぁ…
ビジネスロジック云々より、ビジネスや運営自体について考えてたほうがよっぽど金になる
859839:2005/12/15(木) 04:09:49 ID:???
>>858
俺的もそう思う。どっちでもいーじゃんおまいらw、と
でも「間違っている」というつっこみをたくさんいただいたので、ヘコみつつ悪戦苦闘中であります。
860nobodyさん:2005/12/15(木) 04:22:02 ID:???
>>855
マジでAgaviのView周りってModelに依存性あるの?
ステートレスなWebアプリでは切り離されてるのが当たり前だと思ってたけど。
アクティブモデルにせよオブザーバはかませるっしょ
861nobodyさん:2005/12/15(木) 04:40:08 ID:???
View生成はクライアントリクエストのみを起点にしているから、
コントローラかアクションにぶらさげることは出来るね

前者はコントローラがMediator(と言ってもモデルかアクションから
データを受け渡すだけ)となり、後者ではアクションはコマンドオブジェクト
(ビジネスロジックとViewの呼び出しをカプセル化したもの)ということになる

どっちもパターンとしてはMVCとは呼ばないんだろうけど
http://www.martinfowler.com/eaaCatalog/applicationController.html

Viewがモデルに依存したほうがいいかアクションに依存したほうがいいか
まとまった見解ってある?
862nobodyさん:2005/12/15(木) 04:43:36 ID:???
>>860
Agavi自体の仕様では依存性は発生しないよ。Modelは一つもなくても動くし。
でもModelを使った時点で依存はゼロではないと思われ。
「切り離す」ってのはいわゆる疎結合にするって意味だとは思うけど、元々依存してしまうものだからせめて疎結合にしましょうって感じじゃなかったっけ?
>>855の言ってるのは、逆向きの依存はゼロってことでしょう。
「Viewを変更したらModelが動かなくなりました」とかしゃれになんないし。
でもModelを変更したらViewに支障が出るのは仕方ない。
それでも最小限にしましょうってのが疎結合だと思う。
オブザーバはContextのことでおkかな?
863nobodyさん:2005/12/15(木) 05:25:53 ID:???
依存性=オブジェクトをNewするかパラメータに取ってメンバにアクセスすること

結合の程度というようなファジーなものは存在しない
Framework界隈で依存性といったらこれのことだと思う
864nobodyさん:2005/12/15(木) 05:52:18 ID:???
> 結合の程度というようなファジーなものは存在しない
疎結合って結合の程度がゆるいことじゃないの?
つーかどのレスに対してなのか反論なのか何なのかわからんな。
865863:2005/12/15(木) 06:11:06 ID:???
直上に対するレス

結合にはもちろん程度があるよ
しかし依存性にはそういうものは無くゼロイチだということを言ってみた

>>860>>862の愛でどうも考えている依存性が違って
かみ合ってないように見えたので
866nobodyさん:2005/12/15(木) 06:12:18 ID:???
× 愛で
○ 間で

すまん
間違ったものを芽生えさせた
867nobodyさん:2005/12/15(木) 06:12:22 ID:???
>>860
Modelにするにせよ別もんにしてつくるにしても、
初期のViewだけじゃなにもできんじゃん。
ごてごてタグとテンプレートと定数混ぜることになってしまう。
その辺のモデルもつくるでしょ?ふつう
868nobodyさん:2005/12/15(木) 06:16:08 ID:???
いや、Mojaviだとビジネスロジックの呼び出しはアクションあたりに集約するのが一般的だと思う
ビュー内でモデルは呼び出したくない
869nobodyさん:2005/12/15(木) 06:20:08 ID:???
>>868
MVCはもともとそういうものだけどな。View - -> Model
870862:2005/12/15(木) 06:21:54 ID:???
>>865
そかそか。曖昧な言い方ですまんかった。
基本的には「依存性はゼロイチ」ってのは同意だよ。
だから>>860への答えはViewからModelへの依存性は「あり」。
ただ「切り離されてるのが当たり前」って表現をしてたので、862で「それは疎結合のことであって≠依存性だよね」っていう意味で言った。

>>868
実際にはそうだよなw
871nobodyさん:2005/12/15(木) 06:23:49 ID:???
>>869
パッシブモデルね
872nobodyさん:2005/12/15(木) 09:58:57 ID:???
モデルをフレームワークから独立させる派は
モデルからUserにアクセスする必要がある時はどうやってるの?
873nobodyさん:2005/12/15(木) 10:10:17 ID:???
>>872
モデルはフレームワークに依存していない設計なので、
モデルから User にアクセスする必要がない。
874nobodyさん:2005/12/15(木) 10:21:58 ID:???
extends Modelすらしないってこと?
875nobodyさん:2005/12/15(木) 10:26:14 ID:???
>>873
DBはどうしてる?
876nobodyさん:2005/12/15(木) 11:14:48 ID:???
Mojavi系の場合DBみたいな下層にも入ってくるから
フレームワークに依存しない設計がいまいちイメージしにくいな
877nobodyさん:2005/12/15(木) 11:38:55 ID:???
というか、一度 Mojavi を頭から追い出して一般的な設計の話をしろよw
もうあんな設計は古いって…。
878nobodyさん:2005/12/15(木) 11:43:23 ID:???
話変えたいなら自分から話題を提供すればいいのに
879nobodyさん:2005/12/15(木) 11:51:42 ID:???
スルーしとけ
880nobodyさん:2005/12/15(木) 11:55:01 ID:???
Mojaviはたたき台としてまだ価値あるだろ
影響受けてるフレームワークいっぱいあるしな
881nobodyさん:2005/12/15(木) 14:16:48 ID:???
rails!rails!
882nobodyさん:2005/12/15(木) 15:21:47 ID:???
PHP on TRAXときたか
883nobodyさん:2005/12/15(木) 21:48:05 ID:???
S2Baseがいいと思うんだけど、どう?
ValidateやらFilterは自作になるけど、結構いいと思う。
884nobodyさん:2005/12/15(木) 23:18:51 ID:???
S2PandNで出席者が質問してたが、S2やMapleのDIはどこまでパフォーマンスが出るか疑問。
プロダクトとしてリリースするなら、自分のところできちんと性能評価をやった方がいいよ。
885nobodyさん:2005/12/16(金) 00:48:04 ID:???
もうMojaviでいいや。 
886nobodyさん:2005/12/16(金) 01:35:11 ID:???
S2をそのままPHPに移植してるのかな
887768:2005/12/16(金) 09:02:11 ID:???
zend framework待とうよ!
888nobodyさん:2005/12/16(金) 09:14:05 ID:???
末広がりget, zuzaa
889nobodyさん:2005/12/16(金) 18:13:50 ID:???
Mojavi初心者なんですが
エスパー募集してもよろしいでしょか?
890nobodyさん:2005/12/16(金) 18:41:40 ID:???
>>889
ここは語るスレだ。質問はスレ違い。
891889:2005/12/16(金) 18:51:08 ID:???
>>890
そうですか、失礼しました。(´・ω・`)
892nobodyさん:2005/12/17(土) 00:42:49 ID:???
POSTされたデータをDBへupdateする場合はmodelでするの?
893nobodyさん:2005/12/17(土) 01:13:05 ID:???
>>890
多少質問あったほうが盛り上がるからいいんで内科医?

>>892
基本的にvalidationはactionでやり、DBの扱いはmodelでやってるけど、このスレ読んでたらもしかしたらactionでやったほうがいいのかな?とも思えてきた。
894nobodyさん:2005/12/17(土) 01:30:36 ID:???
>>893
エスパー募集な質問でもか?
895nobodyさん:2005/12/17(土) 01:39:26 ID:???
あー、エスパー募集はよろしくない罠w
896nobodyさん:2005/12/17(土) 01:50:31 ID:???
>>892
modelを作るほど複雑でなく(単なるログとか)、
また他のアクションで同じ機能を利用しないならアクションで済ませてしまってもいいとは思う。
897nobodyさん:2005/12/17(土) 02:02:35 ID:???
>>896
modelでDBに登録するとしたらサニタイズもmodelでやるってことになる?
でないとmodelがactionに依存してしまう気がするんだけど。
898nobodyさん:2005/12/17(土) 09:32:09 ID:???
そしたら
サニタイズはactionでやるべきだね。
899nobodyさん:2005/12/17(土) 09:36:15 ID:???
アクション前にフィルタ処理は済んでるはず
モデルは自身のためのサニタイズは自身で持つ
いずれも定義は括りだす
900nobodyさん:2005/12/17(土) 09:39:35 ID:???
インプットフィルター → アクションDeバリデーション → モデルサニタイズ

てことか。
実際どこで何をやるんだろ。
901nobodyさん:2005/12/17(土) 10:04:30 ID:???
つーかModelでDBに書き込む場合、フィルタでサニタイズするのもおかしいじゃん。
てことはActionでDBに書き込むのが正しい?
902nobodyさん:2005/12/17(土) 10:55:36 ID:???
ありえなす
903nobodyさん:2005/12/17(土) 11:29:14 ID:???
俺はmodelからdbクラスいじってやってるけど。
904nobodyさん:2005/12/17(土) 12:05:30 ID:???
mojaviの質問はどこですればいい?
905nobodyさん:2005/12/17(土) 12:12:34 ID:???
ここですればいいよ
答えが返ってくる時もあれば返ってこない時もあるけど
906nobodyさん:2005/12/17(土) 13:19:27 ID:???
>>904
あなたの質問がこのスレの命運を決めるかもしれません。
慎重に質問してください。
907nobodyさん:2005/12/17(土) 13:24:57 ID:???
何のプレッシャーだよw
908nobodyさん:2005/12/17(土) 19:16:29 ID:???
おい、agaviのサイトがエラーですよ!
http://www.agavi.org/
909nobodyさん:2005/12/17(土) 20:58:41 ID:???
>>908
多分5.1にしたんじゃないか
910nobodyさん:2005/12/17(土) 21:00:06 ID:???
>>908
多分PHP5.1に変えたんだろ
timezone関係の警告でてるし
911nobodyさん:2005/12/17(土) 22:24:03 ID:???
バージョン上げてからチェックしないとはアホもいいとこだなw
912nobodyさん:2005/12/18(日) 03:06:20 ID:???
>>911
逆だろ
チェックしてからバージョン上げないなんてアホもいいとこだなw
913nobodyさん:2005/12/18(日) 03:09:01 ID:???
まあフレームワークのサイトが
危機管理意識なしでエラーメッセージ垂れ流しっていうのは
あまりよろしくないよなぁ。
そもそも確認すらしないのかと。
914nobodyさん:2005/12/18(日) 06:17:14 ID:???
あれ、こんなエラー自分の環境じゃ出なかったのに
915nobodyさん:2005/12/18(日) 09:07:58 ID:???
isSecure()
return true


filters.iniで以下設定
[BasicSecurityFilter]
class = "BasicSecurityFilter"
param.comment = "On"

と挙動が違う。


filters.iniで設定すると、controllerの$this->loadModuleFilters($filterChain);
でBasicSecurityFilterがregistされ
BasicSecurityFilterクラスの$controller->forward(LOGIN_MODULE, LOGIN_ACTION);

でLOGIN_MODULEのフォワード無限ループになります。


http://ozaki.kyoichi.jp/mojavi3/authfilter.html
ここのサイトではちゃんとできているようだけど、
同じようなトラブルにあっている方はいますか?
916nobodyさん:2005/12/18(日) 11:43:36 ID:???
そのドキュメントは古いよ
BasicSecurityFilterの使用はsettings.iniのUSE_SECURITYで決定する
filters.iniに設定する必要はないよ
917nobodyさん:2005/12/18(日) 14:07:02 ID:???
o
918nobodyさん:2005/12/18(日) 21:17:43 ID:???
>>916
ちがうでしょ。
controllerでは下のように条件分岐している。
if (USE_SECURITY && $actionInstance->isSecure()) {
919nobodyさん:2005/12/18(日) 21:42:33 ID:???
>>911-912
それがPHPクオリティ
920nobodyさん:2005/12/18(日) 22:12:04 ID:???
>>918
なにが違うんだ?
USE_SECURITY && $actionInstance->isSecure()で
filterChainにSecurityFilterが登録されるわけだが。
なんでfilter.iniで再登録する必要がある?
$actionInstance->isSecure()の意味解ってないだろ
921nobodyさん:2005/12/18(日) 22:48:36 ID:???
>>920
申し訳ございません。
私が間違ってました。
922nobodyさん:2005/12/18(日) 23:39:16 ID:???
俺も間違ってた・・・。
再登録以前に、filters.iniにBasicSecurityFilterを登録したら
未認証時に遷移するはずのLoginAction自体にもBasicSecurityFilterが適用されて強制無限ループ。
正確には、forwardが20回再帰すると例外投げるから無限ループにはならないみたいだけど。
すみませんでした。
923nobodyさん:2005/12/18(日) 23:54:26 ID:???
それそれ!
BasicSecurityFilterは$this->loadModuleFilters($filterChain);
でregistすると、ループする。
(Default_LoginActionにisSecure ()適用したと同等の現象)

いちいちactionでisSecure ()をtrueに書き直すのめんどくさい。

何とかなりませんか
924nobodyさん:2005/12/19(月) 17:48:44 ID:???
mojaviでadodb+DB_Object使ってる香具師いる?
925nobodyさん:2005/12/19(月) 18:34:07 ID:???
その組み合わせってなんか変じゃね?
926nobodyさん:2005/12/19(月) 21:25:50 ID:???
headerを出力したいんだけど、viewにそのまま書いていい?
927nobodyさん:2005/12/19(月) 21:49:37 ID:???
>>925
変だからやってる香具師いるかなぁと
普通ならPEAR::DB+DB_Objectだろうけど、PEAR::DBってadodbより遅いって言うし。
928nobodyさん:2005/12/19(月) 21:53:15 ID:???
そこでPDOですよ。
929nobodyさん:2005/12/19(月) 22:05:31 ID:???
>>925
viewに書くのか。
新しい考えだけど俺はactionに書いてる。
だってviewじゃないし。
930nobodyさん:2005/12/19(月) 22:08:30 ID:???
>>927
DB_DataObjectは確かに内部でDBを使っているが、
基本的に抽象レイヤーと組み合わせて使うもんじゃないぞ
DB_DataObjectのソースに手を入れるなら別だけど
931nobodyさん:2005/12/19(月) 22:42:40 ID:???
DB_DataObjectつかうならFlexyもどうぞ。
932nobodyさん:2005/12/20(火) 00:41:08 ID:???
>>931
Alanさん早くDBDOをFixしてください
933nobodyさん:2005/12/20(火) 02:33:17 ID:???
というよりみんなは何を使ってるの?

PDO使いたいけどPHP5.1で動かないアプリがあるからムリポ
DB_DataObjectで楽するかadodbで早さを取るか迷い中
934nobodyさん:2005/12/20(火) 12:06:31 ID:???
agaviサイトまだエラー直ってないじゃん
やる気ねーーー
935nobodyさん:2005/12/20(火) 14:49:28 ID:???
Mojavi2は PHP5で動作しますか?
936nobodyさん:2005/12/20(火) 15:07:17 ID:???
>>933
そもそも PHP を使ってない(゚Д゚)
937nobodyさん:2005/12/20(火) 16:02:57 ID:???
コスモを感じる
938nobodyさん:2005/12/21(水) 09:02:46 ID:???
agavi直りますた。
939nobodyさん:2005/12/21(水) 10:14:48 ID:???
Mojavi < agavi < 江角 < Maple ?

今、Mojavi勉強中なんです。 ながら気になってます。
940nobodyさん:2005/12/21(水) 11:02:52 ID:???
mojavi以外ならどれでも自分が使いやすいのを使えばいいと思う。
941nobodyさん:2005/12/21(水) 15:41:11 ID:???
ありがとう。Mojavi以外を考えたほうがいいのか? Mojaviを習得するか?
Mojavi覚えるの大変なんですが、何日くらいで慣れますかね?
942nobodyさん:2005/12/21(水) 18:11:03 ID:???
>>940
なぜmojavi以外?
943nobodyさん:2005/12/21(水) 19:57:44 ID:???
M3かagaviをすすめる。
オブジェクトを理解するのにちょうど良い。
944nobodyさん:2005/12/21(水) 21:52:51 ID:???
M3とは?
945nobodyさん:2005/12/21(水) 22:03:21 ID:???
mojavi3
946nobodyさん:2005/12/21(水) 22:51:55 ID:???
あれ?ひょっとしてagavi0.10.0が出た話題出てない?
947nobodyさん:2005/12/21(水) 23:05:54 ID:???
そういえば出てないねぇ。ってかagavi自体の話もあんまり無いような・・・
948nobodyさん:2005/12/22(木) 00:27:18 ID:???
おお!agavi0.10.0がほんとにでとる!
アップデートしてそのまま使えるんか
949nobodyさん:2005/12/22(木) 12:52:20 ID:???
agavi Mojavi3 Ethmi Makiko

結局Mojavi2で落ち着きました。 その後はまた考えます。
950nobodyさん:2005/12/22(木) 18:28:57 ID:???
php4つかってんの?
後々のこと考えるとphp5とm3の方がいい。
951nobodyさん:2005/12/23(金) 02:00:04 ID:???
フレームワークを使うならPHP5+なんかだろうね。
php4使うぐらいならフレームワーク使わないでいいと思う。
どうせ将来性ないし。
952nobodyさん:2005/12/23(金) 04:49:25 ID:???
まだまだPHP4が使われつづけると思う。
今のようなPHPの使われ方なら、PHP4で問題ない。
953nobodyさん:2005/12/23(金) 10:19:22 ID:???
プロシージャ系を想定してるんだろうけど
開発者の一人がもうphp4固有のバグなんかは直さないよというような
ものは使わないほうがいいと思う
954nobodyさん:2005/12/23(金) 10:20:08 ID:???
というか非OOのフレームワークって見たこと無いや
955nobodyさん:2005/12/23(金) 12:21:16 ID:???
agavi0.10.0使ってる人、レポよろ
956nobodyさん:2005/12/23(金) 14:01:08 ID:???
ジングルベルってこういう歌だったの!?
一回目は普通のジングルベルで終わった後、もう一回ボタンをおしてリバースすると・・・
聞こえにくい場合は音を少し大きめに。
http://media.spikedhumor.com/8944/Jingle_Bells_Reversed.swf
957nobodyさん:2005/12/23(金) 14:05:43 ID:???
>>956
このスレにまでそんなコピペが貼られるご時世かよ
958nobodyさん:2005/12/23(金) 15:07:39 ID:???
>>957
冬休みだしね
959nobodyさん:2005/12/23(金) 18:02:33 ID:???
>>958
クリスマス寂しいな
960nobodyさん:2005/12/23(金) 18:02:45 ID:???
>>955
初フレームワークにAgaviを選択してみました。
英語がさっぱりなので、ドキュメントもなんとなくしか
わからないのですけど、すごく良い感じですね。
日本語情報がすごい少ない以外は今のところ不都合ないです。
ってレポになってないですね・・・。
961nobodyさん:2005/12/23(金) 20:44:59 ID:???
>>956
そういうさ、途中で叫び声入るようなドッキリ系張る奴って、そんなに驚いたのか?
叫ばれてもお前に腹立つだけで、広めようとかまったく思わなかったんだが。
962nobodyさん:2005/12/23(金) 21:33:46 ID:???
ちょwww
今PHPのサイトもエラ−になってる
http://www.php.net/

Fatal error: Call to a member function on a non-object in /local/Web/sites/phpweb/include/ip-to-country.inc on line 65
963nobodyさん:2005/12/24(土) 01:48:59 ID:???
直ってる…
964nobodyさん:2005/12/24(土) 02:58:29 ID:???
非SQL型のアプローチって
逆に手間増える場合も多いね。
抽象化レイヤ一枚かぶせただけみたいな形になって
しかもインターフェイスを憶えにくいからコーディングがノロノロになった。
965nobodyさん:2005/12/24(土) 10:57:47 ID:???
非SQLていうと、ldapとか、XMLで問い合わせるDBとか?
べつにそういう印象はないけど、慣れの問題じゃない?
966nobodyさん:2005/12/24(土) 13:22:47 ID:???
いや、ldapとかXMLじゃなくて、
RDMSに対して生SQLを書かずにアクセスできる
ラッパークラスのアプローチ。
たしかに慣れたら速く書けるんだろうけど
ガンガン進みたい時に「あーウゼー!」ってなる。
967nobodyさん:2005/12/24(土) 14:29:17 ID:???
>>966
わーい、仲間発見
可読性上がるし、エスケープ忘れ無くなるので、
がんばってるけど、SQL直書きに比べるとめんどいよね
968nobodyさん:2005/12/24(土) 14:37:36 ID:???
そういえばcakeとかのactiveredord実装は面白い。
インターフェイスがとても簡単なのもあるけど、生SQLはほとんどLEFT JOIN一本槍で
もう効率とかギリギリまで行く必要ないじゃん? みたいな思想に萌える。

findBySql()で、カスタムなsqlを飛ばしても、簡単なルールさえ守れば
スムーズにModelフレームワークに組み込むことは出来るし、
その気になれば複雑なjoin条件をモデルに指定する事もできるようだ。ドキュメント無いけど。



さて、そろそろ布団から出て宴会に行く支度するか。
969nobodyさん:2005/12/24(土) 16:08:37 ID:???
> LEFT JOIN一本槍

あれMysql5系でどーすんだろ
970nobodyさん:2005/12/24(土) 16:22:33 ID:???
>>969
mysqlのleft joinに何か問題あるの?
971nobodyさん:2005/12/24(土) 16:43:14 ID:???
問題ない
972nobodyさん:2005/12/24(土) 17:02:10 ID:???
>>969
いやINNERJOIN+WHERE句で結合だから
973nobodyさん:2005/12/24(土) 21:23:54 ID:???
MySQL5関連はサポートレベルではみんな困ってるみたいね。
JOIN関係で修正が必要になるのはON句でこじゃれたことしてる場合だけでいいの?
974nobodyさん:2005/12/26(月) 12:06:40 ID:???
valueクラスつくって(下記)ユーザの情報を入れるんだけど、
DBからユーザ情報をたくさん取得してこのオブジェクトにセットした場合
オーバーヘッドがすごいですよね。

複数のユーザ情報をvalueクラスにセットする場合ってどうやってますか?

class userValue {

private $userId;
private $name;
private $mail;

function getUserId() {

return $this->userId;

}
}
975nobodyさん:2005/12/26(月) 13:36:57 ID:???
>>974
いわゆるActiveRecordみたいなことをしたいなら、__getや__setをつかうのがよいかと。
つーかオーバーヘッドがすごいってどういうこっちゃ?
976nobodyさん:2005/12/26(月) 13:43:14 ID:???
連想配列使うのが速いに決まってるよな。
977nobodyさん:2005/12/26(月) 15:46:26 ID:???
俺はVOは基本連想配列使ってるなぁ。
場合に応じてValueListクラスを作ることもある。
978nobodyさん:2005/12/26(月) 19:07:34 ID:???
わかりました。

private $userId;
private $name;
private $mail;
private $userAR = array();
こうやって対応しました。
979nobodyさん:2005/12/27(火) 00:06:55 ID:???
>>978
PHPの場合連想配列があるから
こんな感じで作ったほうが使いやすくない?

private $_data = array();

function set($key, $value) {
$_data[$key] = $value;
}

function get($key) {
return $_data[$key];
}
980nobodyさん:2005/12/27(火) 00:20:25 ID:???
php5を使っているのならコレクションクラスはイテレータを使って上品にいきたいところだ。
981nobodyさん:2005/12/27(火) 07:58:48 ID:???
つーかZend Frameworkいつ出るか誰か知ってる?
Ruby on Railsに酷似しているという噂もあったり・・・?
あと誰か次スレ立てて。
982nobodyさん:2005/12/27(火) 14:00:05 ID:???
来年の今頃じゃない?勘だけど>zendフレームワーク
983nobodyさん:2005/12/27(火) 17:40:49 ID:???
来年の今頃出されてもPHP自体が終わってると思うよ。
984nobodyさん:2005/12/27(火) 17:53:08 ID:???
来年の今頃なんて、おいらプログラム書いてないかも知れないっスよ( ´・∀・`)
985nobodyさん:2005/12/27(火) 18:52:11 ID:???
>>982
そんな遅くないでしょ
この間のプレゼンでドキュメントを数週間以内に出すって言ってたけど
まだ出てないのかな


986nobodyさん:2005/12/28(水) 00:22:05 ID:???
こういうのは遅れるのがデフォだからなぁ。
987nobodyさん:2005/12/28(水) 03:11:20 ID:???
WEB+DB PRESSの新刊に
agaviの記事があったよ。
今回は他にもPHPの記事が結構あった。
988nobodyさん:2005/12/28(水) 20:26:19 ID:???
mojavi3で作ったアプリ HTMLのiframeからべつのphpファイルを指定し
そのphpファイルからmojaviで認証されたユーザー情報を参照したいのですが
どうすればいいでしょうか。
内緒なデータなので$_GETでは渡したくないです。
989nobodyさん:2005/12/29(木) 00:19:22 ID:???
>>988
別の人に仕事を委託する。
990nobodyさん:2005/12/29(木) 01:30:04 ID:???
mojaviなんですが、ファイルのアップロードとか自作クラスを何処においてますか?
普通、Lib/下に置くものなんですか? opt/下に置くものなんですか?
991nobodyさん:2005/12/29(木) 11:49:15 ID:???
Smartyなど共通クラスはLib/下に置いてます。
992nobodyさん:2005/12/29(木) 15:50:17 ID:???
RubyがもっとしっかりしてくれたらPHPなんて使わずに済むのに
993nobodyさん:2005/12/29(木) 16:11:46 ID:???
Javaにしとけ
994nobodyさん:2005/12/29(木) 16:27:46 ID:???
>>993
スケーラビリティ糞
995nobodyさん:2005/12/29(木) 17:00:29 ID:???
まさかJavaよりRubyのほうがスケーラビリティ高いとか言わないよね?
そもそもPHPだって設計きちんとやれば見下ろすほど拡張性低くないのにね。
まあJavaは言語仕様自体が拡張性上げてるようなもんだし。
特異メソッドだの特異クラスだのクロージャだの溢れかえったRubyにスケーラビリティのスの字もないと思うけど。
拡張モジュールをCで書いたりなんてことになると、もうね。
それより、Zend FrameworkはPHPネイティブらしいし、スケーラビリティに関して少しは期待していいかと。
RoRと比べてどうかとかは出てからじゃないと何ともいえないけど。
996988:2005/12/29(木) 17:02:56 ID:???
これはセッションしかないなと思い、iframeに表示している別のphpファイルで
session_start();
してvar_dump($_SESSION);
しましたが、array(0) { }
となってしまいました。mojaviの$userValueオブジェクトが
セットされているのですがセットされていませんでした。
997nobodyさん:2005/12/29(木) 17:37:04 ID:???
次スレ立ててきます。
998997:2005/12/29(木) 17:42:43 ID:???
すまんむりだったorz フレームワーク一覧
Phrame
http://phrame.sourceforge.net/
Mojavi Project
http://www.mojavi.org/
Agavi
http://agavi.org/
[ 日本発 ] Maple Project
http://kunit.jp/maple/
[ 日本発 ] Ethna -PHPウェブアプリケーションフレームワーク-
http://ethna.jp/ethna-tutorial-startup-practice1.html
[ 日本発 ] guesswork
http://www.guesswork.jp/
Biscuit
http://bennolan.com/biscuit/
PHP on TRAX
http://phpontrax.com/
Web Application Component Toolkit (WACT)
http://www.phpwact.org/
symfony
http://www.symfony-project.com/
XOAD
http://wiki.xoad.org/index.php?title=Wiki_Home
[ 日本発 ] pokox
http://www.glamenv-septzen.net/pukiwiki/index.php?pokox
[ 日本発 ] 速構Web Framework
http://www.pm9.com/newpm9/itbiz/php/framework/
999nobodyさん:2005/12/29(木) 17:46:32 ID:???
CakePHP
http://cakephp.org/

これも。
1000nobodyさん:2005/12/29(木) 18:02:13 ID:???
1000
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。