1 名前:nobodyさん [2005/08/10(水) 02:21:08 ID:CBjrwwHd] ※フレームワーク Phrame本家 phrame.sourceforge.net/ Mojavi Project www.mojavi.org/ mojavijapan mojavi.p0t.jp/ Agavi本家 agavi.org/ Agavi.JP agavi.jp/ [ 日本発 ] Maple Project kunit.jp/maple/ [ 日本発 ] Ethna -PHPウェブアプリケーションフレームワーク- ethna.jp/ethna-tutorial-startup-practice1.html ※関連スレ 【PHP】フレームワークMapleに舌鼓 pc8.2ch.net/test/read.cgi/php/1122105465/ 【PHPフレームワーク】Ethna【スケルトン自動作成】 pc8.2ch.net/test/read.cgi/php/1123070439/ PHPでオブジェクト指向プログラミング pc8.2ch.net/test/read.cgi/php/1113724557/ その他>>2-5 参照汁
241 名前:nobodyさん mailto:age [2005/09/23(金) 10:10:02 ID:???] mojaviつかったら、header("Location: http… ってつかっちゃいかんの? $controller->forward(… に統一すべき?
242 名前:nobodyさん mailto:sage [2005/09/23(金) 10:34:02 ID:???] >>241 $controller->redirect($url)を使うんじゃない?
243 名前:nobodyさん mailto:sage [2005/09/24(土) 00:01:50 ID:???] うむ。
244 名前:nobodyさん mailto:sage [2005/09/24(土) 01:54:49 ID:???] >>242 しっかし$controller->redirect($url)って使いづらくないか? $controller->redirect($module, $action)にしてくれたほうがありがたい希ガス。 まー大した違いじゃないんだけどさ。 ラッパ書いたら気持ち的にずいぶん楽になったもんで。 ビミョーにチラシ
245 名前:nobodyさん mailto:sage [2005/09/24(土) 02:19:29 ID:???] >>244 俺もモジャ使ってる時それ思ったな module,actionをurlにするメソッドあったよね。 あれ呼んでから呼べということなんだろうけど。
246 名前:nobodyさん mailto:sage [2005/09/24(土) 03:41:42 ID:???] >>245 だったらフレームワークが自分で自動的に呼べって話だよなー
247 名前:nobodyさん mailto:sage [2005/09/24(土) 10:58:21 ID:???] で、>>244 に戻る、と。 Agavi で標準装備して貰いますか。
248 名前:nobodyさん mailto:sage [2005/09/25(日) 23:54:29 ID:???] >>245 getControllerPathでしょ?
249 名前:nobodyさん mailto:sage [2005/09/26(月) 01:24:18 ID:???] >>248 M2にはあったのにM3にはなくなってしまった。 アガビにもない。
250 名前:nobodyさん mailto:sage [2005/09/26(月) 16:39:07 ID:???] Mojaviでサブテンプレート実現する時って ActionChainにregisterしてexecuteしてfetchした結果を Viewに渡してる? それとも他のやり方があるのかな?
251 名前:nobodyさん mailto:sage [2005/09/26(月) 18:00:20 ID:???] >>250 mojaviのwikiにサンプル付きであったような気がするけど今はアクセスできないっぽ。 ttp://www.geocities.jp/toyprog/wikimojavi/index.html にそれの訳っぽいのがある。
252 名前:250 mailto:sage [2005/09/26(月) 19:59:45 ID:???] >>251 ありがとう Mojavi系サイトはかなり回ったつもりだったけど このサイトは初めて知ったよ
253 名前:nobodyさん mailto:sage [2005/09/27(火) 04:52:10 ID:???] >>244 クエリがmoduleとactionだけなんてことまずほとんど無いだろ。
254 名前:244 mailto:sage [2005/09/27(火) 07:02:06 ID:???] まあ実際書いたラッパの引数はmodule、action、params、プラスアルファみたいな感じだけど、 漏れの場合サイト内でリダイレクトすべき部分は大概moduleとactionで事足りたな。 リダイレクト自体そんな頻繁でもないし。 ヒント:ケースバイケース
255 名前:nobodyさん mailto:sage [2005/09/27(火) 10:04:39 ID:???] Agaviも全然動きないってどうなんコレ 仕事で使わないでヨカッタよ( ´ー`)フゥー...
256 名前:nobodyさん mailto:sage [2005/09/27(火) 12:00:15 ID:???] (Moj|Ag)aviを仕事で使ってる香具師なんかいないいない。 みんな本当は趣味でやってんだよ。 あー暗い暗い。
257 名前:nobodyさん mailto:sage [2005/09/27(火) 13:39:45 ID:???] Mojaviにはメンテナを迷走させる呪いがかかっているんだよ ホープ・ダイヤモンドのように・・・
258 名前:nobodyさん mailto:sage [2005/09/27(火) 13:45:00 ID:???] 上位でRequest->Parameterを 取得していて、 ActionChain中の子Actionでも同じパラメータを使う時って、どうしてる? 1 Request->attributeにでも入れ直す 2 もう一度request->getParameter()する
259 名前:nobodyさん mailto:sage [2005/09/27(火) 14:21:10 ID:???] >>251 そこ見てやっとデコレーションパターンを理解したよ slotでテンプレートに渡す表示用パラメータを切り分けてるのが便利そう
260 名前:nobodyさん mailto:sage [2005/09/27(火) 19:38:07 ID:???] MapleやEthnaにCommandパターンが使われてるって 本に書いてあったんだけど本当?
261 名前:nobodyさん mailto:sage [2005/09/27(火) 20:59:19 ID:???0] Actionがあるのがコマンドパターンだよ ほとんどのフレームワークはそれでは?
262 名前:nobodyさん mailto:sage [2005/09/28(水) 01:31:23 ID:???] >>255 あれ以上変にいじくられる必要も無い。
263 名前:nobodyさん mailto:sage [2005/09/28(水) 01:34:22 ID:???] >>254 つーかforwardじゃいかんのか
264 名前:nobodyさん mailto:sage [2005/09/28(水) 02:20:56 ID:???] >>254 ヒント:リダイレクト自体そんな頻繁でもないし。
265 名前:nobodyさん mailto:sage [2005/09/28(水) 06:35:26 ID:???] >>262 まだ埋まってないとこポコポコあるじゃん
266 名前:nobodyさん mailto:sage [2005/09/28(水) 07:00:02 ID:???] なんかサブテンプレートってさー クライアントサイドプログラムだったら、 サブウインドウとかの規格を定めた アピアランスクラスを作って、 そこにモデルデータを渡して実現するじゃん? アピアランスクラスはリプレース可能にして。 一方Mojaviとかのウェブアプリフレームワークって 各テンプレートファイルをひな形にした サブテンプレートを先に作っておいて、 親テンプレートに後からハメハメするやり方じゃん? このやり方だと、親テンプレートとサブテンプレートに 一貫したアピアランスを実現しにくくない? なんていうか、 サブテンプレートシステムを ひとつのクラスにまとめておかないと アピアランスのリプレースがしにくい、と思う。 どうなんかな、このへん。
267 名前:nobodyさん mailto:sage [2005/09/28(水) 13:50:54 ID:???] なんかカタカナばかりだな。 今風なのか?
268 名前:nobodyさん mailto:sage [2005/09/28(水) 14:11:20 ID:???] いや日本語でどう言えとw
269 名前:nobodyさん mailto:sage [2005/09/28(水) 14:11:53 ID:???] ああ、たしかにナウでヤングなモボっぽいな
270 名前:nobodyさん mailto:sage [2005/09/28(水) 16:24:02 ID:???] アピアランス = 外観 テンプレート = 雛形 リプレース = 入れ替え ハメハメ = 嵌め込む サブ = 男色
271 名前:nobodyさん mailto:sage [2005/09/28(水) 21:39:30 ID:???] >>270 ・・・男色の雛形は 単一化されないと 見た目ではハメ辛いと思う。 どうなんかな、このへん。 【意訳】 ぱっと見、ゲイはゲイらしくしてくれないと そのときになってびっくりする。 どう思いますかみなさん。 【私の意見】 そー思います。
272 名前:nobodyさん mailto:sage [2005/09/29(木) 02:01:15 ID:???] カタカナ語は「一般名詞ではなく、テクニカルタームですよ」という サインだから 単なる訳以上の機能性もある。
273 名前:266 mailto:sage [2005/09/29(木) 11:21:35 ID:???] サブテンプレート間で一貫したアピアランスを実現する方法を考えたよ(´・ω・`) 共通プレゼンテーションロジック保持クラス GrobalViewHelperを作っておいて どのテンプレートを作るときにもそいつを派遣しておく…(・∀・)コレダ!!
274 名前:nobodyさん mailto:sage [2005/09/29(木) 11:28:07 ID:???] Globalだった(´・ω・`)
275 名前:nobodyさん mailto: [2005/09/30(金) 16:21:47 ID:???] いいかお前ら、ド素人の俺が今からすっごいこと言うぞ・・・・ 気の弱い奴はパンツ脱いどけ。。。。 「っていうかフレームワークって何だよ!?」
276 名前:nobodyさん mailto:sage [2005/09/30(金) 16:42:01 ID:???] >>275 『枠組み』の事です。従来のライブラリと比較すると ライブラリではそれを使ってどのように作るかを必死に考えなければならなかったのが フレームワークでは、このように作りますってのがフレームワーク側で決まっているので 共通できないロジックやパラメータだけ与えればアプリケーションが出来てしまう。
277 名前:nobodyさん mailto:sage [2005/09/30(金) 16:45:14 ID:???] どの程度勝手に決められているのか?ってのが フレームワーク選択基準のひとつになり 例えばStrutsなんかは自由度が高い事で有名。
278 名前:nobodyさん mailto: [2005/09/30(金) 19:43:03 ID:???] >>276 親切にありがとう。 でもド素人にはまだちょっと理解しづらい。。。 つまりアレか、PHPでも、VBみたいにマウスでフォームやボタン配置できるとか??
279 名前:名無し [2005/09/30(金) 19:47:16 ID:gpQXP9hq] どうもこんばんわ
280 名前:nobodyさん [2005/09/30(金) 19:47:48 ID:gpQXP9hq] はじめてです
281 名前:nobodyさん [2005/09/30(金) 19:49:19 ID:gpQXP9hq] いきなりですけどおちます
282 名前:nobodyさん mailto:sage [2005/09/30(金) 22:22:00 ID:???] 和製フレームワークって Viewクラス用意してないものがほとんどだよね。 実際Viewでやることってテンプレートにassignするだけ みたいなもんだし。 面倒なだけのViewイラネ(゚д゚)、ペッ
283 名前:nobodyさん mailto:sage [2005/09/30(金) 22:26:22 ID:???] じゃあ、いいじゃん
284 名前:nobodyさん mailto:sage [2005/09/30(金) 22:43:42 ID:???] あとMojaviはRequestのattributesと UserのParameterが役割的にカブってるのが美しくない。 シンプルイズベストなんじゃい(*゚д゚)、ペッ
285 名前:nobodyさん mailto:sage [2005/10/01(土) 03:49:30 ID:???] >>284 どうかぶってんの?
286 名前:nobodyさん mailto:sage [2005/10/01(土) 03:58:54 ID:???] セッションの実装がねぇ。 逆にどうすりゃいいんだ?今ならいい方法があれば提案出来るんじゃないか。 つーかおまいらがどうやってるのか不思議で仕方ない。 どう文句つけようと、PHP5 だと現状、俺 Maple, Mojavi の二択だと思うんだが。 それ以外のフレームワークを実戦投入したという話は聞いたことないし。
287 名前:nobodyさん mailto:sage [2005/10/01(土) 04:03:57 ID:???] >>285 両方とも汎用コンテナ かぶってるからuser->parameterはあまり使わないけど
288 名前:nobodyさん mailto: [2005/10/01(土) 11:04:43 ID:???] やはりフレームワークの「意味」と「利点」、「用途」がサッパリわからない・・・ 実はこれらを説明するのって難しい?
289 名前:nobodyさん mailto:sage [2005/10/01(土) 12:04:04 ID:???] >>288 解っちゃえば何てことない話なんだけど説明しようとすると難しい 例えばDBとか使ったサイト作るっしょ んで別のサイトを作る時に,前作ったサイトのパーツを流用したりするっしょ で,それを繰り返してくと,今度は逆に,パーツの方を流用しやすく作るようになるっしょ そういうパーツが色々な機能を網羅していくと 最終的には「サイトごとに同じような処理はみんな共通」とか 「ここをちょっと変えるだけで各サイトに適用可能」とかになっていく その集合体の完成形がいわゆる「フレームワーク」 ……ってな説明でどうかなぁ? # もちろん今あるフレームワークが上記のようなボトムアップで作られたものなわけではないが……
290 名前:nobodyさん mailto:sage [2005/10/01(土) 13:33:56 ID:???] >288 小規模の案件やってる限りはわからないし、使う必要も無いよ。 フレームワークの利点がわかる状態、というのがフレームワークが必要な状態。
291 名前:nobodyさん mailto: [2005/10/01(土) 14:20:43 ID:???] >>289 なるほどぉ・・・、ってことは、いま自分がやってる作業(この部分は他でも 使いまわしやすいように作ろう)ってのも、ある意味で自作フレームワーク?? それを追及していくと、ほとんどどんなサイトやシステムでも部品は共通なものばかりだよね。 よっぽど斬新なものでない限り、既存の部品を既存の組み立て方すればいいだけだよねぇ。 フレームワークがそういうものだとしたら、Webアプリ作成が劇的に簡単になりそう。 ・・・でもMojaviとかの説明を読んだりすると、もうそれ自体が難しく感じる。。。 >>290 ってことは、俺はまだ必要な状態ではないのかな・・・。
292 名前:nobodyさん mailto:sage [2005/10/01(土) 14:42:28 ID:???] >>291 ある意味「俺フレームワーク」とかいわれるものがソレなんだと思うよ そして他人が書いた「俺フレームワーク」は慣れるまでは大抵使いにくい ただ自分より頭の良い人が書いたものならたぶん慣れれば自分のより効率良くなるのだろう でもそれは今まで自分が思いつきもしなかったような発想で作られていたりするから 学習曲線の最初はだいぶきっつかったりする >>290 の言ってるのは 慣れちゃった後なら小規模案件でも使わない理由はないと思うけど 小規模案件のためにわざわざ慣れる必要があるかってーと それではC/P比が悪い,ってことじゃないかな 大規模だと少しでも効率良くなるとかける人数で効くので大きいのと よく整備されたフレームワークはそれに則ったコードを書けばいいのでコードが変に発散しにくいのが利点
293 名前:nobodyさん mailto:sage [2005/10/01(土) 14:45:18 ID:???] デザイナ含めて3人ぐらいの小規模しかつくらないけど 俺は「俺フレームワーク」捨てちゃいたい時ある。糞コードだもんなあ
294 名前:290 mailto:sage [2005/10/01(土) 14:45:40 ID:???] >291 覚えると気持ちの上での楽さはあるけどね。 MVCの切り分けや入力値チェックなどを、どこに書くべきかを含めて明示的に示してくれるわけだし。 でもフレームワーク使ってなかった頃はそんなの自分で勝手に分けて書いてたわけだし 数週間くらいでできるような案件を一人でやるなら 無いなら無いで普通に作れるし、大して手間も変わらないように思う。 そんなこと関係なしに、興味があるなら使ってみるのが良いよ。
295 名前:290 mailto:sage [2005/10/01(土) 14:47:50 ID:???] >292 素晴らしいフォローが入ってる。 まったくその通りです。サンクス。
296 名前:nobodyさん mailto:sage [2005/10/01(土) 16:35:15 ID:???] フレームワークは楽をするためのものと言われて、 実際そうなんだけど、 その楽さって「記述量が少ない楽さ」じゃないよね 記述量は、逆に迂遠に思える時も多々あって、 俺なんかは「ハァ?どこが楽なんだよ。面倒くさいだろ」と 反発を感じながら自分なりのお手軽メソッドを追加してたりしていって 気づいたら何だか見通しが悪くなってた。 提供者は 「コーディング量は、そんなに減らないし、逆に増えるかもしれません。ただし、長い目で考えると楽です」と言ってほしいところ。 最初から「とにかく楽したい」の精神で行くと、 その良さを理解するのに結構時間がかかる。
297 名前:nobodyさん mailto:sage [2005/10/01(土) 17:08:24 ID:???] 単純なものを作るとしても、フレームワーク使って作ると、 余計なこと考えないで済むから楽ちんだと思ってしまう漏れは負け組?
298 名前:nobodyさん mailto: [2005/10/01(土) 21:01:51 ID:???] とりあえずここまで説明してもらってもまだフレームワークの良さが イマイチ分からない俺は、ちまちま自力でやっていこうと思いまつ。 そうしてるうちにフレームワークが必要になる日が来るかもしれない。 むしろ最初の基礎は全部自分でやれるようにしといたほうが後々いいかも。
299 名前:nobodyさん mailto:sage [2005/10/01(土) 21:10:53 ID:???] ちまちまアセンブラで大規模アプリを書けるようにがんばります。ということ? 馬鹿馬鹿しい。
300 名前:nobodyさん mailto:sage [2005/10/01(土) 21:21:42 ID:???] >>299 なんでいきなりアセンブラが出てくるんだ? 比喩にしてもおかしいし???
301 名前:nobodyさん mailto:sage [2005/10/01(土) 21:32:08 ID:???] 小さなプログラムを個人で書きなぐってるって人なんじゃないの? 仕事で似たような案件を多くあつかっていると、大枠で共通することが 多いことに気づいてくる。それをくくりだして同じ事を何度もしなくても いいようにしようと思うわけだ。 言語レベルではライブラリとして共有できるようになってる。 さらに扱う対象によっては毎回似たようなプログラムの流れになることがある。 その似たような部分の構成を使いまわしできるようにしておくと、効率があがる。 299さんの言っていることも極端ではあるけど考え方としては同じこと。 アセンブラがあれば何でも記述できるけど、WEBアプリなんか書く時にはPHPが 適しているのでPHPで書く。毎回アセンブラからまずPHP(あるいは俺言語)を作って 仕事に取り組むってのは能率悪そうでしょ? ただフレームワークを必要としない人や場合もあるのだから 290さんの言うように 必要としていない状況なのかもしれない。
302 名前:nobodyさん mailto:sage [2005/10/01(土) 21:38:29 ID:???] ちょっと流れ無視なのかもしれませんが、 クラス・ライブラリとフレームワークの違いって何ですか? ライブラリ群=フレームワーク?と思っているんですが。
303 名前:nobodyさん mailto:sage [2005/10/01(土) 21:56:33 ID:???] ・画面遷移の仕組み ・入力データのヴァリデーション ・HTML表示のためのテンプレートエンジン ・セッション管理 ・アクセス制御 あたりの機能を体系的にまとめたものが、いわゆるフレームワークと言っていいと思う。 特に上3つはフレームワークと呼ばれるものには必ず存在するかな。 ただ、それぞれの機能単独のライブラリもあるから、そういうライブラリを自分で組み合わせても構わないし、 そっちの方がいい場合もあるだろう。
304 名前:nobodyさん mailto:sage [2005/10/01(土) 22:48:16 ID:???] 保守性のメリットもあるお
305 名前:nobodyさん mailto: [2005/10/01(土) 22:55:55 ID:???] フレームワークの意味や利点が理解できない漏れは、 当然クラスの良さも分からないし使ったこともない。 「良さが分からない」というか、「使用法を習得するほうがめんどい」。 だからPEARも一度も使ったことなく(ちょっと調べて断念)、 よく使う機能については「俺ライブラリ」(せいぜい自作関数)的なものを作って ファイルにまとめて、それをincludeしたり部分的にコピペして貼ったりして再利用してる。 それで十分便利だし苦にも思わない。
306 名前:nobodyさん mailto:sage [2005/10/01(土) 23:10:17 ID:???] >>305 苦にも思わないならそれでいいんじゃないかな? 上で大規模小規模って話が出てきてるけど 大規模→大人数となってくるとそれを苦に思う人も出てくるだろう その時になったらまた考えればいいと思う 繰り返しになるけど,最初の学習曲線をよじ登る手間が, 初めから登らなかった場合の手間の総量を上回らないなら,登らない方がトータルで良いしね ただ経験から言わせてもらうと, 仕事でPHPをやってる限り,結果的にはたぶん総量を上回ることになると思う……
307 名前:nobodyさん mailto:sage [2005/10/02(日) 00:39:45 ID:???] まあ、PHPは標準関数の機能が多いから、PEAR使わなくても構わない場合は多いけどな。 Perlの場合、CGI、DBI、HTML::Template、CGI::Sessionあたりを使わざるを得ないけど。 ただし、PHPは名前空間が区切れないから、クラスを使わないとグローバル変数名の衝突をさけられない。 なんで、処理がある程度複雑になってきたら、クラスを使うしかなくなる。
308 名前:nobodyさん mailto:sage [2005/10/02(日) 01:42:18 ID:???] 自分1人で開発してるうちは フレームワークの恩恵はそれほどないかもしれない 小規模のものを作るのには必要ない 単純なメールフォーム作るのにフレームワークなんていらない 複数人でそれなりに規模のあるものの 開発をしようとするとそれぞれのスキルと作り方で 同じ処理の流れのものを作っていても コードや構成はばらついていく だから遷移方法や処理のプロセスはこういうやり方で ここにそのコードを置いてくださいという 取り決めがフレームワークで チーム全員がその取り決めにならって開発していく事で 誰が書いても全体の構成がある程度統一されていく部分が フレームワークを使う事の一番のメリットなんじゃないのかな
309 名前:nobodyさん mailto:sage [2005/10/02(日) 02:06:00 ID:???] PHPには、PerlのCGI::ApplicationやJavaのStrutsほどメジャーなものはないし、開発者全員がそのフレームワーク自体を覚えないといけないってコストがかかる。 他にもデメリットとして、smartyのようなテンプレートエンジンを使うと実行速度がぐっと下がるし、 標準であるべきDBクラスのPEAR_DBは、標準関数と比べて圧倒的に速度が遅い。代替のDBクラスもあるけど、これも乱立していて学習コストがかかる。 さらに言うと、PHP開発者のスキルは概して低い。 PHP開発者の確保は、Perl開発者、Java開発者の確保よ低コストだけど、PHPでOOPやフレームワークを扱える開発者をそろえるのは難しい。 こういったデメリットを乗り越えて、なおフレームワークにメリットがあるかどうかを考えないといけない。
310 名前:nobodyさん mailto:sage [2005/10/02(日) 02:36:39 ID:???] PHPのスレで言うのもアレなんだがRubyのRails試してみるといい。 あとAppleのWebObjectsとか。Gauche(Scheme)なKahuaも ええよ。
311 名前:nobodyさん mailto:sage [2005/10/02(日) 09:25:07 ID:???] ライブラリは自分の書いたコードがライブラリのコードを呼び出す フレームワークは自分の書いたコードがフレームワークのコードから呼ばれる 基礎の基礎。
312 名前:302 mailto:sage [2005/10/02(日) 09:44:41 ID:???] >>303 分かりやすい説明ありがとうございます。 Webアプリ用のフレームワークについてはなんとなく分かったような気がします。 でも「Mac OS XのCocoaフレームワーク」なんていうのを 聞いたことありますが、あれはHTMLとは関係ないですよね。 そういう場合はどう考えればいいのか。 >>311 呼び出す方向による分類は新鮮です。いや、これに関しては無知でした。 デスクトップ・アプリで言うところのイベント駆動型かどうかという分類でしょうか。 ありがとうございます。
313 名前:nobodyさん mailto:sage [2005/10/02(日) 10:35:14 ID:???] チーム開発のメリットだとしても、それフレームワーク使うより、 PECLで独自の拡張関数を増やすほうがよろしいんじゃないでしょうかね
314 名前:nobodyさん mailto:sage [2005/10/02(日) 13:12:15 ID:???] 扱っている案件において検討した結果 そういう結論に至ったのならそういうケースもある。 当然フレームワークを利用する方が良いケースもあるでしょう。
315 名前:nobodyさん mailto:sage [2005/10/02(日) 13:18:58 ID:???] PECLで独自関数っていうとCで拡張モジュールを書くということ? それがチーム開発においてプラスになるのはかなり特殊なケースに思えるけど。 ていうかそんなの実際にあるんかいな。
316 名前:nobodyさん mailto:sage [2005/10/02(日) 16:48:05 ID:???] あなたまかせの特定のフレームワークを使い倒すよりは、 独自拡張をあわせたほうがいい気はするけどな
317 名前:nobodyさん mailto:sage [2005/10/02(日) 16:59:18 ID:???] >>311 シンプルだけど本質的な定義だな。
318 名前:nobodyさん mailto:sage [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派?
319 名前:nobodyさん mailto:sage [2005/10/02(日) 19:39:32 ID:???] そもそも PHP4 じゃ前者でしか書けない罠
320 名前:nobodyさん mailto:sage [2005/10/02(日) 22:32:53 ID:???] どっちも意味不明派。
321 名前:nobodyさん mailto:sage [2005/10/02(日) 22:42:00 ID:???] 後者は&いらないんじゃないか? そんな自分は「= &$foo」派
322 名前:nobodyさん mailto:sage [2005/10/03(月) 04:04:57 ID:???] >>318 PHP5では&はいらないわけだが。 むしろそのへんのことも含めMojavi系は面倒くさいので、そっとごみ箱にいれた派。
323 名前:nobodyさん mailto:sage [2005/10/03(月) 09:12:25 ID:???] >>322 めんどくさいかなぁ?? フレームワーク使わずにどうWebアプリ構築してるのか知りたい。 べた書き?後から見辛くない?
324 名前:nobodyさん mailto:sage [2005/10/03(月) 09:14:42 ID:???] 別にPHP4だから、かならず参照渡ししないといけないわけじゃない。 対象のオブジェクトや配列の複雑さの程度だとか、後から値を変えたいかとかによる。
325 名前:nobodyさん mailto:sage [2005/10/03(月) 10:55:25 ID:???] >>324 まあ確かにそうだけどさ、プロパティを変えないつもりでオブジェクト値渡ししといたら、後々になってからやっぱりプロパティを変える操作をした場合に辻褄あわなくなるじゃん。 PHP4だったら常に参照渡しにしたほうが楽な希ガス。
326 名前:nobodyさん mailto:sage [2005/10/03(月) 12:48:32 ID:???] 配列はよりけりだけど オブジェクトは一律参照渡しでほとんど問題なくない?
327 名前:nobodyさん mailto:sage [2005/10/03(月) 14:42:31 ID:???] 問題ないというか、PHP5や他の言語を考えると 必要な場面でのみ値渡しにしたほうがいいと思う
328 名前:nobodyさん mailto:sage [2005/10/03(月) 15:56:03 ID:???] 要はオブジェクトは特に理由がないなら参照渡しにしとけって話でFA。
329 名前:nobodyさん mailto:sage [2005/10/03(月) 16:02:55 ID:???] ふりーえーじぇんと宣言?
330 名前:nobodyさん mailto:sage [2005/10/03(月) 19:53:20 ID:???] っていうか参照渡しとか値渡しとか意味わからん漏れはダメ人間。
331 名前:nobodyさん mailto:sage [2005/10/04(火) 03:25:49 ID:???] どうしてわかってくれないのっ!
332 名前:nobodyさん mailto:sage [2005/10/04(火) 16:01:01 ID:???] ティン!
333 名前:nobodyさん mailto:sage [2005/10/04(火) 18:09:25 ID:???] フレームワークとふかわがものすごいミスマッチだな
334 名前:nobodyさん mailto:sage [2005/10/04(火) 20:38:36 ID:???] _____ /二二ヽ ||・ω・|| <ティン!!!!! |σ |σ > > 山崎邦正ならマッチするのに
335 名前:nobodyさん [2005/10/05(水) 17:39:44 ID:gDrff9QN] requestとかcontrollerをAction中の複数のメソッドで使う時、 initializeでgetしておいてprivateなプロパティーとして持っておくのはアリ?
336 名前:nobodyさん mailto:sage [2005/10/05(水) 17:49:44 ID:???] 最近主流の複数画面で構成されてるサイトって フレームワーク(的なもの)がなければ作れないよなぁ。 ベタ書きで作ってるサイトなんてあるんだろうか?
337 名前:nobodyさん mailto:sage [2005/10/05(水) 22:36:32 ID:???] >>336 複数画面で構成されてるサイトって ?
338 名前:nobodyさん mailto:sage [2005/10/05(水) 22:44:00 ID:???] >>337 ヘッダ-メイン-右サブ-左サブくらいにエリアが分かれてて それぞれのエリアのコンテンツ構成が動的に変化するようなの。 ポータルとかニュースサイトのほとんどがこれ系だよね。
339 名前:nobodyさん mailto:sage [2005/10/06(木) 01:04:30 ID:???] 別にフレームワークが必須だとは思わないけど。 フレームワークが一番効果を発揮するのは、何画面にも渡るアンケートフォームだろうね。 アンケートデータの持ち回りと、ヴァリデーションに応じて遷移先の画面が変わるから。
340 名前:nobodyさん mailto:sage [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
341 名前:nobodyさん mailto:sage [2005/10/06(木) 06:29:57 ID:???] >標準的くさいからナシ。 久しぶりにその方言聞いた。なつかしいなー。
342 名前:nobodyさん mailto:sage [2005/10/06(木) 13:06:02 ID:???] www.glamenv-septzen.net/pukiwiki/index.php?pokox 和製フレームワーク追加
343 名前:nobodyさん mailto:sage [2005/10/06(木) 13:07:29 ID:???] 仕事でMojavi使ってた人は今どうしてるんだろう Agaviに流れたのか他に行ったのか
344 名前:nobodyさん mailto: [2005/10/06(木) 15:47:14 ID:???] >>339 データの持ち回りなんてセッションで十分だと思うのだが・・・・ いまだに俺はフレームワークの利点が分からない。
345 名前:nobodyさん mailto:sage [2005/10/06(木) 19:53:34 ID:???] >>342 名前似てるけど、俺は和製フレームワークはpokが一押し。 >>343 多分仕事で使ってた人は、少なからず手を加えてるので、 わざわざAgaviには流れてないんじゃないのかな? >>344 自分一人で作ってたりする人はそうかもね。 「俺的フレームワーク」ってのを知らんうちに使ってたり。 まさか毎回1からなんて事はないでしょ?
346 名前:nobodyさん mailto:sage [2005/10/06(木) 20:18:00 ID:???] >>345 その pok ってのポインタきぼん
347 名前:nobodyさん mailto:sage [2005/10/06(木) 20:24:05 ID:???] www.geocities.jp/toyprog/wikimojavi/index.html ここのおかげでやっとDecoratorを理解した… 自分がハメハメされるテンプレートをあらかじめ指定しておけるんだね。 こりゃ便利だ。
348 名前:345 mailto:sage [2005/10/06(木) 21:31:38 ID:???] >>346 ttp://cgi39.plala.or.jp/klove/ S2Container.PHP5の人ね。 Seasarに関わってる人達を個人的にスゲー注目してる。 パフォーマンス的には??って感じは否めないけど、 PHPでも結構やれるなって事がわかって良かった。 スゲー勉強になった。 S2Daoとかスンゲー期待してる。 俺の中では糞盛り上がってるんだけど、 MLとかスンゲー寂しいし、ひょっとしてめちゃくちゃ マイナーなのかなぁ・・・と心配になってきてる・・・。
349 名前:nobodyさん mailto:sage [2005/10/07(金) 01:02:37 ID:???] >>348 ありがとー Seasar.PHP の ML は読んでるから名前は見ていた人だわ S2Dao とかおれも期待しているんだけど 正直,きちんと追ってない人には活動が何してんのか見えなさすぎて, それがマイナーっぽい原因になってるんだろうなーと思う
350 名前:nobodyさん mailto:sage [2005/10/07(金) 04:58:48 ID:???] フレームワークのウリとしてフォームの取り回しの簡便化がよく喧伝されるけど 俺はそこはあんまり重要じゃないなぁ。 そんなにしょっちゅう書く部分じゃないし、もともと単純な処理がほとんどだし。 デザインパターンに基づいた保守性の高さや、 見通しの良さの方が嬉しい。 簡単なことが簡単になっても、あんまり嬉しくないけど 複雑なものを単純にすることが出来たら、かなり嬉しい。
351 名前:nobodyさん mailto:sage [2005/10/07(金) 05:03:27 ID:???] privateやprotectedもないPHPでデザパタ重視はどうかと思う
352 名前:nobodyさん mailto:sage [2005/10/07(金) 05:20:40 ID:???] >>351 釣りなのか、PHP5 を知らないのか、どっち?
353 名前:351 mailto:sage [2005/10/07(金) 05:23:35 ID:???] >352 釣りだ 350はデザパタがメインのレスじゃないだろ まぁこれでも読んで考えてくれ ttp://www.enpitu.ne.jp/usr10/bin/day?id=104241&pg=20050818 このスレとは全然関係ないんだけどさ
354 名前:nobodyさん mailto:sage [2005/10/07(金) 08:06:14 ID:???] フレームワークを使っているから、オブジェクト指向かというと、そういうわけでもないよな。 メンテナンス性を上げようと思えば、在り物のフレームワークを使うより、 自分なりにそのWEBアプリにあった仕組みを考えた方がメンテナンス性が上がる場合もあるだろうし、 メンテ担当の技量を考えて、クラスをいっさい使わないようにした方がメンテしやすい場合もあるだろう。
355 名前:nobodyさん mailto:sage [2005/10/07(金) 13:12:01 ID:???] forwardすることを前提としたactionでも、 url直接入力して直呼びすることもできるよね。 何か対策してる?
356 名前:nobodyさん mailto:sage [2005/10/07(金) 13:37:39 ID:???] してる
357 名前:nobodyさん mailto:sage [2005/10/07(金) 13:56:25 ID:???] いくつか方法は考えられそうだけど どんな?
358 名前:nobodyさん mailto:sage [2005/10/07(金) 14:04:28 ID:???] requestにsetAttributeして飛び先actionで確認
359 名前:nobodyさん mailto:sage [2005/10/07(金) 14:12:14 ID:???] なるほど thanks
360 名前:nobodyさん mailto:sage [2005/10/07(金) 16:36:25 ID:???] 結局そういうことにrequestのattributeだとかuserのparameterを使うと、(コントローラの呼び出し等を除いて)実行されるコードの最初から最後までアクセス可能ってことになる。 そうなるとグローバル変数と変わらないんだよな。 もっと各状態の遷移ごとにアクセス制限のかかったデータの受け渡しができればいいんだけど、うまくいかないもんだ。
361 名前:nobodyさん mailto:sage [2005/10/07(金) 17:27:56 ID:???] セッション管理ではだめなのか?
362 名前:nobodyさん mailto:sage [2005/10/07(金) 17:40:15 ID:???] >>354 おいおい、そんな事させるからPHP使いはウンコのまんまなんだよ。 クラスを一切使ってねぇ〜システムなんざ見る気しねぇ〜よ。 つーかクラス使わずどうWebアプリ作ったらいいんだろ?すら思う。
363 名前:nobodyさん mailto:sage [2005/10/07(金) 17:53:18 ID:???] 351の言ってる保守性は、アプリ自体の保守性 354が言ってるのはアプリ上に乗っかってくるデータやコマンドのメンテナンス性 で、フォーカスしてる層が違う感じがするな
364 名前:nobodyさん mailto:sage [2005/10/07(金) 18:27:14 ID:???] PHP4にはデストラクタないし、例外も投げれないから、クラスをネストさせたり、複雑に組み合わせたりはやりづらいよね。 スコープを明示できないからクラスを使わざるをえないけど、それじゃあクラスをクラスらしく使ったプログラミングとは言えない。 もっとも、WEBアプリというジャンル自体、オブジェクト指向のメリットがあまりないジャンルだと思うね。 どっちみちリクエストのたびにオブジェクト作り直しになるわけで、ユーザからの入力データもリクエストごとにフラットにしかこないわけで。使いどころがない。
365 名前:nobodyさん mailto:sage [2005/10/07(金) 18:32:28 ID:???] > もっとも、WEBアプリというジャンル自体、オブジェクト指向のメリットがあまりないジャンルだと思うね。 ふーん。
366 名前:362 mailto:sage [2005/10/07(金) 18:41:02 ID:???] >>364 それは俺に対する回答だと思っていい? クラス使ってる=オブジェクト指向っていうのが間違ってると思うよ。 実際自分を顧みるに、オブジェクト指向を意識してクラスを使い始めたが、 オブジェクト指向にはならず、単に構造化になっただけだった。 だがそれだけでもかなり見通しが良くなったと思ったよ。 単にメンテ性だけを考えてもクラスを使用しているアプリと、 クラスを全く使用してないアプリとどっちがメンテし易いか? って考えるとどっちだと思う? 俺はベタ書きで書かれたものを渡されて「メンテしろ」って言われたら、 とりあえず「作り直させてください」って言うな。 あと、クラスのネストってどういう事?
367 名前:nobodyさん mailto:sage [2005/10/07(金) 23:01:26 ID:???] DecoratorTemplate使う時で、 HTMLのヘッダ部での 外部JavaScriptファイルの読み込みとか JavaScriptの初期値設定が必要な場合、どうしてる? 自分が「部分」になれるDecoratorは便利だけど 入れこみたい情報がソース中でバラける時、面倒くさいなぁ。
368 名前:nobodyさん mailto:sage [2005/10/07(金) 23:14:07 ID:???] 別にクラスを使えばオブジェクト指向になるとは思わないよ。 それとフレームワークとオブジェクト指向とは関連性があるわけじゃないとも思う。 まあ、フレームワークにもよるけど。 これは言うまでもないと思うけど、オブジェクト指向を生かせるのはGUIのデスクトップアプリケーションとか。 WEBアプリの場合、リクエストの度にオブジェクトを作り直さないといけない。 特にPHPは永続化をどうするか?とか、言語機能が少ないとか、速度が落ちるとかっていう欠点もある。 まあ、これからはAjaxとかFlashとかで、高度なGUIを持ったWEBアプリが要求されるだろうから、そうなるとオブジェクト指向のメリットも出てくるかな。 けど、HTML自体があまりオブジェクト指向なプレゼン言語とは思えないんだよなあ。
369 名前:nobodyさん mailto:sage [2005/10/07(金) 23:26:18 ID:???] >>368 フレームワークとオブジェクト指向とは関連性があるわけじゃないとも思う って関連ありまくりじゃん。 OOのエッセンスが分かちがたい程たっぷり入ってると思うよ。 OOを使わずともライブラリ集は作れるだろうが、 フレームワークは作りにくいだろう。
370 名前:nobodyさん mailto:sage [2005/10/08(土) 00:07:12 ID:???] >>368 今時「PHPでOOPすると性能が落ちる」とか言ってるのは時代錯誤もいいとこ。
371 名前:367 mailto:sage [2005/10/08(土) 01:39:24 ID:???] ViewHelperで解決した(゜д゜)
372 名前:nobodyさん mailto:sage [2005/10/08(土) 01:55:47 ID:???] デストラクタもないのにオブジェクト指向ってありえるんだろうか?
373 名前:nobodyさん mailto:sage [2005/10/08(土) 02:24:56 ID:???] なんだこの掃き溜めは
374 名前:nobodyさん mailto:sage [2005/10/08(土) 02:26:59 ID:???] デストラクタがないとオブジェクト指向なプログラミングができない、 という思考回路が判らない。言語仕様に捉われすぎてる悪寒。
375 名前:nobodyさん mailto:sage [2005/10/08(土) 02:28:24 ID:???] ありだと思うな。 Cでもオブジェクト指向でまとめられたライブラリやツールキットは山ほどあるし。 オブジェクト指向プログラミング自体はべつに大抵の言語で可能だとおもう。 たしかにPHPはオブジェクト指向言語として設計されたわけじゃないが、 これとPHPでオブジェクト指向プログラミングをする事は矛盾しないだろう。
376 名前:nobodyさん mailto:sage [2005/10/08(土) 02:45:50 ID:???] てか5にはデストラクタもあるよ。 でもウェブアプリでデストラクタを使う機会はあんまりないだろ。
377 名前:nobodyさん mailto:sage [2005/10/08(土) 05:08:37 ID:???] >>372 あるよ
378 名前:nobodyさん mailto:sage [2005/10/08(土) 05:09:53 ID:???] >>370 時代錯誤というより、単に知識が乏しいだけだと思う。
379 名前:nobodyさん mailto:sage [2005/10/08(土) 05:32:22 ID:???] このスレでPHPによるオブジェクト指向プログラミングを否定している 連中は、オブジェクト指向じゃなくてC++ or Java指向になってるんじゃないか? rubyもデストラクタは持ってないしな(GCがあるからだけど)。
380 名前:nobodyさん mailto:sage [2005/10/08(土) 06:07:15 ID:???] 確かにウェブアプリじゃデストラクタなくても、なんとかなる。どうせ1回こっきりでプロセスごと終了するんだから。 そうすると、こったオブジェクト作ってもしょうがないじゃん。シングルトンとか、ウェブアプリでどれくらい意味あるのか。
381 名前:nobodyさん mailto:sage [2005/10/08(土) 07:48:43 ID:???] >>380 SingletonはDB接続に関するクラスで使ってるな俺は。 スゲー便利だしすっきりするなぁって思ったね。 要は使い方によるかなと。
382 名前:nobodyさん mailto:sage [2005/10/08(土) 07:56:41 ID:???] ほっといてやれよ。
383 名前:nobodyさん mailto:sage [2005/10/08(土) 08:43:12 ID:???] >>381 1回のアクセスでオブジェクトが全部ご破算になるWebアプリでシングルトンの意味はある? $_db_ = new MyDB(); function getDB() { global $_db_; return $_db_; } : : //実際使う場所 $db = getDB(); これでいいんじゃない?
384 名前:nobodyさん mailto:sage [2005/10/08(土) 09:07:34 ID:???] >>383 グローバルオブジェクトを利用したSingletonの実装の一形態だろそれ いいんじゃない? と言われりゃそうですねと言うしかないな Java厨って実装から何から全部Javaと一緒じゃないと否定したがるのがうざいな
385 名前:nobodyさん mailto:sage [2005/10/08(土) 09:16:29 ID:???] >>383 意味が無いと思ったら使わなければいいだけの話じゃん
386 名前:nobodyさん mailto:sage [2005/10/08(土) 09:45:38 ID:???] PHP5にはデストラクタあるだろ。
387 名前:nobodyさん mailto:sage [2005/10/08(土) 10:47:02 ID:???] あるって何回も書かれてるってw
388 名前:nobodyさん mailto:sage [2005/10/08(土) 10:56:20 ID:???] 383のやり方だとグローバル空間が汚れるじゃん。 _を使うのはやっぱり苦肉の策だし、クラシックな作法だろう。
389 名前:nobodyさん mailto:sage [2005/10/08(土) 11:00:17 ID:???] おれはsingltonならstaticで書きます。
390 名前:nobodyさん mailto:sage [2005/10/08(土) 14:36:34 ID:???] DB_DataObjectなんかは>>383 みたいな感じだね Java厨というよりJavaを意識しすぎたPHPユーザー、みたいな印象を受ける Javaを意識するあまり、「PHPじゃないと出来ないことをしないといけない」みたいな傾向ってあったと思う 最近はその対象がRubyに移ってきたみたいだけど
391 名前:nobodyさん mailto:sage [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かなんかで廣川さんが 解説してて、それ以来使ってるけど、あれ使ってる人って 聞いたことないから不安になってた。 スレ違い&長文すまん。
392 名前:nobodyさん mailto:sage [2005/10/08(土) 16:42:29 ID:???] OOにデストラクタを重視する奴は意味が分からないな 前時代の遺物的存在じゃん 後片付けは言語側で勝手にやってくれる方が今風だし、キレイだ
393 名前:nobodyさん mailto:sage [2005/10/08(土) 17:14:13 ID:???] C++でOOP入りした人は感覚的に染み付いていて、抵抗あるんじゃないかな。 オレも昔はそうだった。ruby, PHP, C#で、すっかり骨抜き?にされたけど。 なんつーか最初の頃は堕落した感じがしたもんだ。 (良い悪いとかじゃんくて、楽チン→堕落、みたいな妙な感覚)
394 名前:nobodyさん mailto: [2005/10/08(土) 17:52:40 ID:???] お、お前ら・・・お前ら何言ってんだ?? お前らの会話の内容がサッパリ分からんぞ、DQNな漏れは。 もうね、難しいとか難しくないとかいうレベルじゃない。 何の予備知識もないスワヒリ語を聞いてる感じ。
395 名前:nobodyさん mailto:sage [2005/10/08(土) 18:06:12 ID:???] >>394 それはDQNだからじゃなくて単にオブジェクト指向開発用語を知らないだけだと思う つまりそれを勉強すればこの会話の意味はすっかり解るだろうし 勉強して損ないものなのでぜひ習得してみるべし
396 名前:nobodyさん mailto:sage [2005/10/08(土) 18:38:45 ID:???] >>395 勉強できる Web をうpきぼん。
397 名前:nobodyさん mailto:sage [2005/10/08(土) 19:05:01 ID:???] >>392 勝手に行うのはメモリ開放だけだろ。 さらにPHPはfinally構文がない。
398 名前:nobodyさん mailto:sage [2005/10/08(土) 21:14:56 ID:???] finally構文ってオーバーライドを禁止するfinalのことか? finalならPHP5にあるが。
399 名前:nobodyさん mailto:sage [2005/10/08(土) 21:17:47 ID:???] >>398 例外処理のfinallyでしょ。 Javaなら以下のように書けるけど、PHPではfinallyが書けないので リソースの破棄を行いたい場合などに二度手間になることがある。 try { 例外の起こりそうな処理 } catch (Exception e) { 例外発生時の処理 } finally { 例外が起きても起きなくても実行したい処理 }
400 名前:383 mailto:sage [2005/10/08(土) 22:26:28 ID:???] >>390 > Java厨というよりJavaを意識しすぎたPHPユーザー、みたいな印象を受ける JavaはHelloWorldくらいしか書いたことないな。 俺のよくいじる言語はSmalltalk, Ruby, PHP, JavaScriptだよ。 あとSchemeも好きだな。 わざわざclass定義してstatic変数用意して2つもメソッド書いて、 結局>>383 のたった6行でできることをかえって複雑にするのはアホらしい ってことだ。
401 名前:nobodyさん mailto:sage [2005/10/08(土) 22:41:27 ID:???] まあ、「Singletonって書きたいだけちゃうんか」というコードが多い という気はする。
402 名前:nobodyさん mailto:sage [2005/10/08(土) 22:43:38 ID:???] >>309 >>他にもデメリットとして、smartyのようなテンプレートエンジンを使うと実行速度がぐっと下がるし、 これはウソでしょ。
403 名前:nobodyさん mailto:sage [2005/10/08(土) 22:45:32 ID:???] Singletonパターンってイディオムみたいな感じだよね。 確かに無理して本に乗ってる書き方通りにしなくても良いとは思う。 Javaみたいにマルチスレッド環境になることもないし。
404 名前:nobodyさん mailto:sage [2005/10/08(土) 23:03:48 ID:???] 383の書き方だと、呼び出し側のコードを見ただけでは それがSingletonなのかどうかは判別できないじゃん。 確かに伝統的な書き方は記述が面倒だけど、 一人の思考ではなかなか太刀打ちできない強度があるもんだよ。 たくさんの頭脳を経た思考の蓄積や時間による淘汰は馬鹿に出来ない。
405 名前:nobodyさん mailto:sage [2005/10/09(日) 00:09:28 ID:???] >>400 わざわざ冗長に見える記述をするのはそれなりの理由があるからで、 それが感じられないならオブジェクト指向自体が冗長だろう ていうかSmalltalkとかRubyのほうがよりオブジェクト指向が強いと思うのだが
406 名前:nobodyさん mailto:sage [2005/10/09(日) 00:13:58 ID:???] 冗長って何?
407 名前:nobodyさん mailto:sage [2005/10/09(日) 00:26:12 ID:???] >>406 君は初心者向けの本とかをたくさん読んできなさい フレームワークスレはまだ早い
408 名前:nobodyさん mailto:sage [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で ちょっと損した気分になるね。
409 名前:nobodyさん mailto:sage [2005/10/09(日) 03:49:12 ID:???] PHPでのシングルトンには、「リソースを効率よく使うため」ではなくて 「意図を表すコーディング」としての効果を期待しろ、ということで。
410 名前:nobodyさん mailto:sage [2005/10/09(日) 07:15:34 ID:???] >>400 なんか実用的なプログラム書いた事無くて、頭の中で屁理屈こねくり回してるって印象を受けるな〜
411 名前:nobodyさん mailto:sage [2005/10/09(日) 07:19:12 ID:???] PHPに限らずアクセスレベルなんかも、 実際に使っちゃうリスクへのヘッジというよりも 意図を埋め込む意味合いの方が強いよね。
412 名前:nobodyさん mailto:sage [2005/10/09(日) 11:23:06 ID:???] 意図なんてコメントとして書いておけばよい。
413 名前:nobodyさん mailto:sage [2005/10/09(日) 12:57:50 ID:???] >400 そもそもシングルトンで重要なのは、コンストラクタを private とかにして、 オブジェクトの生成が出来る箇所を限定することの方だろ。
414 名前:nobodyさん mailto:sage [2005/10/09(日) 14:48:09 ID:???] ↓これはシングルトン? /** * シングルトンとして使ってください(オブジェクトは1度だけしか生成しないでください)。 */ class Example { : }
415 名前:nobodyさん mailto:sage [2005/10/09(日) 14:58:42 ID:???] プログラムは改変されていくものだから、 コメントがいつの間にか嘘の説明にならないよう、 むしろ少なめ推奨がモダンな作法。 独善的持論をぶってる奴はもう少し勉強しれ。
416 名前:nobodyさん mailto:sage [2005/10/09(日) 15:04:08 ID:???] DB鯖がセッション用と顧客データ用と別だったりとかさー DBオブジェクト複数接続先で使いたい時とかって割と無い?
417 名前:nobodyさん mailto:sage [2005/10/09(日) 15:06:04 ID:???] ↑解かりづらいか、「DBオブジェクトを接続先別に複数生成したい時」と言い換え
418 名前:nobodyさん mailto:sage [2005/10/09(日) 15:18:56 ID:???] 俺はSingletonなDBオブジェクトにコネクションコンテナを持たせてる
419 名前:nobodyさん mailto: [2005/10/09(日) 16:51:24 ID:???] >>415 もまた独善的持論なわけだが。
420 名前:nobodyさん mailto:sage [2005/10/09(日) 16:53:47 ID:???] ハイハイそうだね
421 名前:nobodyさん mailto:sage [2005/10/09(日) 18:16:42 ID:???] あー、415のせいで荒れ始めただろ……責任とって下さい、415
422 名前:nobodyさん mailto:sage [2005/10/09(日) 18:49:57 ID:???] 何で糞ガキがこんなスレに迷い込んできたんだ…。
423 名前:nobodyさん [2005/10/09(日) 18:52:26 ID:j3jR0Qvz] ままー おなかすいたー
424 名前:nobodyさん mailto:sage [2005/10/09(日) 18:56:57 ID:???] >>415 >プログラムは改変されていくものだから、 まあ、その通り。 >コメントがいつの間にか嘘の説明にならないよう、 確かに気をつけないと。 >むしろ少なめ推奨がモダンな作法。 いきなり妄想が入ってきました。 >独善的持論をぶってる奴はもう少し勉強しれ。 独善的持論乙
425 名前:nobodyさん mailto:sage [2005/10/09(日) 19:30:17 ID:???] >>424 だから勉強してから書けって言ってるだろ? お前の浅薄な意見なんて何の参考にもならねーんだよ。
426 名前:nobodyさん [2005/10/09(日) 19:38:21 ID:QrQMlw6M] ソースのコメントを少なめ推奨している、モダンな作法とやらのポインタくれ。
427 名前:nobodyさん mailto:sage [2005/10/09(日) 19:38:25 ID:???] お子ちゃまたちは XP(エクストリーム・プログラミング)についてなど 調べてみようね。 最近よく出版されてる軽めのプログラミング読本も 結構参考になるよ。
428 名前:nobodyさん mailto:sage [2005/10/09(日) 19:39:39 ID:???] 底が知れたなw 一瞬俺の知らない技術体系が発生してるのかとおもた
429 名前:nobodyさん mailto:sage [2005/10/09(日) 19:45:20 ID:???] XPってコメント少なめ推奨してるのか?
430 名前:nobodyさん mailto:sage [2005/10/09(日) 19:50:40 ID:???] コメントなきゃ判らんコードはリファクタリング候補ってこと 量が少ないほうがいいとかモダンとか言うのはオカルトつーか誤認
431 名前:nobodyさん mailto:sage [2005/10/09(日) 19:56:38 ID:???] >>430 同じことを簡単に言ってるだけだろ。 まあケチつけたいだけの奴は Singletonをコメントで実現しとけばいいんじゃねーの?
432 名前:nobodyさん mailto:sage [2005/10/09(日) 20:03:13 ID:???] 全く違うよ。XPのレトリックが読めてない典型ワナビー君じゃん。 コードとの差異が出ないようにコメントを最小化する、なんてのは アジャイルでもなんでもないし、リファクタリングしないことが前提の 固定的な開発思想でしょ。
433 名前:nobodyさん mailto:sage [2005/10/09(日) 20:07:19 ID:???] ここはフレームワークについて語るスレですよ。OOPの話は↓でしない? PHPでオブジェクト指向プログラミング pc8.2ch.net/test/read.cgi/php/1113724557/
434 名前:nobodyさん mailto:sage [2005/10/09(日) 20:18:50 ID:???] よしフレームワークにおけるアノテーションやAOPの意義について考えようぜw
435 名前:nobodyさん mailto:sage [2005/10/09(日) 20:29:41 ID:???] >>432 あー、お前の言うことにも一理あるね。 というか、お前が俺の言葉をどのように捉えたのかは理解したよ。 言葉のツラだけ捉えればまさにオカルトという言葉が相応しいかもしれない。 世の中には言葉をそういう風に使って金儲けや愚かな事をする輩が溢れているから ダイレクトにそう捉えられたのも無理はないと思う。 だけど俺が言いたいのはそういうことじゃないんだよ。 なんか議論がつまらない方向に発展していきそうなのでこのへんで切り上げますが。
436 名前:nobodyさん mailto:sage [2005/10/09(日) 20:35:02 ID:???] >>435 上の流れがあるから指摘の意義は判ってる奴は普通に判ってるだろ 幼稚な煽りで見れたものじゃないがな
437 名前:nobodyさん mailto:sage [2005/10/09(日) 22:21:08 ID:???] >>434 PHPでリフレクションを利用したコメントアノテーションはちょっと興味ある 言語仕様になくても無理矢理実現できるのがPHPらしいというかなんと言うか
438 名前:nobodyさん mailto:sage [2005/10/09(日) 22:33:52 ID:???] まあ今のとこお守りみたいなもんでコメントと大差ないけどね
439 名前:nobodyさん mailto:sage [2005/10/09(日) 23:00:25 ID:???] >>434 XPはコメントとかコード外のメタデータや宣言を否定するわけじゃないっつの それがリファクタを困難にするとも言ってない 読めるコードを書けっていう当たり前のことが言いたいだけなんです
440 名前:nobodyさん mailto:sage [2005/10/09(日) 23:22:19 ID:???] みんな理屈はいいから結論を書いてくれよ >>414 はアリ?ナシ?
441 名前:nobodyさん mailto:sage [2005/10/09(日) 23:24:45 ID:???] お子ちゃまは寝る時間ですよ
442 名前:nobodyさん mailto:sage [2005/10/09(日) 23:40:49 ID:???] オフィシャルではアノテーション導入する気はないみたいだなあ。 やっぱりコンパイラが対応してくれないと…フレームワークレベルでは実効力に欠ける。 Maple以外でDI+AOPなフレームワークってないのかな?
443 名前:nobodyさん mailto:sage [2005/10/10(月) 00:43:37 ID:???] >>440 本当に理屈は要らないんだな? ナシ。
444 名前:nobodyさん mailto:sage [2005/10/10(月) 02:00:10 ID:???] フレームワークのメンテナが提供してるサンプルは どれもこれもシンプル過ぎていまいち参考にならないなぁ もっと踏み込んだサンプルをチボンヌ
445 名前:nobodyさん mailto:sage [2005/10/10(月) 07:29:44 ID:???] 議論を読んでない俺が思うのは、開発手法の議論は他のスレでやってくれということだ。 つーかガチガチのクラス使いたいならJavaでやれ。 PHPでやらなきゃならん制約があるなら新スレでも立てるろや。
446 名前:nobodyさん mailto:sage [2005/10/10(月) 07:35:31 ID:???] 俺が思うのは フレームワークの開発がどれも停滞し過ぎということだ。
447 名前:nobodyさん mailto:sage [2005/10/10(月) 09:25:29 ID:???] YAMLってJSONみたいな物?
448 名前:nobodyさん mailto:sage [2005/10/10(月) 09:35:59 ID:???] >>442 上にも出てたけどpok。 実務レベルでどうか知らんけど、勉強用にはとても良かった。 >>446 最近はMapleが活発になってきたんじゃないかな?
449 名前:nobodyさん mailto:sage [2005/10/10(月) 10:57:46 ID:???] MapleってM3のDecoratorみたいな CompositeViewを実現する機構がなくない? そこが俺的には痛いッス
450 名前:nobodyさん mailto:sage [2005/10/10(月) 11:04:05 ID:???] >>447 違うね。
451 名前:nobodyさん mailto:sage [2005/10/10(月) 11:09:10 ID:???] >>450 どっちも汎用の構造化データ記法でしょ? 同じような物じゃないの?
452 名前:nobodyさん mailto:sage [2005/10/10(月) 11:45:47 ID:???] >>451 JSON と XML が同じようなものである程度には, JSON と YAML は同じようなものだとは思うが, 一般的には「違うもの」として捉えられていると思う. てゆーかJSONって形式としちゃ汎用とはいえ 例えばPHP→Javaのデータ転送にJSON形式使う奴なんていないんじゃないかと……
453 名前:nobodyさん mailto:sage [2005/10/10(月) 11:50:50 ID:???] 構造をあらわすっていう超大雑把な括りに何か意味あんの?
454 名前:nobodyさん mailto:sage [2005/10/10(月) 11:55:22 ID:???] >>452 だがJSONはそれでいい
455 名前:nobodyさん mailto:sage [2005/10/10(月) 12:03:23 ID:???] >>453 意味っていうかプロトコルの一種だろ やりとりのための約束ごととして決めておく。 絶対的な必然性はなかなかありえないから 「どっちでもいい」に落ち着きそうな気はする。
456 名前:nobodyさん mailto:sage [2005/10/10(月) 13:49:15 ID:???] 強いて言えば 人間に読みやすく設計されてるのがYAML JavaScriptに読みやすく設計されてるのがJSON 誰もが読みにくい代わりに高機能なのがXML って感じかねぇ?
457 名前:nobodyさん mailto:sage [2005/10/10(月) 13:54:12 ID:???] 確かにYAMLは人が見やすいなぁ 中庸っぽさがPHPと似てるかも JSONも嫌いじゃないけど
458 名前:nobodyさん mailto:sage [2005/10/10(月) 14:37:54 ID:???] JSONは専らJavaScriptと連携するときに使う印象。 ところでMapleはPHP5には対応しないのかな? Mapleの目指す方向からしてPHP5で書いた方がずっと楽&適してるように思うんだけど。
459 名前:nobodyさん mailto:sage [2005/10/10(月) 14:44:41 ID:???] 前から4で続けると明言してる やったことないけど、5じゃ動かんの?
460 名前:nobodyさん mailto: [2005/10/10(月) 17:11:33 ID:???] っていうかつまらん議論してるならコンピュータなんて捨てちまえ!!! 別に無くてもあまり生活に困らないぞ。
461 名前:nobodyさん mailto:sage [2005/10/10(月) 17:17:24 ID:???] >>460 この議論がつまらんと思うなら460にはそれが良かったんだろうな 幸せな人生を歩んでくれ
462 名前:nobodyさん mailto:sage [2005/10/10(月) 19:13:07 ID:???] Mapleって4なんだ。 プレゼンテーション層をActionだけにしたところは共感してるんだけど 機能的にはまだMojavi系の方が厚いっぽい。
463 名前:nobodyさん mailto:sage [2005/10/10(月) 19:28:10 ID:???] DIってのは簡単に言うと 器だけおいておくとフレームワークが勝手にオブジェクトを 放り込んでくれるウンコホウリナゲ!( ゚∀゚)つ=====o みたいなことを言ってるのかな?
464 名前:nobodyさん [2005/10/10(月) 19:38:53 ID:+MnfvWOk] >>463 そんな感じかな。
465 名前:nobodyさん mailto:sage [2005/10/10(月) 21:11:32 ID:???] ウンコホウリナゲ!( ゚∀゚)つ=====oられるために Mapleは設定ファイルを用意、 guessworkはプロパティーを用意すると。 Actionだけを見てざっと把握できるから その点ではguessworkがいいかな…。
466 名前:nobodyさん mailto:sage [2005/10/11(火) 12:40:17 ID:???] 勉強してる余裕ないから、いまだにguessworkしか使えない。(´・ω・`)ショボーン
467 名前:nobodyさん mailto:sage [2005/10/11(火) 18:13:27 ID:???] Mojaviで 属性をメソッドから返す作法が面倒くせーと思ってたけど(プロパティー用意で良くね?と) 内部条件によって属性を変えられるメリットがあるんだな。 Mojaviは知るほどに、「よく考えられているなー」という部分がある。
468 名前:nobodyさん [2005/10/11(火) 19:47:53 ID:G45STU1Q] >>467 Mojaviだからではなくて、ただの情報隠蔽だろ。
469 名前:nobodyさん mailto:sage [2005/10/11(火) 20:54:40 ID:???] mojavi4って一応作ってるんだな ソース見る限りでは、完成には程遠いけど
470 名前:nobodyさん mailto:sage [2005/10/11(火) 21:58:17 ID:???] >>468 それもあるだろうね。 ただそれだけじゃなく、コードを書くことを前提としてると思うよ。
471 名前:nobodyさん mailto:sage [2005/10/11(火) 23:15:49 ID:???] >>470 ?? 属性をセッターゲッターで操るのはMojavi独自の実装ではなくて定石だろ?
472 名前:nobodyさん mailto:sage [2005/10/11(火) 23:33:22 ID:???] だな。俺もコードを書く時に「ゲッターロボ GO-!!」とか[セッターロボ GO-!!」とか言いながらやってるよ。
473 名前:nobodyさん mailto:sage [2005/10/11(火) 23:34:34 ID:???] 単なるセッターゲッターじゃなくて Actionにとっての設定的な項目を メソッドの形で実装して返すのがMojavi流じゃん。 しかもプロパティーに対するアクセサじゃないから セッターゲッターじゃないし。 設定ファイルで済むようなことを なんでメソッド書きまでしなきゃいけないのかと疑問だったのだが、 確かに利はあるな、と思ったということ。
474 名前:nobodyさん mailto:sage [2005/10/11(火) 23:35:27 ID:???] 利→理だね
475 名前:nobodyさん mailto:sage [2005/10/12(水) 00:49:34 ID:???] >>473 セッターゲッターの存在意義わかってる?
476 名前:nobodyさん mailto:sage [2005/10/12(水) 02:03:55 ID:???] >>475 いや当然普通に分かってるけど…。 なんかいまいち伝わらないみたいだな。
477 名前:nobodyさん mailto:sage [2005/10/12(水) 10:36:29 ID:???] >>476 RubyとかRailsの人のよく言う言語重要てやつのことかね。 設定ファイルなどに頼るな、言語で一回だけ書きゃいいのだ。というあの信条。 うちではJava系のひとのStrutsアレルギーでMojaviは使っていないのだけれど。
478 名前:nobodyさん mailto:sage [2005/10/12(水) 15:07:00 ID:???] >>181 遅レスだが firefoxならOSXでも使えるんだね 昔はMacなんて置いてけぼりだったのに便利な時代になったなぁ
479 名前:nobodyさん mailto:sage [2005/10/12(水) 18:11:38 ID:???] オブジェクト指向的にSQLを組み立てられるソリューションをどなたか知りませんか? 分散DBにしたいので、DBアクセス部分はこっちで書こうと思っています。 SQLのみを書いて欲しいのですが、それに機能を限定したものが なかなか見つかりません。
480 名前:nobodyさん mailto:age [2005/10/12(水) 23:10:35 ID:???] PHPで最適なフレームワークはなに?
481 名前:nobodyさん mailto:sage [2005/10/12(水) 23:23:10 ID:???] 一長一短で、定番はないよ。
482 名前:nobodyさん mailto:sage [2005/10/13(木) 09:49:24 ID:???] 長所短所を比較しているところってないですか?
483 名前:nobodyさん mailto:sage [2005/10/14(金) 04:53:33 ID:???] >>476 いやいやわかってないってw
484 名前:nobodyさん mailto:sage [2005/10/14(金) 07:20:42 ID:???] ? 分からないのはむしろ君の頭の中だが…。 そもそもがセッターゲッターの話じゃないわけで。 Mojaviを実際に使ったことあるかい?
485 名前:nobodyさん mailto:sage [2005/10/14(金) 07:52:01 ID:???] >>475 と>>483 はほっとけ スルーしてりゃ消えるでしょ
486 名前:nobodyさん mailto:sage [2005/10/14(金) 11:51:40 ID:???] この板の人達はスルーすることを知らない
487 名前:nobodyさん mailto:sage [2005/10/14(金) 13:55:39 ID:???] 技術者だから基本まじめなんだよ。 だいたいフレームワークスレで煽る意味が分からない…。
488 名前:nobodyさん mailto:sage [2005/10/15(土) 13:24:45 ID:???] >>487 煽る→怒った奴の中に自称女が現れる→女と証明してみろブサイコと煽る →怒った女は、オッパイやパンツ写真をUP→みんな素人エロ画像にマッタリ
489 名前:nobodyさん mailto:sage [2005/10/15(土) 16:04:32 ID:???] >>488 うむ、とても平和な流れだ。 その流れを、このスレに当てはめるとどうなるんだろう。
490 名前:nobodyさん mailto:sage [2005/10/15(土) 23:57:37 ID:???] ここPHPのフレームワークスレだよね。。。 いま作ってるんだけど、需要あるのかなぁ。
491 名前:nobodyさん mailto:sage [2005/10/16(日) 16:16:44 ID:???] >>490 既存のフレームワークより優れた点があるのなら
492 名前:nobodyさん mailto:sage [2005/10/16(日) 16:30:50 ID:???] 既存フレームワークも大分広まってるから あまりにも独自だと、 学習コストが比較的高くなって普及しないかもね。 かなり戦略的でないとこれから普及されるのは難しいと思う。
493 名前:nobodyさん mailto:sage [2005/10/17(月) 01:25:22 ID:???] >>492 今ある奴で開発がとまり気味のものとか、今あるものをベースに 進化させてくれるひとがいたら結構いいと思うけどな
494 名前:nobodyさん mailto:sage [2005/10/17(月) 01:40:18 ID:???] またforkふえるのか! agaviかmojavi4に統一しようよもう。
495 名前:490 mailto:sage [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を書くといった感じです。
496 名前:nobodyさん mailto:sage [2005/10/19(水) 19:59:15 ID:???] >>495 DBラッパーはPDO以上なん? HTMLテンプレートはSmarty以上なん?
497 名前:nobodyさん mailto:sage [2005/10/19(水) 21:33:26 ID:???] 今からだとDB抽象クラスはPDOで十分だと思うけど テンプレートは Smarty 以上である必要なんてないじゃん。 (そもそも何をもって「Smarty以上」とするのか) Smarty は高機能で普及もしてるけど個人的には良いとは思わないし。 テンプレートエンジンとフレームワークが密に連携するってのも面白いと思うよ。 携帯絵文字は Vodafone のエスケープシーケンス使う奴がウザいね。 DoCoMo や EZweb の絵文字は比較的扱いやすいんだけど。
498 名前:nobodyさん mailto:sage [2005/10/19(水) 22:21:53 ID:???] 絵文字変換なんていいんじゃない? そういうアプローチのフレームワークはまだないし
499 名前:nobodyさん mailto:sage [2005/10/19(水) 22:58:41 ID:???] >>498 絵文字変換だけならフィルターとか掛けてやるだけじゃん
500 名前:nobodyさん mailto:sage [2005/10/19(水) 23:18:29 ID:???] >>499 絵文字はSJISでテンプレートとかDBはEUCJP推奨だから、特にsmarty使うとき色々面倒
501 名前:nobodyさん mailto:sage [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絵文字なら他のキャリアでもゲートウェイが端末に応じた絵文字に変換してくれるし。
502 名前:nobodyさん mailto:sage [2005/10/20(木) 03:09:08 ID:???] >>500 smartyを使いこなせていない予感。
503 名前:500 mailto:sage [2005/10/20(木) 03:16:14 ID:???] >>502 むしろ使うためにsmartyをハックした
504 名前:nobodyさん mailto:sage [2005/10/20(木) 11:28:03 ID:???] >>503 スーパーハッカーこわー
505 名前:nobodyさん mailto:sage [2005/10/20(木) 20:20:44 ID:???] 絵文字変換なんかまさにフィルターの仕事。
506 名前:nobodyさん mailto:sage [2005/10/22(土) 00:38:22 ID:???] ドコモの絵文字をDBに入れるときどうすればいいの? EUCに変換したら消えちゃうよね? DBをSJISにするの?
507 名前:nobodyさん mailto:sage [2005/10/22(土) 02:52:18 ID:???] itpro.nikkeibp.co.jp/article/USNEWS/20051021/223249/ Zendが「Zend PHP Framework」なるものを作ってるとのこと。 最終的にはこれに収斂されるのかな。
508 名前:nobodyさん mailto:sage [2005/10/22(土) 10:02:06 ID:???] >>506 絵文字を入れたいタプルをBLOB型に設定してBINARYフラグを有効にする
509 名前:nobodyさん mailto:sage [2005/10/22(土) 14:03:08 ID:???] >>508 そんなことしてオーバーヘッド大丈夫なの? 少量ならそりゃ大丈夫だろうけど、全文検査とかどうよ? postgresqlのsjisパッチあてるとかは?
510 名前:nobodyさん mailto:sage [2005/10/22(土) 18:35:14 ID:???] >>506 俺は文字参照に変換してる。
511 名前:nobodyさん mailto:sage [2005/10/22(土) 20:53:13 ID:???] CakePHPのソースを漫然と眺めていたんだけど、その語尾の特殊変化の設定ファイルに penisとtestisがあったよ。これで下品なソースでも安心だね。アダルトサイトにも最適。 でもこれいいわ。なんて言うか、流れに身を任せればとても楽。コンパクトだから見通しもいい。 それにやっぱり死にかけのプロジェクトよりも生きのいい方がいいしね。
512 名前:nobodyさん mailto:sage [2005/10/23(日) 02:30:29 ID:???] >>511 >語尾の特殊変化の設定ファイル なにそれ
513 名前:nobodyさん mailto:sage [2005/10/23(日) 02:34:17 ID:???] >>510 ?xA0; みたいなやつ? 他キャリアのつもみんなドコモのやつに置き換えるの? てか、フレームワークすれでこんなこと聞いてすまん。
514 名前:nobodyさん mailto:sage [2005/10/23(日) 06:55:11 ID:???] cake
515 名前:nobodyさん mailto:sage [2005/10/23(日) 16:59:56 ID:???] >>512 cakeはRails系なので、規約は設定に勝るっていう哲学で作られてる。 たとえば、Userというモデルが対応するテーブルはUsers決め打ちになる。 だから、特殊な場合の変化形を自前でもっとく必要がある。 もちろん、大抵の規約は上書きすることができるけど、それだとcakeの意味がないしね。
516 名前:nobodyさん mailto:sage [2005/10/23(日) 20:58:51 ID:???] >>507 JavaのJakartaプロジェクトみたいなものかな。 今後の標準になるようなものを作って欲しいなぁ。
517 名前:nobodyさん mailto:sage [2005/10/23(日) 21:58:24 ID:???] >>516 Zend自身が乗り出してるから標準を目指してるんだろうね これをふまえて今の草の根フレームワークはどう動くんだろ? Mojavi4は完成するのか…
518 名前:nobodyさん mailto:sage [2005/10/23(日) 23:50:08 ID:???] >>517 Zendはどうせ金になるエンタープライズ領域しか目に入っていないだろうから 既存のフレームワークとは競合しないような予感。 あとは、ZendStudio必須とか、余計なことしちゃいそう。
519 名前:nobodyさん mailto:sage [2005/10/24(月) 00:45:36 ID:???] >>518 たしかに余計なことしちゃいそう よく考えるとZend提供のPHP関連サービスに いい評判はあまりないもんなぁ。
520 名前:nobodyさん mailto:sage [2005/10/24(月) 03:51:45 ID:???] www.symfony-project.com/ mojavi + rails = symfony てか、もう迷うのも面倒なんで そろそろ定番出てきてホスィ…
521 名前:nobodyさん mailto:sage [2005/10/24(月) 04:36:42 ID:???] 定番を望むのもわかるけど、 何でもできる=どれも中途半端な性能 てことが往々にしてあるので、すきなの見つけて自分で 進化させていくのがいいかも。 できればsourceforgeとかつかってw
522 名前:nobodyさん mailto:sage [2005/10/24(月) 15:04:10 ID:???] Zend PHP Framework あれどうなってんの?
523 名前:nobodyさん mailto:sage [2005/10/24(月) 15:04:59 ID:???] >>519 Smartyとか?
524 名前:nobodyさん mailto:sage [2005/10/25(火) 10:38:07 ID:???] SmartyってZend発?
525 名前:nobodyさん mailto:sage [2005/10/25(火) 12:33:45 ID:???] 違うと思う
526 名前:nobodyさん mailto:sage [2005/10/25(火) 22:39:29 ID:???] まぁZendの事だから、期待出来ないな。 今までノータッチだったけど、Ethnaって良さそうだなぁと思い、 本家のML見て見てみたら、ら○じぃがいるじゃねぇかよ。 あいつ嫌いなんだよな・・・。 坊主憎けりゃ・・・じゃないけど、なんかEthnaやだなぁ・・・。 藤本神は好きなんだけどなぁ・・・。
527 名前:nobodyさん mailto:sage [2005/10/25(火) 23:01:50 ID:???] そんなこと言うもんじゃありません
528 名前:nobodyさん mailto:sage [2005/10/25(火) 23:04:45 ID:???] netevil.org/node.php?nid=633 アクレコキタコレ
529 名前:nobodyさん mailto:sage [2005/10/26(水) 07:10:19 ID:???] ZendのFrameworkはお布施用にきまってるだろ
530 名前:nobodyさん mailto:sage [2005/10/26(水) 08:56:51 ID:???] いやフレームワークでは金は取らないじゃないか?
531 名前:そりゃないか mailto:sage [2005/10/26(水) 09:23:36 ID:???] Zend Framework Lite 無料 Zend Framework Enterprise 有料
532 名前:nobodyさん mailto:sage [2005/10/26(水) 14:00:18 ID:???] DB周りのコンポーネントとか有料かもな
533 名前:nobodyさん mailto:sage [2005/10/27(木) 03:34:49 ID:???] Zend Studioお布施済みの俺としては、Studio対応で無問題。
534 名前:nobodyさん [2005/10/28(金) 21:50:40 ID:geHxPjMK] Mojaviで モバイル/PCの分岐はどこでどんなふうにやってる?
535 名前:nobodyさん mailto:sage [2005/10/29(土) 01:43:09 ID:???] >>534 やったことないけど、フィルタでforward分けしたらいいんじゃない?
536 名前:nobodyさん mailto:sage [2005/10/29(土) 02:16:56 ID:???] >>534 なにを目的として分岐をするかによる。 機能を分けたいならActionを分けるだろうし、 表示を分けたいだけならViewだろう。
537 名前:nobodyさん mailto:sage [2005/10/29(土) 13:30:02 ID:???] Mojaviのフィルタって好きなだけ作れるけど プリフィルタしか使わない場合とかポストフィルタしか 使わない場合とかってある?
538 名前:nobodyさん mailto:sage [2005/10/29(土) 23:44:53 ID:???] それはよくあるでしょ。
539 名前:nobodyさん mailto:sage [2005/10/30(日) 11:03:38 ID:???] agavi api 日本語訳 ttp://www.geocities.jp/toyprog/agavi-doc/
540 名前:nobodyさん mailto:sage [2005/10/30(日) 11:22:35 ID:???] >>539 乙
541 名前:nobodyさん mailto:age [2005/11/01(火) 22:33:59 ID:???] php5のひとはどのフレームワークつかってんの agaviとか?
542 名前:nobodyさん [2005/11/01(火) 23:23:56 ID:D/XKY8a/] Mojavi3を使っているんだけど、 複数のActionから共通のViewを呼び出すにはどうするのが綺麗なやりかただろう?
543 名前:nobodyさん mailto:sage [2005/11/01(火) 23:39:42 ID:???] >>542 Actionでarrayかえせばええやん
544 名前:nobodyさん mailto:sage [2005/11/02(水) 01:36:57 ID:???] MojaviはActionとViewが イチイチで対応してるからどうやってもトリッキーになりそうだな。 俺はViewを分けるほどのことないだろと思ってオリフレ作ったけど。 ViewHelperの仕込みとか結構ごちゃつくから分けてもよかったかもと 思ったりもする。
545 名前:nobodyさん mailto:sage [2005/11/02(水) 01:46:12 ID:???] >>544 日本語変。
546 名前:nobodyさん mailto:sage [2005/11/02(水) 18:54:03 ID:???] >>543 ActionでArrayをかえすってどういう具体的にどうすること?
547 名前:nobodyさん mailto:sage [2005/11/03(木) 02:43:18 ID:???] *** すべてのPHPユーザーに告ぐ *** www.hardened-php.net/advisory_202005.79.html www.hardened-php.net/globals-problem blog.ohgaki.net/index.php/yohgaki/2005/11/02/phpa_rc_fei_a_oa_oa_fa_sa_le_acsa_oe_afp PHPに深刻な脆弱性がある事が発表されました。今まで見つかったPHPの脆弱性の中でも「最悪」の脆弱性です。全てのPHPユーザは今すぐ対処を行う必要があります。
548 名前:nobodyさん mailto:sage [2005/11/03(木) 12:11:06 ID:???] >>546 俺も意味が分からなかった
549 名前:nobodyさん mailto:sage [2005/11/03(木) 13:09:55 ID:???] >>546 Mojavi3ではActionの戻り値として、 第一要素がモジュール名第二要素がビュー名の配列をかえすことによって、 遷移先を指定できる。
550 名前:nobodyさん mailto:sage [2005/11/03(木) 16:33:22 ID:???] >>549 そうなんだ そりゃ便利だね
551 名前:nobodyさん mailto:sage [2005/11/04(金) 23:32:52 ID:???] テンプレートエンジンをSmarty-lightにしてる人いる? Smartyとほとんど変わらず使えて、しかも軽くなるなら、 結構お得だと思うけどどうなんだろう。
552 名前:nobodyさん mailto:age [2005/11/05(土) 00:49:33 ID:???] おいagavi使ってるやついるか
553 名前:nobodyさん mailto:sage [2005/11/05(土) 02:20:18 ID:???] 10分で作るCakePHPアプリ for Windows - p4life p4life.jp/cake/ cakeってここまでやってくれるのか・・・
554 名前:nobodyさん mailto:sage [2005/11/05(土) 21:01:35 ID:???] >>553 それだけ見ると Rails と変わらないよね
555 名前:nobodyさん mailto:sage [2005/11/05(土) 21:21:51 ID:???] 簡単すぎて不安になるな 鯖一つで収まるようなシンプルなアプリにはかなり最強かも…
556 名前:nobodyさん mailto:sage [2005/11/05(土) 21:37:15 ID:???] つーか、rubyの勢いはマジですごい。
557 名前:nobodyさん mailto:sage [2005/11/05(土) 21:47:05 ID:???] 海外の連中はそのうち業を煮やして、Rails 用の Ruby を fork させそうな勢いだよな。
558 名前:nobodyさん mailto:sage [2005/11/05(土) 21:49:19 ID:???] ワロスww
559 名前:nobodyさん mailto:sage [2005/11/05(土) 23:42:35 ID:???] EthnaでPEAR::DBじゃなくてADODBって使えるのかな?
560 名前:nobodyさん mailto:sage [2005/11/05(土) 23:55:13 ID:???] >>559 Ethna 専用スレがあるよ 【PHPフレームワーク】Ethna【スケルトン自動作成】 pc8.2ch.net/test/read.cgi/php/1123070439/l50
561 名前:nobodyさん mailto:sage [2005/11/05(土) 23:59:23 ID:???] >>560 お、サンクス。 ちょうどその辺りの話題のレスがあるね。
562 名前:nobodyさん [2005/11/06(日) 01:02:45 ID:1KuwxXQW] S2PHP使ってる方いますか? どんな感じでしょう。
563 名前:nobodyさん mailto:sage [2005/11/06(日) 11:37:34 ID:???] >>562 流石に仕事に使ってる人はいないだろうね。 触った感じは面白いよ。上の方に出てたpokフレとして。 まぁ当然まだまだなんだけど、将来はかなり楽しみ。
564 名前:nobodyさん mailto:sage [2005/11/06(日) 12:29:44 ID:???] Mojaviの index.php/param/value/param/value 形式のURIってmod_rewriteとの併用前提なんだね。 間にindex.phpがまるだしでダセーURLになるなーとオモッテタ…
565 名前:nobodyさん mailto:sage [2005/11/06(日) 16:28:01 ID:???] >>564 ソースは?
566 名前:nobodyさん mailto:sage [2005/11/06(日) 19:17:49 ID:???] >>564 mod_rewrite使わなくても、index.phpに相当するファイルをForceTypeしちゃえばいいと思うよ。
567 名前:nobodyさん mailto:sage [2005/11/06(日) 22:26:13 ID:???] >>564 別に mod_rewrite 前提ってわけじゃないっしょ。
568 名前:564 mailto:sage [2005/11/07(月) 05:38:11 ID:???] >>565 そうじゃないかな?と思っただけでソースはないよ >>566 (入口)hoge.com/page/0/items/10 (出口)hoge.com/index.php/page/0/items/10 これをForthTypeでやるにはどうすればいいの? 考えてもいまいち分からなかった >>567 まあ検索エンジン対策という意味では index.phpがあってもなくても関係ないからなぁ
569 名前:nobodyさん mailto:sage [2005/11/07(月) 10:02:24 ID:???] path_info形式にすると ブラウザがドキュメントURLを誤認識するのが面倒くさいね リンク全部絶対URLにしなきゃならんのか。
570 名前:nobodyさん mailto:sage [2005/11/07(月) 10:39:05 ID:???] >>564 (入口)example.com/page/0/items/10 (出口)example.com/index.php/page/0/items/10 は無理だけど、 mv index.php hogehogeして、 (入口)example.com/hogehoge/page/0/items/10 ならどうよ?
571 名前:nobodyさん mailto:sage [2005/11/08(火) 00:44:57 ID:???] PHPプログラマーズマガジンで Seagull ってのが紹介されてるね。 立ち読みしか読んでないけど。 これ、フレームワーク? CMS?
572 名前:nobodyさん mailto:sage [2005/11/08(火) 03:42:16 ID:???] >>570 さんくす。 よくよく考えたら、mod_rewriteでindex.phpを無条件にはさむと、 他のファイルへのアクセスに支障が出るから、 そういう方法しかないかもしれない。
573 名前:nobodyさん mailto:sage [2005/11/09(水) 02:42:24 ID:???] longinus.org/src/summer2/reference/index.html 初めて見たんだけど、これの中ちゃんと読んだことある人いる?
574 名前:nobodyさん mailto:sage [2005/11/09(水) 09:10:03 ID:???] >>573 ぱっと見Mojavi系と似てるね デフォルト拡張子がincなのはセキュリティー上 推奨できないと思う
575 名前:nobodyさん mailto:sage [2005/11/09(水) 09:21:44 ID:???] フレームワーク大杉
576 名前:nobodyさん mailto:sage [2005/11/12(土) 16:50:24 ID:???] Synfony勢いとかサイトのクオリティーで抜きん出てる気がする これからはこれか?
577 名前:nobodyさん mailto:sage [2005/11/12(土) 17:07:53 ID:???] Symfonyのムービー見たらテンプレートにphp生書きで、 しかもテンプレート中から$user->getAttribute()とか平気でしてる。 最近Smartyみたいなテンプレートエンジンの 意義みたいなものに疑問を感じてきた俺には示唆的だった。 実際テンプレートエンジンから 独自文法の解釈外したら馬鹿みたいに短いコードで書けるんだよね。 もともとPHPはob_系関数があってキャッシュの実装なんかも やろうと思えばすぐ出来る環境だし。
578 名前:nobodyさん mailto:sage [2005/11/13(日) 01:22:28 ID:???] デザイナーにはHTMLを触らせず、cssだけいじらせる時代になってしまえ
579 名前:sage [2005/11/13(日) 08:33:59 ID:nNKS4KNy] >>578 当方デザイナ(つーかコーダかな)ですが、それ大いに賛成です。 開発者からページに掲載するデータの定義だけ教わって あとはxhtml&cssと格闘するみたいな。 もしくはxhtmlの出力フォーマットだけもらってもいいや。 tableタグ使ったレイアウトに決別すると、 どうしてもそういう方向になってくる気がします。
580 名前:nobodyさん mailto:sage [2005/11/13(日) 09:24:35 ID:???] もう一歩進んでhtml作るときにtdiary互換のcssを参照するようになったりしたら、 webデザイナーの仕事が減っちゃうかもしれないよ? でも、むしろその方が本来のグラフィックデザインの実力で勝負できていいのかな。
581 名前:nobodyさん mailto:sage [2005/11/13(日) 17:30:56 ID:???] おまいの作るhtmlは、えらく目的が限定されとるな。
582 名前:nobodyさん mailto:age [2005/11/14(月) 02:43:58 ID:???] php5なんだけど、何がおすすめ?
583 名前:nobodyさん mailto:sage [2005/11/14(月) 11:50:11 ID:???] これは既出? ttp://www.pm9.com/newpm9/itbiz/php/framework/ 何でもいいがFirefoxでもちゃんと見れるように作ってよ・・・orz
584 名前:nobodyさん mailto:sage [2005/11/14(月) 12:29:09 ID:???] ドキュメントとかしっかりしてるみたいだけど, 商用ライセンスってのが・・・
585 名前:nobodyさん mailto:sage [2005/11/14(月) 14:49:17 ID:???] >>583 ■クラスタリング 高負荷サイトの為のWebサーバ、DBサーバの並列化に対応しています。 これが気になるなー ちょっと見てみようかな
586 名前:nobodyさん mailto:sage [2005/11/14(月) 21:59:02 ID:???] >580 tdiary互換のcssって...なんでtdiaryなの?
587 名前:nobodyさん mailto:sage [2005/11/15(火) 01:06:37 ID:???] tDiaryのテーマを変えて喜んでるだけの厨房だから
588 名前:nobodyさん mailto:sage [2005/11/17(木) 09:26:30 ID:???] mojavi2ってsession_destroyは手動でやるしかない?
589 名前:nobodyさん mailto:sage [2005/11/19(土) 15:36:29 ID:???] Symfony見たらActionにショートカット用メソッド (getRequestParameterとか)付けてたから俺もそうした。 何か綺麗さが損なわれるような気がしてヤセ我慢してたけど。
590 名前:nobodyさん mailto:sage [2005/11/21(月) 03:01:02 ID:???] mojaviを勉強しはじめました。 参考になるソースを見ようかなと思うのですが、お勧めのオープンソースなものって ありませんか? できればmojavi2系 できれば、smartyとかadodbとか使ってたり 携帯の処理なんて書いてあるとさらに素敵です。
591 名前:nobodyさん mailto:sage [2005/11/21(月) 22:25:36 ID:???] cakePHPってデータベース絡みには結構よさげだけど認証や権限関連が弱いな
592 名前:nobodyさん mailto:??? [2005/11/21(月) 23:12:08 ID:???] mojaviでFPDF使っている人いる? なんかIEで表示されないんだけど、原因は何?
593 名前:nobodyさん mailto:age [2005/11/21(月) 23:14:05 ID:???] >>592 あんたもか!漏れもだわ。
594 名前:nobodyさん mailto:sage [2005/11/22(火) 00:24:11 ID:???] >>592 あぁ、それIEのバグ 対処法はいくつかあるけど
595 名前:nobody mailto:??? [2005/11/22(火) 12:19:16 ID:???] mojaviの外に出たら、うまくいった。
596 名前:nobodyさん mailto:sage [2005/11/22(火) 12:52:15 ID:???] view_noneじゃなくてexitすると動くことがある
597 名前:nobodyさん mailto:sage [2005/11/22(火) 16:52:59 ID:???] >>591 Controller の beforeFilter と PEAR::Auth を組み合わせればカンタン。 aclがいらないなら5行もあればできる。 でも、組込み認証の是非に関する議論は一応やってたと思う。 個人的にはこれ以上Controllerは太らないで欲しいんだけど...
598 名前:nobodyさん mailto:sage [2005/11/22(火) 19:29:40 ID:???] >>597 早とちりかな? 認証はともかくとして、権限をどうやってPEAR::AUTHで簡単に? 五行のコード載せてみて
599 名前:nobodyさん mailto:sage [2005/11/22(火) 20:31:33 ID:???] > aclがいらないなら acl = 権限ジャマイカ?
600 名前:nobodyさん mailto:sage [2005/11/22(火) 20:39:40 ID:???] >>594 対処法キボンヌ
601 名前:nobodyさん mailto:sage [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もあるらしい。
602 名前:nobodyさん mailto:age [2005/11/24(木) 22:26:05 ID:???] agavi で DBに接続したんですけど、下記 $db = $this->getContext()->getDatabaseManager()->getDatabase()->getConnection(); クエリーを発行するにはどうしますか。 MySQLDatabase.class.phpにはメンバー関数がないようだし。
603 名前:nobodyさん mailto:sage [2005/11/25(金) 14:25:00 ID:???] MVCのModelにあたる部分は、Mojaviで言うとどの部分になるのでしょうか? actionsでしょうか? 処理の部分をどこに書けばいいのかがわからなくて困っています。 MVCの記事をかなり読んだのですがどの部分がModelなのかちょっとよくわかりませんでした。
604 名前:nobodyさん mailto:sage [2005/11/25(金) 14:28:18 ID:???] >>602 よくわからんけどたぶんmysql_queryでやるんじゃん? >>603 MojaviにModelあるけど ActionはMVCのC
605 名前:nobodyさん mailto:sage [2005/11/25(金) 14:37:14 ID:???] Action内から呼び出す自作またはModelをextendsしたクラスあたりと思っていればよいかと。
606 名前:nobodyさん mailto:sage [2005/11/25(金) 15:44:35 ID:???] おいおいお前ら正気か CってControllerのCじゃないんかよ ビジネスロジックを担当するんだからActionクラスはModelだろ それとももっと違う次元の話か?
607 名前:nobodyさん mailto:sage [2005/11/25(金) 16:00:45 ID:???] Action内でビジネスロジックを実行する場合はAction=M Actionから一層掘り下げてModelを呼ぶ場合は Action=Cになるんじゃないの? 前から思ってたがあまり峻別できない概念だよな。 MVCがお互いを包摂し合ってる部分がある。 音楽のジャンル分けみたいなもんだな。 厳密な区分が最初からあるわけじゃない。
608 名前:606 mailto:sage [2005/11/25(金) 16:09:51 ID:???] なるほどね まあ確かにそう使う場合もある罠 もともとWebアプリの世界の話じゃないしな、曖昧になるのは仕方ないというかなって当然 そういう意味ではDBの設計と似てるところがあるかな MVCにとらわれすぎてクソな実装かますのが一番ダメダメ つーか実際書き始めるとMVCとか結構どうでもよくなってくる 設計段階での指針程度にとどめておくべきだろうな
609 名前:nobodyさん mailto:sage [2005/11/25(金) 16:20:05 ID:???] 結論 >>603 MVCとかどうでもいいからまず動くように書いてみろ、話はそれからだ どうしても気持ち悪ければあとでいくらでもリファクタリングするよろし その過程でだんだんMVCになることもあればそうでない場合もある っつーのが本質だと思うんだな俺は。
610 名前:nobodyさん mailto:sage [2005/11/25(金) 17:24:45 ID:???] なるほど勉強になりました。 明確な区別はないんですね。 実はもうコーディングをしててformsの下とかviewsの下にもロジックを書いたりしていて 多分違うんだろうなぁ〜と思って聞いてみました。 VIEWを返しているあたりは、action=Cと思ったんですけど、その前に処理を書こうかなと 思います。 formsはどこに当たるかといったら、まぁModelと考えておけばいいですかね。 そういうことがナンセンスなのかもしれませんが。
611 名前:nobodyさん mailto:sage [2005/11/25(金) 21:04:56 ID:???] PHP5.1.0リリースだというのに静かなものだね・・・。 俺が思うに、ある程度知識がないとMojavi使いきれないと思うよ。 とりあえずMojaviでいうViewが必要ないフレームワークにしてみたら?
612 名前:nobodyさん [2005/11/26(土) 01:25:15 ID:a7zffmpw] mojavi2.0を使っています。 www.stackasterisk.jp/tech/php/mojavi02_01.jsp ここを参考にディレクトリ構造を変えたのですが、 レンタルサーバでhtdocsをベースに指定する事って出来るのでしょうか?
613 名前:nobodyさん mailto:sage [2005/11/26(土) 04:50:35 ID:???] そんな解決はできても難しいし、やるべきじゃない方法だよ。 多分、フレームワークの理解を根本的に間違えてるんじゃないかな。 DocumentRootにindex.phpを置いて、外部からアクセス禁止してる箇所にmojaviフォルダとwebappフォルダを置く。 あとはpath調整して動かすんだよ。
614 名前:nobodyさん mailto:sage [2005/11/26(土) 08:50:15 ID:???] そうそう わかんないうちはとかくなにもかもマニュアルの通りにしないといけない、と鵜呑みにしがちだけど、 少し冷静に考えてみるとどうでもいい事なんてたくさんあるぜよ。 つーわけでindex.phpはどんな名前のディレクトリにあろうがブラウザから参照できる位置に置くべし まーほとんどのレン鯖の場合public_html以下に適当な名前のディレクトリ作ってほりこんでるんでないかね。
615 名前:nobodyさん mailto:sage [2005/11/26(土) 10:50:33 ID:???] mojaviで "class IndexAction extends Action"のようにIndexでactionを指定しても "xxx/?module=xxx&action=Index "とわざわざ書かないと Only variable references should be returned by reference と怒られてしまって困ってます。 環境は PHP 4.4.1-pl1 mojavi 2.0.3 beta です。
616 名前:nobodyさん mailto:sage [2005/11/26(土) 11:21:14 ID:???] それは困りましたね^^;;;;;
617 名前:615 mailto:sage [2005/11/26(土) 11:41:56 ID:???] すみません、解決しました
618 名前:nobodyさん [2005/11/26(土) 12:33:18 ID:2543W0TM] >>617 最近流行ってるね
619 名前:nobodyさん mailto:sage [2005/11/26(土) 13:54:07 ID:???] >>618 よくわかったね
620 名前:nobodyさん mailto:sage [2005/11/26(土) 14:23:28 ID:???] >>619 スキだからさ
621 名前:\_________/ mailto:sage [2005/11/26(土) 15:15:03 ID:???] V _____ /::::::::::::::::::::::::::\ /::::::::::::::::::::::::::::::::::::::\ |:::::::::::::::::|_|_|_|_| |;;;;;;;;;;ノ \,, ,,/ ヽ |::( 6 ー─◎─◎ ) |ノ (∵∴ ( o o)∴) /| < ∵ 3 ∵> ::::::\ ヽ ノ\ :::::::::::::\_____ノ:::::::::::\
622 名前:nobodyさん mailto:sage [2005/11/26(土) 15:36:40 ID:???] PHPでフレームワーク(笑)
623 名前:nobodyさん mailto:sage [2005/11/26(土) 20:37:10 ID:???] あなたも技術者の端くれなら何か有用な情報を書き込んでください。 ここはWebプログラミング"技術"の板です。 煽りは必要ないです。
624 名前:nobodyさん mailto:sage [2005/11/26(土) 21:19:29 ID:???] >>623 迷惑掛けて申し訳ない しばらくロムります
625 名前:612 mailto:sage [2005/11/26(土) 22:44:49 ID:???] >>613 ,614 レスありがとうございます。 なるほど。アドバイスありがとうございます。 出来るだけアドレスを短くしたいんで index.phpはDocumentRoot直下に置きたいんです。 でもレンタルサーバを借りているんで、そうするとmojaviフォルダとwebappフォルダも DocumentRootになってしまうなと思いお聞きしました。 外部からアクセス禁止してるフォルダのあるレンタルサーバってあるのでしょうか? それとも.htaccessで禁止するしかないでしょうか?
626 名前:612 mailto:sage [2005/11/27(日) 00:27:09 ID:???] 自宅鯖を立てることにしました。ありがとうございました。
627 名前:nobodyさん mailto:age [2005/11/28(月) 02:21:48 ID:???] mojavi3のviewにあるdecorator ってプロパティーはどんないみあるの
628 名前:1-627 mailto:sage [2005/11/28(月) 10:56:11 ID:???] すみません、全て解決しました。
629 名前:nobodyさん mailto:sage [2005/11/28(月) 16:28:05 ID:???] >628 流行ってんの?
630 名前:nobodyさん mailto:sage [2005/11/28(月) 17:36:24 ID:???] なあに、かえって免疫力がつく
631 名前:nobodyさん mailto:sage [2005/11/30(水) 04:52:05 ID:???] cakephpでADODBって実質使えないな… selectLimitらへんとか、あの作り方じゃまともな対応期待できそうにないな
632 名前:nobodyさん [2005/11/30(水) 17:47:33 ID:yPyLs/p1] >>631 詳しく
633 名前:nobodyさん mailto:sage [2005/11/30(水) 17:48:31 ID:???] >>495 これどうなったんだろ 携帯に対応しやすいフレームワークって面白いかと思ったんだけど Mapleの半角<-->全角とかも日本らしいくて、こっちも携帯とか期待できるのかな
634 名前:nobodyさん mailto:sage [2005/11/30(水) 18:21:22 ID:???] >>632 一番てっとりばやいのは、oracle8iとかDB2とか動かすこと。 まともにうごかない。 cakephpのselectLimitのソース見るとわかるけど、adodbの機構一切つかわず Limit生書き。コメントにも、「adodbがlimit句のsql文取得するためのもの持ってないんで対応できませーん」 みたいなこと書いてある。
635 名前:nobodyさん mailto:sage [2005/11/30(水) 22:27:42 ID:???] ほんとだ... でもこれ、lastInsertId()が単なるプレースホルダーで、呼んだ瞬間にdie()だから、 動かないのは当然だよね? Model::save()で死ぬし(w wikiのドキュメントにあるadodb対応っていう看板はまだ外しておくべきだな。
636 名前:nobodyさん mailto:sage [2005/12/01(木) 13:07:20 ID:???] でもよく考えたら adodb にdbごとの適切なLimit節文字列を返す機構ってあったっけ? adoのドライバのレベルの話? AdoConnection::selectLimit() を使えよって話なら、そもそも "to get correct limit string" するためのものじゃないし、上のレベルのModelはこのために全面改装が必要になるし。
637 名前:nobodyさん mailto:sage [2005/12/01(木) 13:12:50 ID:???] 関係ないがadodbはReplaceの形でinsertとupdateもできるようにしてくれ。 あとautoquote時に数字もquoteしてくれ。 text型に入れてても000000が0になる。
638 名前:nobodyさん mailto:sage [2005/12/01(木) 15:46:10 ID:???] どのフレームワークでもいいんですが、フレームワークを使ったオープンソースな ソフトってご存じないですか?
639 名前:nobodyさん mailto:sage [2005/12/01(木) 15:57:03 ID:???] 存じております
640 名前:nobodyさん mailto:sage [2005/12/01(木) 16:17:39 ID:???] ttp://www.horde.org/ の IMP や Chora とか。 Mojavi の知りたい。
641 名前:nobodyさん mailto:sage [2005/12/01(木) 16:57:05 ID:???] >>636 >でもよく考えたら adodb にdbごとの適切なLimit節文字列を返す機構ってあったっけ? 文字列を返すのはないよ。 適切に実行することはできるけど
642 名前:nobodyさん mailto:sage [2005/12/01(木) 21:07:40 ID:???] >>639 存じておりましたら存じているものをここへ書いて下さい
643 名前:nobodyさん mailto:??? [2005/12/01(木) 23:21:16 ID:???] quickformでプルダウンメニューの入力チェックしたいんだけど、addruleでやってもうまく機能しません。 何故?
644 名前:nobodyさん mailto:sage [2005/12/02(金) 01:43:30 ID:???] BasicSecurityFilter使うと無限forwordループならね〜か?
645 名前:nobodyさん mailto:sage [2005/12/02(金) 06:04:33 ID:???] >>642 WaWaWa >>643 多分書き方がおかしい >>644 使ったこと無い
646 名前:nobodyさん mailto:sage [2005/12/02(金) 07:05:58 ID:???] 日経システム構築に、 セキュリティーの観点からは DB格納の直前にもバリデーション行うべきって書いてた。 確かにそう思うけど、 となるとフレームワーク使った場合、 プレゼンテーション層とビジネスロジック層の 両方でバリデーションすることになるよね。 そのあたりどうしてる? 同じ一つの定義を読むのか、 ビジネスロジック層のバリデーションを簡易的なものにするか…
647 名前:nobodyさん mailto:sage [2005/12/02(金) 07:11:52 ID:???] >DB格納の直前にもバリデーション行うべき なにこれkwsk
648 名前:nobodyさん mailto:sage [2005/12/02(金) 07:28:41 ID:???] >>647 普通はだいたい、 フレームワークに用意されたバリデーションをまず行ってから、 そのデータをDAO的なクラスに渡してDBに書き込むじゃん。 DAO的なクラスでも、 一度バリデーションを受けてるはずだからといってデータを信用するのではなく、 そこでも精査すべきだということ。 コードコンプリートでいう 防御的プログラミングというやつだね。
649 名前:nobodyさん mailto:sage [2005/12/02(金) 08:58:48 ID:???] >>648 了解 djb的思想だね
650 名前:nobodyさん mailto:sage [2005/12/02(金) 10:37:43 ID:???] みんなDAOな作りしてんの? なんかDAOにしちゃうと、リッチなSQL書けなくならない? 又は、ビジネスロジックがDAOに入っちゃう。 だって、リッチなSQLってビジネスロジック含むじゃない?
651 名前:nobodyさん mailto:sage [2005/12/02(金) 14:09:33 ID:???] RDBMSはオブジェクト指向じゃないから。それをオブジェクトで取り出そうとすると、どこかしらに無理が出てくるのはしょうがない。
652 名前:nobodyさん mailto:sage [2005/12/02(金) 14:37:00 ID:???] そんなのは前提としてさあ
653 名前:nobodyさん mailto:sage [2005/12/02(金) 14:37:10 ID:???] DAOって再利用性けっこう低くない?(スキル低いだけって言われそうだけどorz) 再利用性を高くしようとすると、SQLを直につっこんでもあんま変わらないし。 特定の用途にカスタマイズすると再利用がだんだん難しくなるし。 できる奴はうまいことDAO作ってんのかな? それともDAOって毎回がんばって作る宿命?
654 名前:nobodyさん mailto:sage [2005/12/02(金) 16:01:31 ID:???] >>653 DAOを上手く利用しようとするなら自分独自のクエリーを作ってそれを 各SQLに対応したクエリーに変換するclassを自分で作るしかない。 今の段階のDAOは・・・あまり意味がない。
655 名前:nobodyさん mailto:sage [2005/12/02(金) 16:12:42 ID:???] 一人で開発してて、手が早いひとならSQLを直に書いたほうがいいんじゃないの。 大規模開発なら、APIを統一しないとやってられないだろうね。
656 名前:nobodyさん mailto:sage [2005/12/02(金) 21:18:36 ID:???] mojavi2ってPHP5で動かないの?
657 名前:nobodyさん mailto:sage [2005/12/02(金) 21:37:14 ID:???] mojavi3 が PHP5 用。
658 名前:nobodyさん mailto:sage [2005/12/02(金) 22:16:38 ID:???] >>657 mojavi3は終了して今mojavi4作ってます。 agaviも0.10 目指してガンガッテます。
659 名前:nobodyさん mailto:sage [2005/12/03(土) 02:41:18 ID:???] >>658 Mojavi4進んでなくない? これじゃagaviと合体する前に消滅の悪寒。
660 名前:nobodyさん mailto:sage [2005/12/03(土) 06:50:17 ID:???] シンフォニー力入ってんなぁ。
661 名前:nobodyさん mailto:sage [2005/12/03(土) 06:53:47 ID:???] 新興フレームワークの方が発展していきそうだね いずれにしろまだどれも固まってないから実務には使えない…
662 名前:nobodyさん mailto:sage [2005/12/03(土) 10:52:29 ID:???] 今一番日本語のドキュメントがまとまっているのがEthnaかな? 現在勉強中。
663 名前:nobodyさん mailto:sage [2005/12/03(土) 11:44:20 ID:???] maple、DI入ってるからよさそう。EthnaはまだDIないし。
664 名前:nobodyさん mailto:sage [2005/12/03(土) 11:45:19 ID:???] まあ、Struts→Ethna Seaser→Mapleっていう構図だよな。
665 名前:nobodyさん mailto:sage [2005/12/03(土) 13:18:46 ID:???] >>663 そうだね。 Spring frameworkの紹介記事読んでMapleに興味持ったけど、 フレームワーク初心者にはちとドキュメントが足りない・・・。 後、データアクセス層のサポートがホスィな。
666 名前:nobodyさん mailto:sage [2005/12/03(土) 19:53:00 ID:???] EthnaやMapleは絶対にスタンダードにはなり得ない。 Mojaviでギリギリだろ。実質Zendフレームワークのだけじゃね? EthnaやMapleなんか勉強しても無駄だからやめておけ。
667 名前:nobodyさん mailto:sage [2005/12/03(土) 20:18:20 ID:???] >>666 できればその理由なんかも・・・
668 名前:nobodyさん mailto:sage [2005/12/03(土) 20:30:55 ID:???] リリースされたZEND謹製フレームワークを見て ケツから血を流すがいいです
669 名前:nobodyさん mailto:sage [2005/12/03(土) 20:46:32 ID:???] kunitタンはEthna,Maple,Seasar PHPと手を広げすぎないで 完成度を高めてほしい、というのはある。どれも中途半端。
670 名前:nobodyさん mailto:sage [2005/12/03(土) 21:37:16 ID:???] どっちかっていうとDI/AOPやらRoRやら概念的なことに手を広げすぎているような あれもこれも取り入れたいってのは分かるんだけどね・・・いつまでたっても完成は出来んわな
671 名前:nobodyさん mailto:sage [2005/12/03(土) 23:22:07 ID:???] mojavi2を使用しているのですが、 php4.4.1でエラーが発生する事を今知りました。 もう開発は終わっているとの事ですので、修正される事はないんですよね? このような点を考慮するとagaviというのを使った方がいいのでしょうか? レンタルサーバの関係でphp5での使用は考えていません。 mojaviは気に入っていたのでmojavi系が良いと思っています。
672 名前:nobodyさん mailto:sage [2005/12/03(土) 23:31:37 ID:???] ソースはあるんだし、修正すればえぇやん
673 名前:671 [2005/12/03(土) 23:58:35 ID:QwnhGijP] >>672 確かにその通りです。 今回のエラーは修正できますが、割と時間がかかりそうな場合や 自分では修正できないような時を考えてできるだけメンテが活発に行われている 物を使用したいと思ったまでです。
674 名前:nobodyさん mailto:sage [2005/12/04(日) 00:14:45 ID:???] どっかにパッチあったよ。 どっかに。
675 名前:nobodyさん mailto:sage [2005/12/04(日) 00:34:35 ID:???] >>671 www.stackasterisk.jp/tech/php/mojavi08_01.jsp
676 名前:671 [2005/12/04(日) 00:50:01 ID:OBVYrvMK] >>675 どうもありがとうございます。 助かりました。
677 名前:nobodyさん mailto:sage [2005/12/04(日) 02:19:47 ID:???] >>676 というか、バグがあるからmojaviJapanのエラーの修正入っているやつにしれ
678 名前:nobodyさん mailto:sage [2005/12/04(日) 02:25:41 ID:???] ユーザ登録、メール送信、URLのクリックで認証というのをmojavi2でやりたいんですが そういうコードないですかね
679 名前:646 mailto:sage [2005/12/04(日) 04:33:57 ID:???] 一番嫌なのが巨大なデータをSQLに仕込まれることなので、 データのサイズチェックだけすることにしたよ。 後はサニタイズだけちゃんとしておけば致命的にはならないだろう。
680 名前:671 [2005/12/04(日) 22:56:24 ID:gXRf3OY+] >>677 そんなのがあるんですか。知りませんでした。
681 名前:nobodyさん [2005/12/05(月) 02:11:12 ID:dkL9yz1o] >>666 PHPの言語仕様自体がころころ変わっている最中なのに、 スタンダードなものは作れないと思われ。 でもオレオレフレームワークで好き勝手に作るよりは、上手い人の エッセンスを流用して作る方がいいと思うので、現時点でマニュアルが 充実してて、開発を放棄されていない奴を選べばいいのでは?
682 名前:nobodyさん mailto:sage [2005/12/05(月) 09:12:05 ID:???] >681 そうですね、私は別にスタンダードじゃなくても、使いやすければいいか、と思ったりします。 フレームワーク使い始めるまでは無手勝流でコード書いてたし、いまだにmojavi2使ってるし。 また新しいのがでてた。 XOAD www.xoad.org/
683 名前:nobodyさん mailto:sage [2005/12/05(月) 12:48:08 ID:???] フレームワーク祭りだなほんまに 決め手にかけるところがPHPらしいというかなんというか・・・
684 名前:nobodyさん mailto:sage [2005/12/05(月) 16:13:57 ID:???] Mjavi2が主流ですか? それともEthnaやMapleですか? おすすめ教えて
685 名前:nobodyさん [2005/12/05(月) 16:17:35 ID:dKNEsuCU] >>684 個人的には maple。 もっとも、そのままじゃ実用に耐えないからかなり改造して使ってるが。
686 名前:nobodyさん mailto:sage [2005/12/05(月) 16:20:36 ID:???] 俺は大したもん作らないからguessworkの自主改造版ぐらいで丁度いい。
687 名前:nobodyさん mailto:sage [2005/12/05(月) 16:20:50 ID:???] >>685 ありがとう。Mapleは実用に耐えられないわけですね。 やはりMojavi2かな。
688 名前:nobodyさん mailto:sage [2005/12/05(月) 16:21:48 ID:???] >>686 ありがとう。guesswork ってののあるわけですか・・・。 guessworkはいいですか?
689 名前:nobodyさん mailto:sage [2005/12/05(月) 16:22:28 ID:???] M2も結構手入れしないといけないから グチャグチャになりがち
690 名前:nobodyさん mailto:sage [2005/12/05(月) 16:27:15 ID:???] >>688 guessworkはvalidatorが貧弱だったりするからその辺を補完して、認証とかサイト毎に 必要な機能を付ければ俺的には充分。 作成するファイルが少ないってのも俺好み。
691 名前:nobodyさん mailto:sage [2005/12/05(月) 16:37:22 ID:???] PHP5用のguessworkは結構期待してるんだが なかなか出ないね
692 名前:nobodyさん mailto:sage [2005/12/05(月) 16:43:21 ID:???] mojavi2ってPHP4用ですよね? 一応ご確認あれ>>684 日本語の資料が一番まとまってそうなのは速構Web Frameworkかな? ttp://www.pm9.com/newpm9/itbiz/php/framework/ 但し有料。 次点はEthnaじゃなかろうか? ethna.jp/
693 名前:nobodyさん mailto:sage [2005/12/05(月) 16:45:27 ID:???] つーかガキじゃないんだから日本語の資料とかいらんでしょ? 英語でも読めて当然だろ、普通のSEなら大学ぐらい出てるんだからさ。
694 名前:nobodyさん mailto:sage [2005/12/05(月) 16:55:24 ID:???] >>690 guesswork素敵でつた。 補完したのコッソリ下さい。
695 名前:nobodyさん mailto:sage [2005/12/05(月) 16:59:09 ID:???] 「このフレームワークを選ぶ理由は何ですか?」 つー質問に答えなきゃいけない立場の人は大変だろうねぇ。
696 名前:nobodyさん mailto:sage [2005/12/05(月) 17:12:31 ID:???] >>693 なにいきり立ってんの? 日本語の資料の充実度っていう軸でみてなんか不都合でも?
697 名前:nobodyさん mailto:sage [2005/12/05(月) 17:14:56 ID:???] >>696 たとえばメンテナの数や、たとえばコーディングのしやすさ 先に見るべき場所がほかにあるでしょ。 日本語マニュアルなんて、あればいいな程度のものを最初に持ってくる神経を疑う。
698 名前:nobodyさん mailto:sage [2005/12/05(月) 17:22:54 ID:???] >>697 まあそうだけど、フレームワークの概念自体を勉強したいっていうニーズだって あっていいでしょ? 自分がプロのSEだからって視野が狭すぎ。 >>684 が学生か社会人かもわからんだろうに。
699 名前:698 mailto:sage [2005/12/05(月) 17:25:34 ID:???] あ、でも貴方の意見には全面的に賛成なんで、プロの目からみたお勧め教えて。
700 名前:nobodyさん mailto:sage [2005/12/05(月) 17:33:00 ID:???] 理解するためのコストが高いと 取り組むリスクが大きくなるから 日本語資料があるに越したことはないね。
701 名前:nobodyさん mailto:sage [2005/12/05(月) 17:34:02 ID:???] >>699 俺が使ってるのはmojavi系。正確には2.00にパッチ当てたりして少しだけ拡張した奴。 メンテナの数が違う…が2,3,4,agaviとメンテナが分離気味なので動向を見守っているところ。 ことフレームワークなどに関しては、勝ち馬に乗るべきだと思ってる。 俺もメンテナが多いのが生まれたらそれに乗り換える。 ただ残念なのは、そうやってフレームワークが普及しても思ったよりネットでのコード共有が進まなかったこと。 みんな自分の書いたものは見せずに、他人のものばかり見たがる。俺もだがw
702 名前:nobodyさん mailto:sage [2005/12/05(月) 17:34:38 ID:???] 英語の出来ない部下を持つ身としては、日本語資料は必須。
703 名前:nobodyさん mailto:sage [2005/12/05(月) 17:38:15 ID:???] 言い方キツかったのは謝るよ。 すまないね。 >>702 それ結構悲惨だな…でもサンプルコードあったら理解してくれない? PEARとでも英語しかマニュアル無いもの結構あるけど、どうするんだよ。
704 名前:nobodyさん mailto:sage [2005/12/05(月) 17:43:02 ID:???] >>703 サンプルを用意してあげて、ケツを蹴る。
705 名前:nobodyさん mailto:sage [2005/12/05(月) 17:45:54 ID:???] 日本人雇わなきゃいいだけ
706 名前:698 mailto:sage [2005/12/05(月) 17:55:32 ID:???] >>701 どうもありがとう。参考になります。 mojaviはagaviと統合してから手を出そうかと思ってました。 こちらも英語ができない部下(しかも直属じゃない)がいて、 しかも自分を含めて本職はSEじゃ無かったりします。 なんで、「わからないならソース嫁」と言いたいところですが飲み込むこともありw でもメンテなの多さは魅力だな。早いうちにmojaviの資料にも当たっておこう。
707 名前:nobodyさん [2005/12/05(月) 18:05:20 ID:dKNEsuCU] mojavi はゴチャゴチャしててちょっとなぁ…。
708 名前:nobodyさん mailto:sage [2005/12/05(月) 18:24:01 ID:???] >693 うはっw こういう奴ってまだいるんだw
709 名前:nobodyさん mailto:sage [2005/12/05(月) 18:28:40 ID:???] 愛して欲しいのさ、本当はね
710 名前:nobodyさん mailto:sage [2005/12/05(月) 18:33:47 ID:???] お師様、温もりを…
711 名前:nobodyさん mailto:sage [2005/12/05(月) 20:31:13 ID:???] 俺もmojavi4を待ってる状態だな。 邪魔になるかなとは思いつつTylerにメールして進捗を聞いたりした 11月の中ごろにはあと2ヶ月くらいで出来るとのことだったがその後音沙汰がないのが心配だw
712 名前:nobodyさん mailto:sage [2005/12/05(月) 20:33:12 ID:???] >>707 ごちゃごちゃしてるか? mojavi2系に限ってならだけどかなりシンプルにまとまってると思うが・・・
713 名前:nobodyさん mailto:sage [2005/12/05(月) 20:33:25 ID:???] PHP4はもう置き去りですね・・・
714 名前:nobodyさん mailto:sage [2005/12/05(月) 23:03:05 ID:???] PHP4でもPHP5でも使えるやつってある?
715 名前:nobodyさん mailto:sage [2005/12/05(月) 23:06:57 ID:???] 4.40以降に対応してる奴は多分両方いけるでしょ。 意味無いから試してないけどね。
716 名前:nobodyさん [2005/12/06(火) 02:35:30 ID:8b+BGlil] 待ってたらいつまで経っても開発できないじゃん 現状ではメジャー技術を参考にしつつ自前開発するしかなさげ だいたい大きな考え方はどのフレームワークにも共通するしね
717 名前:nobodyさん mailto:sage [2005/12/06(火) 09:29:17 ID:???] mojavi3いいよ。 オブジェクトの使い方とか理解しやすい。
718 名前:nobodyさん mailto:sage [2005/12/06(火) 12:37:55 ID:???] PHPについて初心者にも良く分かるように説明したサイトありませんか? 書籍の紹介でも構わないのですが。
719 名前:nobodyさん mailto:sage [2005/12/06(火) 12:43:24 ID:???] スレ違い
720 名前:nobodyさん mailto:sage [2005/12/06(火) 12:45:34 ID:???] >>718 ttp://www.php.net/manual/ja/ コレ
721 名前:nobodyさん mailto:sage [2005/12/06(火) 13:20:37 ID:???] どうしてこういう事を書けるのかホントに疑問だな>>718 スレタイ読まないのはまあ百歩譲るとして他のレスちょこっと読めばわかるもんだろ普通
722 名前:nobodyさん mailto:sage [2005/12/06(火) 15:21:22 ID:???] 誤爆しただけです。すみませんでした。
723 名前:nobodyさん mailto:sage [2005/12/06(火) 15:27:03 ID:???] あっそう
724 名前:nobodyさん mailto:sage [2005/12/06(火) 15:34:12 ID:???] 釣ってみただけです。すみませんでした。
725 名前:nobodyさん mailto:sage [2005/12/06(火) 15:35:58 ID:???] はいはい
726 名前:nobodyさん mailto:sage [2005/12/06(火) 15:40:42 ID:???] >>722 ttp://www.jca.apc.org/afghan-women/Special/WEDDING_BOMB.html
727 名前:nobodyさん mailto:sage [2005/12/06(火) 15:44:53 ID:???] 全て私一人の自作自演です。済みませんでした。
728 名前:nobodyさん mailto:sage [2005/12/06(火) 18:30:42 ID:???] >>716 そうやって沢山のフレームワークが出てきているこの現状 開発手伝ってやれや
729 名前:nobodyさん mailto:sage [2005/12/06(火) 20:01:58 ID:???] >>653 DAOとO/Rマッピングの区別ついてる?
730 名前:nobodyさん mailto:sage [2005/12/06(火) 20:10:08 ID:???] Agaviあたりが一番無難だと思う。 薄っぺらだから、把握するソースも少なくて済むし。 正式リリースはされてないけど、svnは着々と新しいクラスも 作られてる。 至れりつくせりなフレームワークは、いまのところ完成度が 低いものばかりなので。 pradoは完成度的には高いけど、XMLファイルの設定とか 結構面倒。 個人的にはsymfonyに期待してるんだけどね。
731 名前:nobodyさん mailto:sage [2005/12/06(火) 22:51:06 ID:???] 結局Mojaviですよね
732 名前:nobodyさん mailto:sage [2005/12/06(火) 23:32:14 ID:???] あのー、function & getAuthorizationHandler () この、& の意味は何ですか?
733 名前:nobodyさん mailto:sage [2005/12/06(火) 23:36:36 ID:???] それってフレームワーク関係ないでしょ
734 名前:nobodyさん mailto:sage [2005/12/06(火) 23:38:54 ID:???] あのー、じゃあ何ですか?
735 名前:nobodyさん mailto:sage [2005/12/06(火) 23:39:38 ID:???] PHPのくだらない質問スレ
736 名前:nobodyさん mailto:sage [2005/12/07(水) 00:25:58 ID:???] >>732 山椒だよ。
737 名前:nobodyさん mailto:sage [2005/12/07(水) 00:26:56 ID:???] ピリリと辛い
738 名前:nobodyさん mailto:sage [2005/12/07(水) 04:47:59 ID:???] フレームワークのControllerを開始するメソッドの名前が dispatchで、辞書で調べると 「打ち負かす」とか「急送する」とかの意味らしい。 いまいち合ってない気がするけど 何か言われがあるのかな。 executeで良くね?と思うんだが。
739 名前:nobodyさん mailto:sage [2005/12/07(水) 04:59:46 ID:???] 実際の処理(ビジネスロジック)をする(execute)のはControllerじゃなくてModelだし、 Controllerは単にリクエストを適切なActionへ発送(dispatch)するからじゃね?
740 名前:nobodyさん mailto:sage [2005/12/07(水) 05:49:46 ID:???] あーなるほど。
741 名前:nobodyさん mailto:sage [2005/12/07(水) 06:05:54 ID:???] dispatchはどっちかというと「割り当てる」って意味だよ。 そこらのフレームワークはStrutsの影響だと思うけど、元々はOSのスケジューラがスレッドをCPUに割り当てるって意味。 MVCフレームワークではリクエストに応じてactionだのviewだのを割り当てるってこと(>>739 はその意味で当たってると思う)。 loadなんかも「積む」って意味をこえて、メモリからレジスタにデータを読み込むって意味だったものが、ファイルなどの内容をメモリに読み込むって意味に転じて、果てにはWebサーバからブラウザにデータを読み込むってことにまで使われるようになった例だし。
742 名前:nobodyさん mailto:sage [2005/12/07(水) 10:15:56 ID:???] >>736 ありがとう。ピリリと解決。
743 名前:nobodyさん mailto:sage [2005/12/07(水) 17:30:53 ID:???] >>730 agavi.jpの更新が完全に止まっちゃってるのが残念だね。
744 名前:nobodyさん mailto:age [2005/12/07(水) 20:43:55 ID:???] 最近はここだよ。 翻訳してくれてる。 agaviユーザ多いかな。 www.geocities.jp/toyprog/
745 名前:nobodyさん mailto:sage [2005/12/07(水) 21:00:25 ID:???] >>744 おお、こんなとこあったんだ。 サンクス。
746 名前:nobodyさん mailto:sage [2005/12/07(水) 22:03:43 ID:???] つか、Ajaviは公式が0.9から全然動きが無いな。
747 名前:nobodyさん mailto:sage [2005/12/07(水) 22:05:08 ID:???] svnは?
748 名前:nobodyさん mailto:sage [2005/12/07(水) 23:01:18 ID:???] >>747 snvでは結構更新あるよ。
749 名前:nobodyさん mailto:sage [2005/12/07(水) 23:23:39 ID:???] zend frameworkキタ━━━━(゚∀゚)━━━━━!!! htp://www.phparch.com/webcasts/recordings/dec0205_zend.php
750 名前:nobodyさん mailto:sage [2005/12/07(水) 23:50:26 ID:???] >>749 英語のプレゼンだからサッパリわからんが PHPをピィチピーと発音することは分かった
751 名前:nobodyさん mailto:sage [2005/12/07(水) 23:53:53 ID:???] ははは もれもそれ思ったよ!これからピィチピーって言おう!
752 名前:nobodyさん mailto:sage [2005/12/08(木) 06:40:50 ID:???] >749 これっていつごろできるの?
753 名前:nobodyさん mailto:sage [2005/12/08(木) 08:49:04 ID:???] けっこうagaviに似てる気がする
754 名前:nobodyさん [2005/12/08(木) 18:17:58 ID:v7tgLnK2] >>741 じゃあdispatchからのforwardってなんなの?
755 名前:nobodyさん mailto:sage [2005/12/08(木) 18:25:17 ID:???] >>754 「転送する」とか「回送する」とかの意味があるから、「処理をまわす」と いう意味合いじゃないの? つか、ここは英語のスレじゃないんだが。
756 名前:nobodyさん mailto:sage [2005/12/08(木) 22:50:03 ID:???] Zendフレームワークっていつリリースか明記してある?
757 名前:nobodyさん mailto:sage [2005/12/08(木) 23:13:00 ID:???] ±1.5ヶ月でね
758 名前:nobodyさん mailto:sage [2005/12/09(金) 12:10:21 ID:???] >>749 プレゼンが下手糞で途中で飽きた。 文章でまとまってるのないの?
759 名前:nobodyさん mailto:sage [2005/12/09(金) 12:21:49 ID:???] 流行りだからって何でもかんでもPodcastすればいいってもんでもないよね。 テキストなら大事なとこだけ拾い読みできるのに。
760 名前:nobodyさん mailto:sage [2005/12/09(金) 12:43:07 ID:???] メディアを云々する前にまずGoogleを覚えようぜ
761 名前:nobodyさん mailto:sage [2005/12/09(金) 14:16:53 ID:???] 誤爆ですか?
762 名前:nobodyさん [2005/12/09(金) 17:59:40 ID:kJFA21a1] Decorator使ってる時にリダイレクトしたら、 サブテンプレート作成中に処理がブチギレるよね。 ポストフィルタでリダイレクトすべきなのか。 そのあたりどうしてる?
763 名前:nobodyさん mailto:sage [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上表示されてしまいます。 サニタイズさせない方法ってあるでしょうか?
764 名前:nobodyさん mailto:sage [2005/12/10(土) 19:34:26 ID:???] >>763 $smarty->left_delimiter = '<{'; $smarty->right_delimiter = '}>'; てか、、マニュアル嫁
765 名前:nobodyさん mailto:sage [2005/12/10(土) 23:53:59 ID:???] >>764 >>763 の >XOOPSのテーマを使っていてsmartyのデリミタが<{と}>です。 とあるように、その設定はXOOPSのテーマを使うために既にしています。 そのために<と>がサニタイズされて困っているんです。 その設定をしなければ、{と}だけで問題ないのです。 テーマ側に<{$error}>と書けば問題ないのですが、setAttributeで渡そうとすると サニタイズされてしまいます。
766 名前:764 mailto:sage [2005/12/11(日) 01:36:43 ID:???] >>763 >smartyのデリミタが<{と}>です。 これ読めてなかった… すまん、763
767 名前:762 mailto:sage [2005/12/11(日) 11:51:35 ID:???] リダイレクト後にexitしてるのが問題だっただけだった。 リダイレクトっていっても ヘッダに出力するだけで、 処理が止まるわけじゃないんだよな。
768 名前:nobodyさん mailto:age [2005/12/12(月) 19:50:27 ID:???] mojavi3つかってます。 modelで$this->getContext()->getRequest();するのと、 actionで$this->getContext()->getRequest();してモデルに渡すのと どっちがmvc的に正しいですか?
769 名前:nobodyさん mailto:sage [2005/12/12(月) 20:44:06 ID:???] >>768 モデルはコントローラやビューと結合していないのが理想なので、action で リクエストを取得して、それに応じて model に渡すのがよいと思う。
770 名前:nobodyさん mailto:sage [2005/12/12(月) 20:44:31 ID:???] 「結合してない」って言い方は悪いな。「疎結合」に言い替える。
771 名前:nobodyさん mailto:sage [2005/12/12(月) 20:44:42 ID:???] >>768 前者の方がmodelとactionの結合が疎になりやすい。
772 名前:768 mailto:sage [2005/12/12(月) 21:33:07 ID:???] どうもありがとうございました。 さっぱりしました。
773 名前:nobodyさん mailto:sage [2005/12/12(月) 23:43:46 ID:???] >>769 えええええええええええ? だったらなんでmodelに $this->getContext()->getRequest(); できる機能わざわざつけてあるのさ。 actionもMVCのmodelに相当するんじゃないの? model内で $this->getContext()->getRequest();とかやって、 actionでgetModelするのが普通だと思うが。 >>772 よ。すっきりするのはまだ早い
774 名前:nobodyさん mailto:sage [2005/12/12(月) 23:50:24 ID:???] moja3て、Modelがあんだ〜 class HogeModel extends Model って感じ?
775 名前:nobodyさん mailto:sage [2005/12/13(火) 00:06:36 ID:???] >>773 > actionもMVCのmodelに相当するんじゃないの? 違うよ。controllerとmodelのアダプタ(アダプタパターンとは別の意味)。 controllerの一部をコマンドパターンとして抽出したとも見れる。 だから本当はactionはビジネスロジックを書くところじゃないんだけど、ロジックもそのまま書けてしまう手軽さは利点であり欠点でもあると思う。 requestをいじるのはcontrollerであるべきだと思うから俺はaction内でgetRequestして、相応のmodelを呼び出す派。
776 名前:768 mailto:sage [2005/12/13(火) 01:51:59 ID:???] やっぱり、model内で $this->getContext()->getRequest(); のはなんか気持ち悪い。
777 名前:nobodyさん mailto:sage [2005/12/13(火) 01:56:13 ID:???] 俺もactionでrequest派。 最初はmodelでやっていたが そうなると、起点となるactionを見ただけでは どんなパラメータをいじっているのかが分からず、 流れを把握しにくくなったから。 またリクエストパラメータはどちらかといえば プレゼンテーション層に属するものなので プレゼンテーション層であるactionで受け取るのが理にかなっている とも思う。 バリデーションやコンバートはactionでやってるんだから ノータッチでmodelに渡していても疎結合とは言えないのでは? むしろactionで受け取ってmodelに渡すというレイヤパターンにした 方が疎結合といえる気がする。
778 名前:nobodyさん mailto:sage [2005/12/13(火) 10:18:09 ID:???] model で request 処理すると,model の unit test がやり辛くなると思う それって context と request の両方を外部に依存することになるし action で request を処理しちゃえば model は request の「値」のみに依存することになり より疎結合になる # なんてことを周囲に喋ると「日本語喋れ」とか言われる罠w
779 名前:nobodyさん mailto:sage [2005/12/13(火) 11:29:59 ID:???] 記述が楽=疎結合じゃないんだよね プロトコルを増やすわけだからむしろ記述は面倒くさくなりがち
780 名前:nobodyさん mailto:sage [2005/12/13(火) 14:13:53 ID:???] >>773 フレームワークが許容しているのと、理想的な設計との間には 隔たりがあるってことを理解するべき。 元の質問は > どっちがmvc的に正しいですか? ‥なので、MVC 的には action に依存しない方が理想だろうね。 >>778 のいう「unit test がやり辛い」ってのは、model がフレームワークと 密接に結合していて使い勝手が悪い証拠。結合度が高いので、再利用しずらい (再利用する時に、間接的にフレームワークにも依存することになる)。 model と action を分離しておけば、例えば、Web アプリとは別に DB に対する バッチ処理を PHP で書く必要がでてきた時に model を流用できる。 ただ、理想的な設計が、即座に現場で適用されるべきかというと、それは また別問題だけどな。
781 名前:nobodyさん mailto:sage [2005/12/13(火) 18:51:28 ID:???] >>780 いや、疎結合とかはlib側で考えるもんなんじゃないの? >フレームワークが許容しているのと、理想的な設計との間には >隔たりがあるってことを理解するべき。 許容じゃなくて、意図的に実装してるんだとおもうんだけど。 modelは明らかにactionと密接な連携を取るためのものだと思うし。 >model と action を分離しておけば、例えば、Web アプリとは別に DB に対する >バッチ処理を PHP で書く必要がでてきた時に model を流用できる。 その流用はlibでつくったもののがやりやすいよね。
782 名前:nobodyさん mailto:sage [2005/12/13(火) 18:54:29 ID:???] >>777 自分は逆にactionはどんなmodelを使ってるかの道しるべとして使ってるから 流れ把握は全然困らない。てかむしろしやすい。
783 名前:nobodyさん mailto:sage [2005/12/13(火) 18:59:51 ID:???] てか、そもそもlibの存在忘れて疎結合とか言ってない?
784 名前:nobodyさん mailto:sage [2005/12/13(火) 19:08:07 ID:???] libって何さ、ライブラリ?
785 名前:nobodyさん mailto:sage [2005/12/13(火) 19:10:01 ID:???] なにこの流れ。 スゴいお勉強になるんだけお。
786 名前:nobodyさん mailto:sage [2005/12/13(火) 19:11:38 ID:???] >>780 の言う「許容」ってのはModel内で$this->getContext()->getRequest()できちゃうって話だよね? >>781 と微妙に噛み合ってないみたいだけど。 つーかMojaviに関して言えばContextに一貫性を持たせようとした結果、たまたまModelの中でもRequestが取得できてしまうとも見れると思う。 その意味ではMojaviの欠点の一つかもしれんな。 まあ>>773 から反論がない限りはgetRequestはActionでやるべきってのは満場一致でしょ。 その結論に至る思考プロセスが個々人いろいろなのがおもしろいなw
787 名前:nobodyさん mailto:sage [2005/12/13(火) 19:18:52 ID:???] >>786 ん?かみ合ってないのか? >つーかMojaviに関して言えばContextに一貫性を持たせようとした結果、たまたまModelの中でもRequestが取得できてしまうとも見れると思う。 つまり、Requestだけはmodelでやるべきではないってこと?getControllerやgetUserはありで? だったらかみ合ってないてのはわかるんだけど。 >>784 いや、libはautoloadで定義するやつよ。 こいつにこそ疎結合を求めるもんだとおもうんだけど…
788 名前:nobodyさん mailto:sage [2005/12/13(火) 19:21:40 ID:???] >>786 ちなみにlibとmodelはどう区切ってる?
789 名前:nobodyさん mailto:sage [2005/12/13(火) 19:34:56 ID:???] M2のactionChainがなくなったのも、デコレータだけじゃなくgetModelが 追加されたからなんだと思うし…
790 名前:786 mailto:sage [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に入れるだけ。
791 名前:nobodyさん mailto:sage [2005/12/13(火) 19:51:24 ID:???] フレームワークだから ある程度の自由度を残してるのは当然ともいえるし どっちもアリっちゃアリだな。
792 名前:nobodyさん mailto:sage [2005/12/13(火) 19:54:09 ID:???] >>790 なるほど、そういうことね。確かに勘違いだわ。 でも、 >まあそういう風に見るとrequestとuserの非対称性が浮き彫りになるが、俺の場合は結果的にはそういう方針でやってるよ。 getUserもmodel内で使ってるんだ? ますますわからんくなってきた… ちなみに forum.mojavi.org/index.php?showtopic=1280&hl=getmodel ここにあるようなソースはアリなんだよね?
793 名前:nobodyさん mailto:sage [2005/12/13(火) 19:56:03 ID:???] context自体を渡すことがおかしいって言ってるのかと勘違いしてた。
794 名前:nobodyさん mailto:sage [2005/12/13(火) 19:59:28 ID:???] どっちにしても、自分の場合、actionはアダプタじゃなくてmodelで、 action内が複雑になりそうなときmodelに助けを求めるって感じでやってるから。 例えmodel内でgetRequestしても自然なつもりなんだけどなぁ
795 名前:768 mailto:sage [2005/12/13(火) 20:11:31 ID:???] じつはagaviでした。 agaviだとみんな食いついてくれないと思ったので. 結果予想以上に皆さんの意見が聞けてよかった。
796 名前:nobodyさん mailto:sage [2005/12/13(火) 20:13:34 ID:???] >>792 うーん、そこのソースのマズイ部分ってとりあえずどこ?w つーかgetUserをModelでやるのっておかしいかな?言われてみると少し迷うな。 ログインの処理をする専用のModelとかそのままsetAuthenticatedしてるのと、あとはaddCredentialみたいなのもModelの中でちらほらやってしまっている。 もろにビジネスロジックかと思うんだが。 >>794 まあどういう風にやっても間違いってことはないと思う。 Actionにビジネスロジックを書いても結果的には「ロジックとデザインの分離」っていう大元の目的は達成されてるわけだし。
797 名前:nobodyさん mailto:sage [2005/12/13(火) 20:28:15 ID:???] >>795 みなさんというか、2、3人だと思うけどね。自分含めてw
798 名前:nobodyさん mailto:sage [2005/12/13(火) 20:31:02 ID:???] >>797 まーこの板はそういうとこだよなw
799 名前:nobodyさん mailto:sage [2005/12/13(火) 20:34:29 ID:???] >>796 >うーん、そこのソースのマズイ部分ってとりあえずどこ?w その感想自体が答えですw さんきゅw >ログインの処理をする専用のModelとかそのままsetAuthenticatedしてるのと、あとはaddCredentialみたいなのもModelの中でちらほらやってしまっている。 まぁたしかにgetUserはその辺の機能があるからね。言われれば気持ちはわかる。 ちなみに開発人数はどれくらい? 自分のとこの場合人数が5人で中途半端だから、下手に縛り設けようにもうまく機能しないことが多いんだよね… フレームワークで許されている権利は使ってよしってことにしてるからってのもあるかも。
800 名前:nobodyさん mailto:sage [2005/12/13(火) 20:35:06 ID:???] userをmodelでいじるのは全然おかしくないと思う つまるところセッションだし。 requestはブラウザから直接送られてくるデータだから、 いきなりmodelにいじらせるには生々しすぎる感じがするな。
801 名前:nobodyさん mailto:sage [2005/12/13(火) 20:40:49 ID:???] >>800 いや、それだと話がループする…
802 名前:nobodyさん mailto:sage [2005/12/13(火) 20:42:35 ID:???] >>800 そこはmodelで疎結合かどうかの話でしょ?
803 名前:nobodyさん mailto:sage [2005/12/13(火) 20:45:33 ID:???] >>800 >requestはブラウザから直接送られてくるデータだから、 おいおい大事なget,setAttributeはどこいった?
804 名前:nobodyさん mailto:sage [2005/12/13(火) 20:53:12 ID:???] ひょっとして、getRequest=ブラウザからのデータで話進められてたの?
805 名前:nobodyさん mailto:sage [2005/12/13(火) 21:18:59 ID:???] ああ、attribute忘れてたw 内部パラメータとしてのattributeならmodelでいじってもおかしくはないよね viewに渡すためのコンテナとしてなら、 modelから受け取ってactionでこめこめするのがいいと思う
806 名前:nobodyさん mailto:sage [2005/12/13(火) 21:31:18 ID:???] modelでごにょごにょしたものはactionにいくのか? それともviewか?
807 名前:nobodyさん mailto:sage [2005/12/13(火) 21:38:24 ID:???] >>792-793 model に context が渡ってること自体が気に入らない。理由は >>796 の人が 述べてる理由が近いかな。 >>805 attribute も model じゃ触らない。ビジネスロジックはコントローラに封じ込 めるべきってのは大体の人が賛成してくれると思うけど、attribute を ビジネスロジックに一切関係ない使用例を見たことがない。もしあるなら 示してくれると、すごく嬉しい。 一般的(≒ Java の世界)にはそういう流れになってない? モデルは POJO (getter/setter だけのオブジェクト) にして、必要に応じて AOP でDAO や O/R マッピングしなさい、と。
808 名前:nobodyさん mailto:sage [2005/12/13(火) 21:51:40 ID:???] Javaとは言語仕様も実際の使われ方も違うのに、StrutsやIBMのホワイトペーパーと無理にあわせてもしょうがない。
809 名前:nobodyさん mailto:sage [2005/12/13(火) 21:55:50 ID:???] >>807 >model に context が渡ってること自体が気に入らない。 えぇ?なんで気に入らないのに >>796 の人と同意なの? 根本的におかしいぞそれ。
810 名前:nobodyさん mailto:sage [2005/12/13(火) 21:56:59 ID:???] >>807 つまり、>>792 のソースもおかしいってことだよね?
811 名前:nobodyさん mailto:sage [2005/12/13(火) 21:58:05 ID:???] >>806 actionにいってからviewじゃない? 直接viewにいくのはなんか気持ち悪いな >>807 Model=POPOなの? そこまで疎結合にするならModelをextendsする意味がないような… 俺はModel≒ビジネスロジックという認識だった。
812 名前:nobodyさん mailto:sage [2005/12/13(火) 22:00:37 ID:???] 一般的ではなくm3やagaviで開発する上での話をしているので、 >>807 の話はお門違いなわけだが
813 名前:nobodyさん mailto:sage [2005/12/13(火) 22:04:25 ID:???] mvc的に正しいのはって聞いてるんだから御門違いじゃないだろう
814 名前:nobodyさん mailto:sage [2005/12/13(火) 22:05:40 ID:???] まぁ、お門違いじゃないにしてもおかしなこと言ってるのは確かだな
815 名前:nobodyさん mailto:sage [2005/12/13(火) 22:17:24 ID:???] 807は モデルはフレームワーク自体からも疎結合である方がいいって意味だよね。 考え方は分からないでもないけど そこまで疎にする必要がはたしてあるのか… そもそもフレームワークを採用する時点で 全面的な依存を選択しているわけで、 モデルだけを疎結合することにどれほどの意味があるのか
816 名前:nobodyさん mailto:sage [2005/12/13(火) 22:17:28 ID:???] javaが一般的ってのも今は大分微妙になってるけどなぁ
817 名前:nobodyさん mailto:sage [2005/12/13(火) 22:19:09 ID:???] そもそもMVCモデルってそれぞれが密接に関連してるよなぁ 疎を考えるんなら777の言うようにレイヤーパターンで考えたほうが良いと思う MVCパターンをレイヤーパターンに置き換えると VCがプレゼンテーション層 Mがドメイン層とデータソース層 それぞれの層は独立していて別の層を知らないのが理想 actionはドメイン層とプレゼンテーション層の中間層かな? だからactionは プレゼンテーションからの入力(リクエストパラメータ)を受け取る ドメインロジックを呼び出す パラメータをドメインロジックに渡す ドメインロジックでゴニョゴニョした結果をプレゼンテーションロジックに渡す こんな流れがいいんじゃないかなぁ 結論、mojaviのModelクラスはイラネ
818 名前:nobodyさん mailto:sage [2005/12/13(火) 22:19:56 ID:???] >>815 あぁ、激しく同意… 多分agaviも>>815 みたいな思想があってああいう設計になってるんだと思う。
819 名前:nobodyさん mailto:sage [2005/12/13(火) 22:23:54 ID:???] >>817 それだとactionがちょっとややこしくなっちゃわない?
820 名前:nobodyさん mailto:sage [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);
821 名前:nobodyさん mailto:sage [2005/12/13(火) 22:34:10 ID:???] >>817 最後の結論だけ良く分からない Model=ドメインロジックで問題なくね?
822 名前:nobodyさん mailto:sage [2005/12/13(火) 22:36:37 ID:???] >>820 autoload.iniが大変なことになりそうだ。
823 名前:nobodyさん mailto:sage [2005/12/13(火) 22:49:29 ID:???] >>820 それってデータベースコネクションはどこでどうやって呼出してんの?
824 名前:nobodyさん mailto:sage [2005/12/13(火) 23:00:01 ID:???] autoload.iniの項目が多いとやっぱり遅くなるの? おれはできるだけ使わんやつは消しとるよ。
825 名前:nobodyさん mailto:sage [2005/12/13(火) 23:04:08 ID:???] >>821 概念的にはその通りだけど mojaviのModelクラスに依存したくないという意味でイラネということです >>822 それすごく悩んだけど 自前のクラスローダーで解決したお >>823 DB接続用クラスをSingletonで作成してどこからでも呼び出せるようにしてるよ DB::getConnection()みたいな感じで といってもどこからでも呼び出してるわけじゃないけどね
826 名前:nobodyさん mailto:sage [2005/12/13(火) 23:55:30 ID:???] >>825 なんかもうそれ自分ルールだらけじゃん… まぁ別にそれが悪いわけではないけど
827 名前:nobodyさん mailto:sage [2005/12/13(火) 23:58:11 ID:???] >>825 >自前のクラスローダーで解決したお それはautoload側をいじったのか、ロード関数みたいなのつくったのか
828 名前:nobodyさん mailto:sage [2005/12/14(水) 00:01:27 ID:???] 結論 >>825 のやってることは、agaviのmodelで解決。 無駄な作業乙
829 名前:nobodyさん mailto:sage [2005/12/14(水) 00:34:57 ID:???] もしかしてSingletonModelってクラス? Singletonごときでなんであんなものに頼らなきゃいけないのか疑問・・・。 しかもグローバルに呼び出しできなくなるし
830 名前:nobodyさん mailto:sage [2005/12/14(水) 00:41:56 ID:???] PHPでシングルトンってほぼ無意味だよな。
831 名前:nobodyさん mailto:sage [2005/12/14(水) 01:27:53 ID:???] >>830 まあどちらかと言うと、インスタンス2つ以上作ろうとする方が頭どうかしてるもんな。 Controllerとか。
832 名前:nobodyさん mailto:sage [2005/12/14(水) 01:43:05 ID:???] >>830 リクエスト毎にオブジェクトが生成->破棄されるという意味では無意味だな。 ログとかDBコネクションとかでは使えるけど、それもグローバル変数に入れとけばいいみたいな。
833 名前:nobodyさん mailto:sage [2005/12/14(水) 01:44:31 ID:???] HTTPリクエスト単位で記憶が失われるPHPでは シングルトンって「グローバル変数のオブジェクト指向版」みたいな意味しかない気がする 実際に役に立つのはDB接続みたいなリソース使いまわしくらいって印象が……
834 名前:nobodyさん mailto:sage [2005/12/14(水) 01:46:05 ID:???] >>824 クラスが必要なときのみ読みこむようにその設定があるんだし、そんなに気にしなくてもいいのでは。 まぁ少ないほうが早いに決まってるけど。
835 名前:nobodyさん mailto:sage [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呼び出したことありますごめんなさい。 設計が悪かった。反省してます。
836 名前:nobodyさん mailto:sage [2005/12/14(水) 06:37:08 ID:???] オブジェクトの依存性の話なのか設計上の規約も含めるのか判らん
837 名前:nobodyさん mailto:sage [2005/12/14(水) 06:44:24 ID:???] 誰か両方の意見をまとめてくり
838 名前:nobodyさん mailto:sage [2005/12/14(水) 07:15:24 ID:???] いや、なんか感動。 疑問は晴れてないけど。
839 名前:nobodyさん mailto:sage [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以外はデータ層に触りません!
840 名前:nobodyさん mailto:sage [2005/12/14(水) 11:25:24 ID:???] Modelはどうまとめてる? 俺はOO的にうまいことまとまらない場合は 似たような関数をまとめてお茶を濁してる。
841 名前:nobodyさん mailto:sage [2005/12/14(水) 11:38:43 ID:???] >>839 Model にビジネスロジック入れたら駄目じゃん。話にならん。
842 名前:nobodyさん mailto:sage [2005/12/14(水) 11:44:42 ID:???] >>841 839じゃないけど 俺もModelはビジネスロジックを担当する部分という認識なんだが きみのいうModelって何?
843 名前:839 mailto:sage [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=ビジネスロジックでしょ。
844 名前:nobodyさん mailto:sage [2005/12/14(水) 12:08:56 ID:???] 訳: Actionに対するアプリケーションロジック・ビジネスロジックの実行をします。 よくあるデータベースを用いたアプリケーションでは、execute()の中でアプリケーションロジックを扱い、続いてModelのインスタンスを生成します。 Modelの初期化をしたら後はその中で全てのビジネスロジックを扱います。 Modelはアプリケーション内のエンティティを表すようにすると良いでしょう。 例えば、ユーザーアカウント、ショッピングカートであったり、時には個々の製品といったシンプルなものであることもあるでしょう。
845 名前:nobodyさん mailto:sage [2005/12/14(水) 12:12:22 ID:???] >>844 そうそう。 やっぱり841はビジネスロジックの定義を勘違いしてないか? エンティティーのメソッドはすなわちビジネスロジックだし。 Model=ValueObjectと勘違いしてる気がする。
846 名前:nobodyさん mailto:sage [2005/12/14(水) 14:28:05 ID:???] みんな言葉の定義が微妙に違ってるだけだと思う。 というか、レイヤとモデルを微妙に混同してるのかも。 ドメイン層のレイヤにビジネスロジックがあって、 そこで操作されるものがドメインモデル(エンティティ)。 これをそのまま実装に反映させるなら、 ドメインモデルとビジネスロジックは別クラスにするのが自然。 だけどケースバイケースで、ドメインモデルのクラスが ビジネスロジックのメソッドを持つ実装にするのもあり。 どちらがいいかは一概には言えないと思う。 >>845 それは違うよ。 ValueObjectはどちらかというとドメインモデルではなく プレゼンテーションモデル。 ドメインモデルをそのままプレゼンテーション層まで引きずってくる 設計方針ならValueObjectぽっく見えるかもしれないけど、 プレゼンテーションモデルをきっちりわける設計方針なら >>841 の言ってるモデルはドメイン層で閉じてるはず。
847 名前:nobodyさん mailto:sage [2005/12/14(水) 15:10:04 ID:???] 俺定義で議論してないでPoEAAを読め、ってことだ。
848 名前:nobodyさん mailto:sage [2005/12/14(水) 16:18:44 ID:???] 高いから譲ってくれ
849 名前:nobodyさん mailto:sage [2005/12/14(水) 16:45:40 ID:???] O'ReillyのSafari Bookshelfに入れば$19.95で読めるよ。
850 名前:nobodyさん mailto:sage [2005/12/14(水) 17:12:47 ID:???] 日本語訳本買ったけど読んでねーや ValueObjectがプレゼンテーションモデルってどゆ意味? 単に値を持たせるオブジェクトだから どんな層にでも入ってくる汎用的なパターンだと思うんだが
851 名前:nobodyさん mailto:sage [2005/12/14(水) 21:59:44 ID:???] > 単に値を持たせるオブジェクト 自説を立てるときはそれなりの手順を踏襲してほしい
852 名前:nobodyさん mailto:sage [2005/12/15(木) 02:19:59 ID:???] >>839 >>843 を意識してるんなら、Actionはドメイン層、データソース層に入ることもあるだろ
853 名前:nobodyさん mailto:sage [2005/12/15(木) 02:23:24 ID:???] trac.agavi.org/trac.cgi/wiki/HowToSetupBasicAuthentication この公式サンプルも、全然>>839 みたいな定義になってねぇし
854 名前:839 mailto:sage [2005/12/15(木) 03:13:21 ID:???] >>852 たしかにそうだね。それが > つーか今読み返してみたら、Sean Kerr的にはActionでビジネスロジックもありっていうスタンスっぽいなw と言った理由なんだけど。 ただ、俺自身はドメイン層の処理はModelでやる方針でやってるって話。 Actionでドメイン層・データソース層に手を出すのも利点があるなら大いに結構だとは思うよ。 >>853 えーっと一応言っておくけど>>839 は設計(or実装)方針の話ね。 (それまでの議論の内容も多少加味したつもりなんだが偏見もあるかも・・・) あと、そこのサンプルは>>844 の「ユーザーアカウント」にあたるものをModelとして抽出せずにActionで済ませちゃってるんだね。 だから839と違って見えるってのも無理はないかも。 まあロジックが複雑になってきたらそんなことは言ってられないので俺は認証用に作ったModelを再利用してるよ。 必要ならそのModelをもう一段継承してカスタマイズとかできるのでそこそこ便利だし。
855 名前:nobodyさん mailto:sage [2005/12/15(木) 03:28:55 ID:???] >>841 に対して、はじめは何言ってるんだろうこの人…と、>>842 と 同じ気持ちでしたが、 www.microsoft.com/japan/msdn/practices/type/Patterns/enterprise/DesMVC.asp ここを読んでみて>>841 の言ってることがよくわかりました。 MVCの図にあるとおり >ビューとコントローラの両方がモデルに依存していることに注意してください。ただし、モデルはビューとコントローラのどちらにも依存していません。 モデルは両方に依存していないものなんだね。 そう考えるとたしかに>>839 の言ってる図は話にならない。 でも、それを言い出すとAgaviの設計自体がおかしいことになるね。
856 名前:839 mailto:sage [2005/12/15(木) 03:51:45 ID:???] >>855 たぶんUMLを見慣れてる人が多いんだろうから誤解を与えたかもしれないけど、>>839 は「依存関係」を表してるつもりじゃなかったんだなぁorz Controller→Action→Controller→Viewってのは制御が移る順番。 他の⇔はデータの受け渡しであって、基本的にはメソッドの呼び出し+リターンなので制御が移る順番としても解釈できるかも。 >>855 が依存関係の話を持ってきてくれたのでそれも考慮すると、⇔の矢印をすべて外側向きに変えたら少しはましになるかな? 矢印の意味は ・依存してる側→依存されてる側 ・呼び出し側→呼び出される側 という関係で。(唯一Action→Controllerの部分だけリターンなので矢印の色でも変えてくださいw) 「ビジネスロジック」って言葉は俺も再考する必要があるかも。 >>846 をもうちょっと咀嚼してみる。
857 名前:nobodyさん mailto:sage [2005/12/15(木) 03:53:25 ID:???] forum.mojavi.org/index.php?showtopic=1281 こういうの見るとますますわからんくなる…
858 名前:nobodyさん mailto:sage [2005/12/15(木) 04:01:35 ID:???] そこまでごちゃごちゃ深いこと考えなくても、 保守性の高いコードってWebアプリケーションなら結構つくれちゃうからなぁ… ビジネスロジック云々より、ビジネスや運営自体について考えてたほうがよっぽど金になる
859 名前:839 mailto:sage [2005/12/15(木) 04:09:49 ID:???] >>858 俺的もそう思う。どっちでもいーじゃんおまいらw、と でも「間違っている」というつっこみをたくさんいただいたので、ヘコみつつ悪戦苦闘中であります。
860 名前:nobodyさん mailto:sage [2005/12/15(木) 04:22:02 ID:???] >>855 マジでAgaviのView周りってModelに依存性あるの? ステートレスなWebアプリでは切り離されてるのが当たり前だと思ってたけど。 アクティブモデルにせよオブザーバはかませるっしょ
861 名前:nobodyさん mailto:sage [2005/12/15(木) 04:40:08 ID:???] View生成はクライアントリクエストのみを起点にしているから、 コントローラかアクションにぶらさげることは出来るね 前者はコントローラがMediator(と言ってもモデルかアクションから データを受け渡すだけ)となり、後者ではアクションはコマンドオブジェクト (ビジネスロジックとViewの呼び出しをカプセル化したもの)ということになる どっちもパターンとしてはMVCとは呼ばないんだろうけど www.martinfowler.com/eaaCatalog/applicationController.html Viewがモデルに依存したほうがいいかアクションに依存したほうがいいか まとまった見解ってある?
862 名前:nobodyさん mailto:sage [2005/12/15(木) 04:43:36 ID:???] >>860 Agavi自体の仕様では依存性は発生しないよ。Modelは一つもなくても動くし。 でもModelを使った時点で依存はゼロではないと思われ。 「切り離す」ってのはいわゆる疎結合にするって意味だとは思うけど、元々依存してしまうものだからせめて疎結合にしましょうって感じじゃなかったっけ? >>855 の言ってるのは、逆向きの依存はゼロってことでしょう。 「Viewを変更したらModelが動かなくなりました」とかしゃれになんないし。 でもModelを変更したらViewに支障が出るのは仕方ない。 それでも最小限にしましょうってのが疎結合だと思う。 オブザーバはContextのことでおkかな?
863 名前:nobodyさん mailto:sage [2005/12/15(木) 05:25:53 ID:???] 依存性=オブジェクトをNewするかパラメータに取ってメンバにアクセスすること 結合の程度というようなファジーなものは存在しない Framework界隈で依存性といったらこれのことだと思う
864 名前:nobodyさん mailto:sage [2005/12/15(木) 05:52:18 ID:???] > 結合の程度というようなファジーなものは存在しない 疎結合って結合の程度がゆるいことじゃないの? つーかどのレスに対してなのか反論なのか何なのかわからんな。
865 名前:863 mailto:sage [2005/12/15(木) 06:11:06 ID:???] 直上に対するレス 結合にはもちろん程度があるよ しかし依存性にはそういうものは無くゼロイチだということを言ってみた >>860 と>>862 の愛でどうも考えている依存性が違って かみ合ってないように見えたので
866 名前:nobodyさん mailto:sage [2005/12/15(木) 06:12:18 ID:???] × 愛で ○ 間で すまん 間違ったものを芽生えさせた
867 名前:nobodyさん mailto:sage [2005/12/15(木) 06:12:22 ID:???] >>860 Modelにするにせよ別もんにしてつくるにしても、 初期のViewだけじゃなにもできんじゃん。 ごてごてタグとテンプレートと定数混ぜることになってしまう。 その辺のモデルもつくるでしょ?ふつう
868 名前:nobodyさん mailto:sage [2005/12/15(木) 06:16:08 ID:???] いや、Mojaviだとビジネスロジックの呼び出しはアクションあたりに集約するのが一般的だと思う ビュー内でモデルは呼び出したくない
869 名前:nobodyさん mailto:sage [2005/12/15(木) 06:20:08 ID:???] >>868 MVCはもともとそういうものだけどな。View - -> Model
870 名前:862 mailto:sage [2005/12/15(木) 06:21:54 ID:???] >>865 そかそか。曖昧な言い方ですまんかった。 基本的には「依存性はゼロイチ」ってのは同意だよ。 だから>>860 への答えはViewからModelへの依存性は「あり」。 ただ「切り離されてるのが当たり前」って表現をしてたので、862で「それは疎結合のことであって≠依存性だよね」っていう意味で言った。 >>868 実際にはそうだよなw
871 名前:nobodyさん mailto:sage [2005/12/15(木) 06:23:49 ID:???] >>869 パッシブモデルね
872 名前:nobodyさん mailto:sage [2005/12/15(木) 09:58:57 ID:???] モデルをフレームワークから独立させる派は モデルからUserにアクセスする必要がある時はどうやってるの?
873 名前:nobodyさん mailto:sage [2005/12/15(木) 10:10:17 ID:???] >>872 モデルはフレームワークに依存していない設計なので、 モデルから User にアクセスする必要がない。
874 名前:nobodyさん mailto:sage [2005/12/15(木) 10:21:58 ID:???] extends Modelすらしないってこと?
875 名前:nobodyさん mailto:sage [2005/12/15(木) 10:26:14 ID:???] >>873 DBはどうしてる?
876 名前:nobodyさん mailto:sage [2005/12/15(木) 11:14:48 ID:???] Mojavi系の場合DBみたいな下層にも入ってくるから フレームワークに依存しない設計がいまいちイメージしにくいな
877 名前:nobodyさん mailto:sage [2005/12/15(木) 11:38:55 ID:???] というか、一度 Mojavi を頭から追い出して一般的な設計の話をしろよw もうあんな設計は古いって…。
878 名前:nobodyさん mailto:sage [2005/12/15(木) 11:43:23 ID:???] 話変えたいなら自分から話題を提供すればいいのに
879 名前:nobodyさん mailto:sage [2005/12/15(木) 11:51:42 ID:???] スルーしとけ
880 名前:nobodyさん mailto:sage [2005/12/15(木) 11:55:01 ID:???] Mojaviはたたき台としてまだ価値あるだろ 影響受けてるフレームワークいっぱいあるしな
881 名前:nobodyさん mailto:sage [2005/12/15(木) 14:16:48 ID:???] rails!rails!
882 名前:nobodyさん mailto:sage [2005/12/15(木) 15:21:47 ID:???] PHP on TRAXときたか
883 名前:nobodyさん mailto:sage [2005/12/15(木) 21:48:05 ID:???] S2Baseがいいと思うんだけど、どう? ValidateやらFilterは自作になるけど、結構いいと思う。
884 名前:nobodyさん mailto:sage [2005/12/15(木) 23:18:51 ID:???] S2PandNで出席者が質問してたが、S2やMapleのDIはどこまでパフォーマンスが出るか疑問。 プロダクトとしてリリースするなら、自分のところできちんと性能評価をやった方がいいよ。
885 名前:nobodyさん mailto:sage [2005/12/16(金) 00:48:04 ID:???] もうMojaviでいいや。
886 名前:nobodyさん mailto:sage [2005/12/16(金) 01:35:11 ID:???] S2をそのままPHPに移植してるのかな
887 名前:768 mailto:sage [2005/12/16(金) 09:02:11 ID:???] zend framework待とうよ!
888 名前:nobodyさん mailto:sage [2005/12/16(金) 09:14:05 ID:???] 末広がりget, zuzaa
889 名前:nobodyさん mailto:sage [2005/12/16(金) 18:13:50 ID:???] Mojavi初心者なんですが エスパー募集してもよろしいでしょか?
890 名前:nobodyさん mailto:sage [2005/12/16(金) 18:41:40 ID:???] >>889 ここは語るスレだ。質問はスレ違い。
891 名前:889 mailto:sage [2005/12/16(金) 18:51:08 ID:???] >>890 そうですか、失礼しました。(´・ω・`)
892 名前:nobodyさん mailto:age [2005/12/17(土) 00:42:49 ID:???] POSTされたデータをDBへupdateする場合はmodelでするの?
893 名前:nobodyさん mailto:sage [2005/12/17(土) 01:13:05 ID:???] >>890 多少質問あったほうが盛り上がるからいいんで内科医? >>892 基本的にvalidationはactionでやり、DBの扱いはmodelでやってるけど、このスレ読んでたらもしかしたらactionでやったほうがいいのかな?とも思えてきた。
894 名前:nobodyさん mailto:sage [2005/12/17(土) 01:30:36 ID:???] >>893 エスパー募集な質問でもか?
895 名前:nobodyさん mailto:sage [2005/12/17(土) 01:39:26 ID:???] あー、エスパー募集はよろしくない罠w
896 名前:nobodyさん mailto:sage [2005/12/17(土) 01:50:31 ID:???] >>892 modelを作るほど複雑でなく(単なるログとか)、 また他のアクションで同じ機能を利用しないならアクションで済ませてしまってもいいとは思う。
897 名前:nobodyさん mailto:sage [2005/12/17(土) 02:02:35 ID:???] >>896 modelでDBに登録するとしたらサニタイズもmodelでやるってことになる? でないとmodelがactionに依存してしまう気がするんだけど。
898 名前:nobodyさん mailto:age [2005/12/17(土) 09:32:09 ID:???] そしたら サニタイズはactionでやるべきだね。
899 名前:nobodyさん mailto:sage [2005/12/17(土) 09:36:15 ID:???] アクション前にフィルタ処理は済んでるはず モデルは自身のためのサニタイズは自身で持つ いずれも定義は括りだす
900 名前:nobodyさん mailto:sage [2005/12/17(土) 09:39:35 ID:???] インプットフィルター → アクションDeバリデーション → モデルサニタイズ てことか。 実際どこで何をやるんだろ。
901 名前:nobodyさん mailto:sage [2005/12/17(土) 10:04:30 ID:???] つーかModelでDBに書き込む場合、フィルタでサニタイズするのもおかしいじゃん。 てことはActionでDBに書き込むのが正しい?
902 名前:nobodyさん mailto:sage [2005/12/17(土) 10:55:36 ID:???] ありえなす
903 名前:nobodyさん mailto:sage [2005/12/17(土) 11:29:14 ID:???] 俺はmodelからdbクラスいじってやってるけど。
904 名前:nobodyさん mailto:sage [2005/12/17(土) 12:05:30 ID:???] mojaviの質問はどこですればいい?
905 名前:nobodyさん mailto:sage [2005/12/17(土) 12:12:34 ID:???] ここですればいいよ 答えが返ってくる時もあれば返ってこない時もあるけど
906 名前:nobodyさん mailto:sage [2005/12/17(土) 13:19:27 ID:???] >>904 あなたの質問がこのスレの命運を決めるかもしれません。 慎重に質問してください。
907 名前:nobodyさん mailto:sage [2005/12/17(土) 13:24:57 ID:???] 何のプレッシャーだよw
908 名前:nobodyさん mailto:sage [2005/12/17(土) 19:16:29 ID:???] おい、agaviのサイトがエラーですよ! www.agavi.org/
909 名前:nobodyさん mailto:sage [2005/12/17(土) 20:58:41 ID:???] >>908 多分5.1にしたんじゃないか
910 名前:nobodyさん mailto:sage [2005/12/17(土) 21:00:06 ID:???] >>908 多分PHP5.1に変えたんだろ timezone関係の警告でてるし
911 名前:nobodyさん mailto:sage [2005/12/17(土) 22:24:03 ID:???] バージョン上げてからチェックしないとはアホもいいとこだなw
912 名前:nobodyさん mailto:sage [2005/12/18(日) 03:06:20 ID:???] >>911 逆だろ チェックしてからバージョン上げないなんてアホもいいとこだなw
913 名前:nobodyさん mailto:sage [2005/12/18(日) 03:09:01 ID:???] まあフレームワークのサイトが 危機管理意識なしでエラーメッセージ垂れ流しっていうのは あまりよろしくないよなぁ。 そもそも確認すらしないのかと。
914 名前:nobodyさん mailto:sage [2005/12/18(日) 06:17:14 ID:???] あれ、こんなエラー自分の環境じゃ出なかったのに
915 名前:nobodyさん mailto:age [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のフォワード無限ループになります。 ozaki.kyoichi.jp/mojavi3/authfilter.html ここのサイトではちゃんとできているようだけど、 同じようなトラブルにあっている方はいますか?
916 名前:nobodyさん mailto:sage [2005/12/18(日) 11:43:36 ID:???] そのドキュメントは古いよ BasicSecurityFilterの使用はsettings.iniのUSE_SECURITYで決定する filters.iniに設定する必要はないよ
917 名前:nobodyさん mailto:sage [2005/12/18(日) 14:07:02 ID:???] o
918 名前:nobodyさん mailto:age [2005/12/18(日) 21:17:43 ID:???] >>916 ちがうでしょ。 controllerでは下のように条件分岐している。 if (USE_SECURITY && $actionInstance->isSecure()) {
919 名前:nobodyさん mailto:sage [2005/12/18(日) 21:42:33 ID:???] >>911-912 それがPHPクオリティ
920 名前:nobodyさん mailto:sage [2005/12/18(日) 22:12:04 ID:???] >>918 なにが違うんだ? USE_SECURITY && $actionInstance->isSecure()で filterChainにSecurityFilterが登録されるわけだが。 なんでfilter.iniで再登録する必要がある? $actionInstance->isSecure()の意味解ってないだろ
921 名前:nobodyさん mailto:sage [2005/12/18(日) 22:48:36 ID:???] >>920 申し訳ございません。 私が間違ってました。
922 名前:nobodyさん mailto:sage [2005/12/18(日) 23:39:16 ID:???] 俺も間違ってた・・・。 再登録以前に、filters.iniにBasicSecurityFilterを登録したら 未認証時に遷移するはずのLoginAction自体にもBasicSecurityFilterが適用されて強制無限ループ。 正確には、forwardが20回再帰すると例外投げるから無限ループにはならないみたいだけど。 すみませんでした。
923 名前:nobodyさん mailto:sage [2005/12/18(日) 23:54:26 ID:???] それそれ! BasicSecurityFilterは$this->loadModuleFilters($filterChain); でregistすると、ループする。 (Default_LoginActionにisSecure ()適用したと同等の現象) いちいちactionでisSecure ()をtrueに書き直すのめんどくさい。 何とかなりませんか
924 名前:nobodyさん mailto:sage [2005/12/19(月) 17:48:44 ID:???] mojaviでadodb+DB_Object使ってる香具師いる?
925 名前:nobodyさん mailto:sage [2005/12/19(月) 18:34:07 ID:???] その組み合わせってなんか変じゃね?
926 名前:nobodyさん mailto:age [2005/12/19(月) 21:25:50 ID:???] headerを出力したいんだけど、viewにそのまま書いていい?
927 名前:nobodyさん mailto:sage [2005/12/19(月) 21:49:37 ID:???] >>925 変だからやってる香具師いるかなぁと 普通ならPEAR::DB+DB_Objectだろうけど、PEAR::DBってadodbより遅いって言うし。
928 名前:nobodyさん mailto:sage [2005/12/19(月) 21:53:15 ID:???] そこでPDOですよ。
929 名前:nobodyさん mailto:sage [2005/12/19(月) 22:05:31 ID:???] >>925 viewに書くのか。 新しい考えだけど俺はactionに書いてる。 だってviewじゃないし。
930 名前:nobodyさん mailto:sage [2005/12/19(月) 22:08:30 ID:???] >>927 DB_DataObjectは確かに内部でDBを使っているが、 基本的に抽象レイヤーと組み合わせて使うもんじゃないぞ DB_DataObjectのソースに手を入れるなら別だけど
931 名前:nobodyさん mailto:sage [2005/12/19(月) 22:42:40 ID:???] DB_DataObjectつかうならFlexyもどうぞ。
932 名前:nobodyさん mailto:sage [2005/12/20(火) 00:41:08 ID:???] >>931 Alanさん早くDBDOをFixしてください
933 名前:nobodyさん mailto:sage [2005/12/20(火) 02:33:17 ID:???] というよりみんなは何を使ってるの? PDO使いたいけどPHP5.1で動かないアプリがあるからムリポ DB_DataObjectで楽するかadodbで早さを取るか迷い中
934 名前:nobodyさん mailto:sage [2005/12/20(火) 12:06:31 ID:???] agaviサイトまだエラー直ってないじゃん やる気ねーーー
935 名前:nobodyさん mailto:sage [2005/12/20(火) 14:49:28 ID:???] Mojavi2は PHP5で動作しますか?
936 名前:nobodyさん mailto:sage [2005/12/20(火) 15:07:17 ID:???] >>933 そもそも PHP を使ってない(゚Д゚)
937 名前:nobodyさん mailto:sage [2005/12/20(火) 16:02:57 ID:???] コスモを感じる
938 名前:nobodyさん mailto:sage [2005/12/21(水) 09:02:46 ID:???] agavi直りますた。
939 名前:nobodyさん mailto:sage [2005/12/21(水) 10:14:48 ID:???] Mojavi < agavi < 江角 < Maple ? 今、Mojavi勉強中なんです。 ながら気になってます。
940 名前:nobodyさん mailto:sage [2005/12/21(水) 11:02:52 ID:???] mojavi以外ならどれでも自分が使いやすいのを使えばいいと思う。
941 名前:nobodyさん mailto:sage [2005/12/21(水) 15:41:11 ID:???] ありがとう。Mojavi以外を考えたほうがいいのか? Mojaviを習得するか? Mojavi覚えるの大変なんですが、何日くらいで慣れますかね?
942 名前:nobodyさん mailto:sage [2005/12/21(水) 18:11:03 ID:???] >>940 なぜmojavi以外?
943 名前:nobodyさん mailto:sage [2005/12/21(水) 19:57:44 ID:???] M3かagaviをすすめる。 オブジェクトを理解するのにちょうど良い。
944 名前:nobodyさん mailto:sage [2005/12/21(水) 21:52:51 ID:???] M3とは?
945 名前:nobodyさん mailto:sage [2005/12/21(水) 22:03:21 ID:???] mojavi3
946 名前:nobodyさん mailto:sage [2005/12/21(水) 22:51:55 ID:???] あれ?ひょっとしてagavi0.10.0が出た話題出てない?
947 名前:nobodyさん mailto:sage [2005/12/21(水) 23:05:54 ID:???] そういえば出てないねぇ。ってかagavi自体の話もあんまり無いような・・・
948 名前:nobodyさん mailto:sage [2005/12/22(木) 00:27:18 ID:???] おお!agavi0.10.0がほんとにでとる! アップデートしてそのまま使えるんか
949 名前:nobodyさん mailto:sage [2005/12/22(木) 12:52:20 ID:???] agavi Mojavi3 Ethmi Makiko 結局Mojavi2で落ち着きました。 その後はまた考えます。
950 名前:nobodyさん mailto:age [2005/12/22(木) 18:28:57 ID:???] php4つかってんの? 後々のこと考えるとphp5とm3の方がいい。
951 名前:nobodyさん mailto:sage [2005/12/23(金) 02:00:04 ID:???] フレームワークを使うならPHP5+なんかだろうね。 php4使うぐらいならフレームワーク使わないでいいと思う。 どうせ将来性ないし。
952 名前:nobodyさん mailto:sage [2005/12/23(金) 04:49:25 ID:???] まだまだPHP4が使われつづけると思う。 今のようなPHPの使われ方なら、PHP4で問題ない。
953 名前:nobodyさん mailto:sage [2005/12/23(金) 10:19:22 ID:???] プロシージャ系を想定してるんだろうけど 開発者の一人がもうphp4固有のバグなんかは直さないよというような ものは使わないほうがいいと思う
954 名前:nobodyさん mailto:sage [2005/12/23(金) 10:20:08 ID:???] というか非OOのフレームワークって見たこと無いや
955 名前:nobodyさん mailto:sage [2005/12/23(金) 12:21:16 ID:???] agavi0.10.0使ってる人、レポよろ
956 名前:nobodyさん mailto:sage [2005/12/23(金) 14:01:08 ID:???] ジングルベルってこういう歌だったの!? 一回目は普通のジングルベルで終わった後、もう一回ボタンをおしてリバースすると・・・ 聞こえにくい場合は音を少し大きめに。 media.spikedhumor.com/8944/Jingle_Bells_Reversed.swf
957 名前:nobodyさん mailto:sage [2005/12/23(金) 14:05:43 ID:???] >>956 このスレにまでそんなコピペが貼られるご時世かよ
958 名前:nobodyさん mailto:sage [2005/12/23(金) 15:07:39 ID:???] >>957 冬休みだしね
959 名前:nobodyさん mailto:sage [2005/12/23(金) 18:02:33 ID:???] >>958 クリスマス寂しいな
960 名前:nobodyさん mailto:sage [2005/12/23(金) 18:02:45 ID:???] >>955 初フレームワークにAgaviを選択してみました。 英語がさっぱりなので、ドキュメントもなんとなくしか わからないのですけど、すごく良い感じですね。 日本語情報がすごい少ない以外は今のところ不都合ないです。 ってレポになってないですね・・・。
961 名前:nobodyさん mailto:sage [2005/12/23(金) 20:44:59 ID:???] >>956 そういうさ、途中で叫び声入るようなドッキリ系張る奴って、そんなに驚いたのか? 叫ばれてもお前に腹立つだけで、広めようとかまったく思わなかったんだが。
962 名前:nobodyさん mailto:sage [2005/12/23(金) 21:33:46 ID:???] ちょwww 今PHPのサイトもエラ−になってる 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
963 名前:nobodyさん mailto:sage [2005/12/24(土) 01:48:59 ID:???] 直ってる…
964 名前:nobodyさん mailto:sage [2005/12/24(土) 02:58:29 ID:???] 非SQL型のアプローチって 逆に手間増える場合も多いね。 抽象化レイヤ一枚かぶせただけみたいな形になって しかもインターフェイスを憶えにくいからコーディングがノロノロになった。
965 名前:nobodyさん mailto:sage [2005/12/24(土) 10:57:47 ID:???] 非SQLていうと、ldapとか、XMLで問い合わせるDBとか? べつにそういう印象はないけど、慣れの問題じゃない?
966 名前:nobodyさん mailto:sage [2005/12/24(土) 13:22:47 ID:???] いや、ldapとかXMLじゃなくて、 RDMSに対して生SQLを書かずにアクセスできる ラッパークラスのアプローチ。 たしかに慣れたら速く書けるんだろうけど ガンガン進みたい時に「あーウゼー!」ってなる。
967 名前:nobodyさん mailto:sage [2005/12/24(土) 14:29:17 ID:???] >>966 わーい、仲間発見 可読性上がるし、エスケープ忘れ無くなるので、 がんばってるけど、SQL直書きに比べるとめんどいよね
968 名前:nobodyさん mailto:sage [2005/12/24(土) 14:37:36 ID:???] そういえばcakeとかのactiveredord実装は面白い。 インターフェイスがとても簡単なのもあるけど、生SQLはほとんどLEFT JOIN一本槍で もう効率とかギリギリまで行く必要ないじゃん? みたいな思想に萌える。 findBySql()で、カスタムなsqlを飛ばしても、簡単なルールさえ守れば スムーズにModelフレームワークに組み込むことは出来るし、 その気になれば複雑なjoin条件をモデルに指定する事もできるようだ。ドキュメント無いけど。 さて、そろそろ布団から出て宴会に行く支度するか。
969 名前:nobodyさん mailto:sage [2005/12/24(土) 16:08:37 ID:???] > LEFT JOIN一本槍 あれMysql5系でどーすんだろ
970 名前:nobodyさん mailto:sage [2005/12/24(土) 16:22:33 ID:???] >>969 mysqlのleft joinに何か問題あるの?
971 名前:nobodyさん mailto:sage [2005/12/24(土) 16:43:14 ID:???] 問題ない
972 名前:nobodyさん mailto:sage [2005/12/24(土) 17:02:10 ID:???] >>969 いやINNERJOIN+WHERE句で結合だから
973 名前:nobodyさん mailto:sage [2005/12/24(土) 21:23:54 ID:???] MySQL5関連はサポートレベルではみんな困ってるみたいね。 JOIN関係で修正が必要になるのはON句でこじゃれたことしてる場合だけでいいの?
974 名前:nobodyさん mailto:sage [2005/12/26(月) 12:06:40 ID:???] valueクラスつくって(下記)ユーザの情報を入れるんだけど、 DBからユーザ情報をたくさん取得してこのオブジェクトにセットした場合 オーバーヘッドがすごいですよね。 複数のユーザ情報をvalueクラスにセットする場合ってどうやってますか? class userValue { private $userId; private $name; private $mail; function getUserId() { return $this->userId; } }
975 名前:nobodyさん mailto:sage [2005/12/26(月) 13:36:57 ID:???] >>974 いわゆるActiveRecordみたいなことをしたいなら、__getや__setをつかうのがよいかと。 つーかオーバーヘッドがすごいってどういうこっちゃ?
976 名前:nobodyさん mailto:sage [2005/12/26(月) 13:43:14 ID:???] 連想配列使うのが速いに決まってるよな。
977 名前:nobodyさん mailto:sage [2005/12/26(月) 15:46:26 ID:???] 俺はVOは基本連想配列使ってるなぁ。 場合に応じてValueListクラスを作ることもある。
978 名前:nobodyさん mailto:sage [2005/12/26(月) 19:07:34 ID:???] わかりました。 private $userId; private $name; private $mail; private $userAR = array(); こうやって対応しました。
979 名前:nobodyさん mailto:sage [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]; }
980 名前:nobodyさん mailto:sage [2005/12/27(火) 00:20:25 ID:???] php5を使っているのならコレクションクラスはイテレータを使って上品にいきたいところだ。
981 名前:nobodyさん mailto:sage [2005/12/27(火) 07:58:48 ID:???] つーかZend Frameworkいつ出るか誰か知ってる? Ruby on Railsに酷似しているという噂もあったり・・・? あと誰か次スレ立てて。
982 名前:nobodyさん mailto:sage [2005/12/27(火) 14:00:05 ID:???] 来年の今頃じゃない?勘だけど>zendフレームワーク
983 名前:nobodyさん mailto:sage [2005/12/27(火) 17:40:49 ID:???] 来年の今頃出されてもPHP自体が終わってると思うよ。
984 名前:nobodyさん mailto:sage [2005/12/27(火) 17:53:08 ID:???] 来年の今頃なんて、おいらプログラム書いてないかも知れないっスよ( ´・∀・`)
985 名前:nobodyさん mailto:sage [2005/12/27(火) 18:52:11 ID:???] >>982 そんな遅くないでしょ この間のプレゼンでドキュメントを数週間以内に出すって言ってたけど まだ出てないのかな
986 名前:nobodyさん mailto:sage [2005/12/28(水) 00:22:05 ID:???] こういうのは遅れるのがデフォだからなぁ。
987 名前:nobodyさん mailto:sage [2005/12/28(水) 03:11:20 ID:???] WEB+DB PRESSの新刊に agaviの記事があったよ。 今回は他にもPHPの記事が結構あった。
988 名前:nobodyさん mailto:age [2005/12/28(水) 20:26:19 ID:???] mojavi3で作ったアプリ HTMLのiframeからべつのphpファイルを指定し そのphpファイルからmojaviで認証されたユーザー情報を参照したいのですが どうすればいいでしょうか。 内緒なデータなので$_GETでは渡したくないです。
989 名前:nobodyさん mailto:sage [2005/12/29(木) 00:19:22 ID:???] >>988 別の人に仕事を委託する。
990 名前:nobodyさん mailto:sage [2005/12/29(木) 01:30:04 ID:???] mojaviなんですが、ファイルのアップロードとか自作クラスを何処においてますか? 普通、Lib/下に置くものなんですか? opt/下に置くものなんですか?
991 名前:nobodyさん mailto:sage [2005/12/29(木) 11:49:15 ID:???] Smartyなど共通クラスはLib/下に置いてます。
992 名前:nobodyさん mailto:sage [2005/12/29(木) 15:50:17 ID:???] RubyがもっとしっかりしてくれたらPHPなんて使わずに済むのに
993 名前:nobodyさん mailto:sage [2005/12/29(木) 16:11:46 ID:???] Javaにしとけ
994 名前:nobodyさん mailto:sage [2005/12/29(木) 16:27:46 ID:???] >>993 スケーラビリティ糞
995 名前:nobodyさん mailto:sage [2005/12/29(木) 17:00:29 ID:???] まさかJavaよりRubyのほうがスケーラビリティ高いとか言わないよね? そもそもPHPだって設計きちんとやれば見下ろすほど拡張性低くないのにね。 まあJavaは言語仕様自体が拡張性上げてるようなもんだし。 特異メソッドだの特異クラスだのクロージャだの溢れかえったRubyにスケーラビリティのスの字もないと思うけど。 拡張モジュールをCで書いたりなんてことになると、もうね。 それより、Zend FrameworkはPHPネイティブらしいし、スケーラビリティに関して少しは期待していいかと。 RoRと比べてどうかとかは出てからじゃないと何ともいえないけど。
996 名前:988 mailto:age [2005/12/29(木) 17:02:56 ID:???] これはセッションしかないなと思い、iframeに表示している別のphpファイルで session_start(); してvar_dump($_SESSION); しましたが、array(0) { } となってしまいました。mojaviの$userValueオブジェクトが セットされているのですがセットされていませんでした。
997 名前:nobodyさん mailto:sage [2005/12/29(木) 17:37:04 ID:???] 次スレ立ててきます。
998 名前:997 mailto:sage [2005/12/29(木) 17:42:43 ID:???] すまんむりだったorz フレームワーク一覧 Phrame phrame.sourceforge.net/ Mojavi Project www.mojavi.org/ Agavi agavi.org/ [ 日本発 ] Maple Project kunit.jp/maple/ [ 日本発 ] Ethna -PHPウェブアプリケーションフレームワーク- ethna.jp/ethna-tutorial-startup-practice1.html [ 日本発 ] guesswork www.guesswork.jp/ Biscuit bennolan.com/biscuit/ PHP on TRAX phpontrax.com/ Web Application Component Toolkit (WACT) www.phpwact.org/ symfony www.symfony-project.com/ XOAD wiki.xoad.org/index.php?title=Wiki_Home [ 日本発 ] pokox www.glamenv-septzen.net/pukiwiki/index.php?pokox [ 日本発 ] 速構Web Framework www.pm9.com/newpm9/itbiz/php/framework/
999 名前:nobodyさん mailto:sage [2005/12/29(木) 17:46:32 ID:???] CakePHP cakephp.org/ これも。
1000 名前:nobodyさん mailto:sage [2005/12/29(木) 18:02:13 ID:???] 1000
1001 名前:1001 [Over 1000 Thread] このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。