【PHP】Phrameを使う【フレームワーク】
レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん
04/08/23 14:15ID:???※関連リンク
Phrame本家
http://phrame.sourceforge.net/
PHPでMVC第1回:前編
https://www.stackasterisk.jp/tech/php/phpMvc01_01.jsp
開発談義/FrameWorkはどれがいい? - PukiWiki
http://w-project.org/pukiwiki/index.php?%B3%AB%C8%AF%C3%CC%B5%C1%2FFrameWork%A4%CF%A4%C9%A4%EC%A4%AC%A4%A4%A4%A4%A1%A9
0002nobodyさん
04/08/23 15:07ID:???0003nobodyさん
04/08/23 15:14ID:TTBPsHc1http://www.lyricfathom.com/pukiwiki/pukiwiki.php?plugin=attach&openfile=hello2.zip&refer=Phrame%B2%FE%C2%A4
00043
04/08/23 15:15ID:TTBPsHc1http://www.lyricfathom.com/pukiwiki/pukiwiki.php?Phrame%B2%FE%C2%A4
あとこれも。
Phrameを使ってみよう
http://www.lyricfathom.com/pukiwiki/pukiwiki.php?Phrame%A4%F2%BB%C8%A4%C3%A4%C6%A4%DF%A4%E8%A4%A6
00053
04/08/23 15:17ID:TTBPsHc1楽して割と凝ったサイトを作れる雛形みたいなもんかな
0006nobodyさん
04/08/23 17:15ID:???0007nobodyさん
04/08/23 17:23ID:TTBPsHc1mojaviはExamplesやマニュアルが少ないので取っ掛かりにくいですね
0009nobodyさん
04/08/23 18:51ID:???0010nobodyさん
04/08/23 19:02ID:???0011nobodyさん
04/08/23 20:00ID:???0012nobodyさん
04/08/23 20:10ID:???0013nobodyさん
04/08/23 20:22ID:f37dP4ULそういう雑誌の影響は大きいから
日本ではmojavi一色になりそうだな。
0014nobodyさん
04/08/23 21:25ID:???これからはMojaviでしょ
0015nobodyさん
04/08/23 21:35ID:???0016nobodyさん
04/08/23 22:20ID:???0019nobodyさん
04/08/24 06:27ID:???1st release から何年も更新されずにとっくに終わってるフレームワークじゃないか。
しかも >>5 と >>16 はアフォ
0020nobodyさん
04/08/24 07:58ID:???0021nobodyさん
04/08/24 09:23ID:SuxwfXxEとっくに終わっていようが便利なものは便利だからしょうがない。
なぜアフォなのかを説明もできない藻舞は(ry
0023nobodyさん
04/08/24 13:18ID:???PHP4まではOOがウンコだったし。
0026nobodyさん
04/08/24 15:54ID:???1./viewのテンプレートHTMLを作成(WEBのデザイン)
2./viewにPageクラスを拡張したHogePageクラスなどを作成
3./modelsに処理系のクラスを追加
4./actionにHogeAction.phpなどを作成
5./formsにHogeForm.phpを作成(主にvalidate処理)
6./include/mappings.phpを加工
7./include/include.phpに1〜5までで新規に作成したファイルのパスを追加
0027nobodyさん
04/08/24 16:31ID:???(*´Д`)ハァハァ
その流れ見てると Mojavi が Phrame パクってるってのがよく分かる。
DispatcherView パターンに該当する部分が include.php だったり、
binarycloud から受け継いだらしい (適当) ExecutionFilter/ActionChain が無いのが何なのかな。
0028nobodyさん
04/08/24 21:09ID:???0030nobodyさん
04/08/25 00:05ID:uedKxIqgMojavi>>>Phrameってことだね。
0031nobodyさん
04/08/25 00:40ID:???どっちも知らんけど。
0032nobodyさん
04/08/25 12:54ID:Coqn2mU7mojaviとphrameを比較するH頁作ってください!ホナガイスマス
0033nobodyさん
04/08/25 12:54ID:???こういうフレームワークを仕様として取り込んでほしいよ。
0039nobodyさん
04/08/25 16:16ID:???0040nobodyさん
04/08/26 01:42ID:6g3/BbZkオブジェクト指向を重視する部分は
ObjectivePHPみたいな派生言語にした方がいいのでは?
0041nobodyさん
04/08/26 08:41ID:S0oPWMYTそうかなー
使いやすくなったけど。
ソースの使いまわしも楽になったし。
0042nobodyさん
04/08/26 09:26ID:S0oPWMYT0043nobodyさん
04/08/27 00:55ID:???0044nobodyさん
04/08/27 09:07ID:6DtrpXem0045nobodyさん
04/08/27 13:03ID:???吸収できる物があるなら触ってみたいけど…
0046nobodyさん
04/08/27 13:36ID:6DtrpXem0049nobodyさん
04/08/27 14:08ID:???0050nobodyさん
04/08/27 14:16ID:???まぁ色々ありますよ。
Phrameより後発だったり、それなりに開発動向がアクティブだったり、そういう部分が興味そそる。
でも今はMojaviでお腹一杯でつ。
0051nobodyさん
04/08/27 14:23ID:???0052nobodyさん
04/08/27 14:34ID:???WACT, Seagull, HORDE, Popoon, binarycloud, Ambivalence, Ampoliros, PHITE,
BlueShoes はダメだった。
0053nobodyさん
04/08/27 14:40ID:???+ Ambivalence (http://amb.sourceforge.net/)
0.9がJuly 16, 2002に出て以来開発が止まっている様子。評価下げ。
+ binarycloud (http://www.binarycloud.com/)
本格派MVCフレームワーク。
JavaのAntみたいなphingをサブプロジェクトで開発している。
Pharme, Mojaviと異なるのは認証、フォーム処理等の各種ライブラリを備えて
いることか。その分巨大なフレームワークになっているので、とっつきが悪い
感じ。テンプレートはSmartyとXSLTのアダプタがあるみたい。
+ Horde (http://www.horde.org/horde/)
Webアプリケーションフレームワークとしては最も巨大だと思う。
ライブラリの量が凄い。いくつかのライブラリはPEARにも寄贈されている。
現時点で最も人気がありそう。中身は知らない。
Web等で概要を追ってるだけでは似たようなものが多すぎて使ってみないとわ
からない部分が多い。しかしCMS系を入れると数ありすぎてなかなか評価する
のも大変です。
ポータル系ではeZ publishとMidgardが興味深いかなぁ。
0056nobodyさん
04/08/27 15:21ID:6DtrpXemXMLの方がデータの移植性はいいのかもしれないが。
0057nobodyさん
04/08/27 16:07ID:???0059nobodyさん
04/08/27 16:46ID:???http://ns1.php.gr.jp/pipermail/php-users/2004-August/023573.html
00601
04/08/28 13:16ID:RjgBD683一通りレスを見てみましたがmojaviユーザって結構いるんですね
マニュアルがあまり整ってないので使ってるヒトいるのか疑問でしたが。
この際mojaviの話もOKにしましょうか
その方がPhrameユーザにとっても有益な情報が得られるかもしれませんよね
0061nobodyさん
04/08/28 13:34ID:???0062nobodyさん
04/08/28 16:42ID:???0063nobodyさん
04/08/28 18:39ID:???0064nobodyさん
04/08/29 03:12ID:???0065nobodyさん
04/08/29 03:24ID:???0066nobodyさん
04/08/29 09:31ID:???0067nobodyさん
04/08/29 20:09ID:???0068nobodyさん
04/08/29 23:04ID:???0069nobodyさん
04/08/29 23:28ID:vwNaRmMGclass 2chAction extends Action
{
function perform($actionMapping, $actionForm) {
$厨房 = $actionForm->get('MOJAVI')
//get ActionForward depending on if errors were generated
if ((!$厨房) || ($_SESSION[_ERRORS])) {
$actionForward = $actionMapping->get('PHRAME');
} else {
$actionForward = $actionMapping->get('イッテヨシ');
//put Person in the session
$_SESSION['厨房'] = $厨房;
}
return $actionForward;
}
}
?>
0070nobodyさん
04/08/30 23:40ID:FUpe2pD+0071軟式PHP
04/08/31 09:55ID:???-----------------------
出力結果:いい男…
0072nobodyさん
04/09/01 12:16ID:6pxu3p27似たり寄ったりになると思うけど
0073nobodyさん
04/09/01 12:32ID:???0074nobodyさん
04/09/01 12:37ID:???持っていない。フレームワークを自作するコストと利用するコストを比較する
となかなか自作はできないだろう。ましてや良質なフレームワークが出回って
いる現状ならなおさら。どちらにしてもスクラッチから書くのは習作を除けば、
現実的ではないと考えている。
0075nobodyさん
04/09/01 12:41ID:???持ってたけど早く捨てたかった。
一つはそんなに自分を高く見積もってないし楽したいので皆で作る方が良いと思ってた事。
もう一つはオープンになる事で外から入ってくる人間には習得の容易さを、外に出て行く人間には出て行った先でも使える物を持たせたかったから。
で、きっちり捨てれて今は幸せでつ。
まぁどうしても独自コードっぽくなるけど、それでもオープンなフレームワークや PEAR を編み込む事で出来るだけ閉鎖性は排除してる。
0076nobodyさん
04/09/01 12:45ID:???価値高い方に転がるなら自分的には(゚д゚)ウマ-ですけど。
0077nobodyさん
04/09/01 13:27ID:???0078nobodyさん
04/09/01 14:55ID:???自分オリジナルなframeworkでいいんで。。。
0079nobodyさん
04/09/01 15:48ID:???0081nobodyさん
04/09/03 16:00ID:???0082nobodyさん
04/09/03 17:26ID:???http://www.oscom.org/events/oscom4/proposals/vida
これにある Vida の事?
https://sourceforge.net/projects/vida
0083nobodyさん
04/09/04 20:40ID:???0084nobodyさん
04/09/05 22:43ID:???0085nobodyさん
04/09/05 22:44ID:???・ニ・ケ・ト
0087nobodyさん
04/09/09 15:57ID:???0088nobodyさん
04/09/09 19:03ID:???設定終わったらindex.phpのdieの部分を消す。
あとはモジュール内にclass呼び出したりして好きに書け。
mojaviビギナーのチュートリアルだ。
http://www.peterrobins.co.uk/it/mojavi/tutorial.htm
0090nobodyさん
04/09/13 22:43:08ID:???ソースを解読しなきゃなんないよね。
だったら自分でつくっちまったほうが
はえーじゃないかっておもうんだけど。
0091nobodyさん
04/09/13 22:51:46ID:???0092nobodyさん
04/09/13 22:53:40ID:???一般人では作れないようなスマートな実装をしているのかな。
0093nobodyさん
04/09/14 13:09:02ID:3r5+EGwU0094nobodyさん
04/09/14 13:52:59ID:???0095nobodyさん
04/09/14 14:03:24ID:???0096nobodyさん
04/09/14 14:15:40ID:???mojaviスレをそろそろ立ててください
0097nobodyさん
04/09/14 16:52:02ID:???自分で作ったほうがはやいにきまってるじゃん。
でも、複数人で開発するとき、しかも互いにコーティング方法が
違う人間達とやるときでも、自分たちでルール決めて作るほうが
速いといいきれるか?
そしてドキュメントはあるだろ。>>88にビギナーのチュートリアルだって
あるし
0098nobodyさん
04/09/14 22:30:29ID:???俺は独力&浅いんで、あと1年やってても Mojavi の実装や考え方に至れたかどうか甚だ疑問だ。
便利に使わせても貰っているが、何より良い教材だよ、Mojavi は。
まぁそんなスキルの低いヤシにも Mojavi は優しいんでつよ (´・ω・`)
0100nobodyさん
04/09/15 09:55:34ID:???0101nobodyさん
04/09/16 07:26:06ID:???誰か俺様のために和訳して公開シル
0102nobodyさん
04/09/16 13:30:03ID:???英語勉強するか、大人しく日本語圏に入ったものだけ使っておけ。
ドキュメント読める程度の英語ってもう必須だよな・・ でないとベースにアクセス出来ないんだし。
0104nobodyさん
04/09/16 14:46:02ID:???0105nobodyさん
04/09/16 16:12:10ID:???ちょろっとだけだよ.
0108nobodyさん
04/09/16 21:32:22ID:???0110nobodyさん
04/09/17 00:42:48ID:???そんな俺でも必要性に迫られてやってるウチに覚えていった。
今じゃ英語のニュース聞いて部分部分くらいは理解出来る程度になりますた。
まぁ必要なスキルと思えば何とかなる。
高校の頃覚えた基本構文は役だった。
0115nobodyさん
04/09/17 22:00:59ID:???プログラム関連の書籍って訳が下手なの多すぎ。
0117nobodyさん
04/09/17 23:58:52ID:???0118nobodyさん
04/09/18 00:01:31ID:???wiki形式で手軽に対訳を書けるようにしておけば捗るんじゃないかな?
0119nobodyさん
04/09/18 16:11:30ID:???0120nobodyさん
04/09/22 13:07:23ID:???0121nobodyさん
04/09/23 01:46:55ID:???0124nobodyさん
04/09/23 20:16:06ID:???0127nobodyさん
04/09/24 04:39:30ID:???0129nobodyさん
04/09/29 10:57:52ID:OOKPXCa50130nobodyさん
04/09/29 11:53:47ID:???0131nobodyさん
04/09/29 17:34:55ID:???0132nobodyさん
04/09/30 13:22:06ID:ESFF1jxj0133nobodyさん
04/09/30 15:22:58ID:???0134nobodyさん
04/10/01 04:34:21ID:1KaNssep0135nobodyさん
04/10/01 09:56:00ID:zS5YkHN2って事は、枯れたライブラリを使うのが吉って事か?
0136nobodyさん
04/10/01 12:32:26ID:???PHPLIBといい。
0137nobodyさん
04/10/01 20:12:30ID:???そのアプリケーション専用のライブラリとして他から切り離してバージョンも固定してるけど。
でないとやってられないべ。
0138nobodyさん
04/10/01 20:50:17ID:???やってられないべ。
0139nobodyさん
04/10/06 09:46:04ID:???0140nobodyさん
04/10/06 12:16:32ID:???0141nobodyさん
04/10/06 13:43:37ID:???0143nobodyさん
04/10/07 08:56:12ID:???https://www.stackasterisk.jp/tech/php/mojavi01_01.jsp
0144nobodyさん
04/10/07 12:07:58ID:???何かネットで拾った話をつなぎ合わせただけみたいな。
スタックアスタリスクもあのまま京橋にいておけばもっと違う内容になったかな、とちょっと (´・ω・`) オモタ
0145nobodyさん
04/10/07 17:51:31ID:???0146nobodyさん
04/10/07 17:53:35ID:???もう実地投入してる人もいるようだけど。
そういや前にフォーラムに 3.0 が subversion から取得出来るような書き込みがあって見てみたけど無かな…
アレは何だったのか。
0147nobodyさん
04/10/08 10:43:00ID:???0148nobodyさん
04/10/08 11:30:47ID:???会社でひとつ作りました。Webアプリケーション部分のコード行は4万くらい。
しかしその質問の仕方じゃ、基準がわからないので調べようがないよ。
0150nobodyさん
04/10/08 12:11:39ID:???・顧客情報管理
・売上管理
・ワークフロー
・スケジューリング
等を備えた業務アプリケーションです。
詳しい内容はご容赦下さい。
0151nobodyさん
04/10/08 12:49:07ID:???中堅小売業向けの顧客管理&サービスアプリケーション作ったよ。
動いてるけど運営ダサすぎて 500 hit/day も出てないので晒すのは勘弁。
0153nobodyさん
04/10/08 13:01:49ID:???レガシーシステムのリプレースです。
そんなもんって、あの内容だけでよくわかるね(笑)
商用のERP/CRMパッケージを使えと?
規模的にERPの出番はなかったですよ。
0156nobodyさん
04/10/09 04:28:10ID:???動作確認もさっとできないところがダメ。
0160nobodyさん
04/10/09 16:34:52ID:???Mojaviについては数ページしか書かれていませんでした。
まったくMojaviの使い方がわからなかった自分には、それでもありがたかったですが。
0161nobodyさん
04/10/09 18:11:45ID:???定義ファイルはXDoclet使えばもうまんたい。
さっとできないというのがどういうことかわからんが、動作確認というか、テストはStrutsTestCaseでもうまんたい。
0163nobodyさん
04/10/10 00:58:07ID:???mojavi3.0はやく正式リリースしてくれ
0164nobodyさん
04/10/10 09:10:00ID:???0166nobodyさん
04/10/10 22:06:16ID:???日本語のサイトはほぼ閲覧しましたが、詳しく解説しているサイトは少ない感じがしましたが。
お薦めのサイトはありますか?
0167nobodyさん
04/10/10 22:45:49ID:???日本情報も充実して手がかりには十分だろう。
何だって最初は詳しい解説なんて無かった。
PEAR も、Mojavi も。
いつもソースがドキュメントだった。
人のアウトプットを待つって事はそれだけ遅れるって事だ。
人のアウトプットに頼り源泉に触れないって事はそこでフィルタされた情報があるって事だ。
やる気あるヤツぁ自分でよじ登れ。
労惜しむのなら落ちてくるまで待っとけ。
0168nobodyさん
04/10/10 23:20:13ID:???0170167
04/10/10 23:49:45ID:???かなりネタ気味に書いたんで。
そろそろMojaviも次のステージかな。
誰か本出せばいいのに。
モジュールコレクションと、モジュールを組み立ててアプリケーションを作るパートとの2部構成くらいできぼん。
0171nobodyさん
04/10/11 02:39:32ID:???自分で作れ。
そして再利用だ。
0172nobodyさん
04/10/11 11:40:33ID:???0173nobodyさん
04/10/11 11:53:41ID:???0175nobodyさん
04/10/11 20:29:21ID:???さっぱり使い方が分からなかった。
Smartyの話と混ぜずに、もっと
シンプルに解説して欲しい。
0176nobodyさん
04/10/12 07:16:25ID:???良い記事だったと思うけどな。
>>175 の願望を落としたら俯瞰的なイントロダクションではなく、入門用の記事が必要となるのでは。
というかおまいら、誰かの書いた物に頼りすぎですよ。
switch (自分のポジション)
{
case '本職':
ムックを持てる分、先行者よりも良いコンディションでスタートしたのに理解出来ない自分に焦りを感じて根性で頑張る
break;
case 'webデザイナー':
case '趣味':
default:
もっと分かりやすい記事が出るまでムックの他のパートを読んだりしながらのほほ〜んと待つ
手元に Mojavi ネタをコレクションしては適当に取り組み、分かる部分だけ取り込んで少しづつ前身
break;
}
0177nobodyさん
04/10/12 09:43:39ID:???実際のところ、RendererはほとんどSmartyを使うことになると思うので、実利
を考慮して意図的に誘導しました。大多数の方は記事のままお使いになる場合
が多いので。気に入らなかった方はごめんなさい。
もし次回があれば、アプリケーション構築プロセスを追うチュートリアル的内
容になると思います。
0178nobodyさん
04/10/12 20:19:28ID:???http://mojavi.try-angle.biz/wiki/
0179nobodyさん
04/10/12 21:51:12ID:???確か業務で使うのに勉強会か調査かやるって言ってた人の所か。
0180nobodyさん
04/10/13 11:49:13ID:???引用の範疇を越えているため、もちろん原著作者に許可を得ていると思うので
その旨、どこかに明記しておかないと、法人として信用をなくすような
あらぬ疑いを受けるかもしれないよね。
私は英語ができないから大変有用なんだけど
願わくば、翻訳の掲載(と今後増えるであろう既存情報の寄せ集め)のサイトからの
脱却を計ってもらえると意欲があると思えるよね。
0181nobodyさん
04/10/13 12:38:53ID:???0182nobodyさん
04/10/13 12:42:52ID:???0183nobodyさん
04/10/14 04:00:58ID:???0186nobodyさん
04/10/14 10:38:53ID:wF4PnGtGhttp://www.stackasterisk.jp/tech/php/mojavi01_01.jsp
http://mojavi.try-angle.biz/bbs/
こういうのもあるらしいよ。
0187nobodyさん
04/10/14 10:53:00ID:???0189nobodyさん
04/10/14 23:02:13ID:???日本語にはなっていないトピックが
たくさんちりばめられていて興味深いな。
0191nobodyさん
04/10/15 02:39:50ID:???3にんがかりくらいの大規模な。
0192nobodyさん
04/10/15 07:54:52ID:???漏れも Mojavi を微妙に拡張してるよ。Mojavi にはわざと詰めてないように思える部分があるし。
ただその前にそのフレームワークに従ったやり方を調べ、他のフレームワークに手を入れない方法を調べた上での事だけど。
PEAR のように細かくバージョンの上がるライブラリを改造するのは躊躇うが、
Mojavi のように安定している物であれば少し手を入れるのも有りかと思う。
0193nobodyさん
04/10/15 08:30:13ID:???互換性が無い(乏しい)のなら、バージョン固定して
カスタマイズする方が賢いような気がするけど。
0194nobodyさん
04/10/15 12:02:08ID:???つか、バージョン毎の互換性にとぼしいフレームワークとか処理系って、怖くて使えない。
0195nobodyさん
04/10/15 12:41:10ID:???>>194
PEAR 相手なら言ってることは正しいが。>>193 のような場合はバージョンが違えば別物って考えるんだyo!
ドラクエみたいなもんだ。1と2では、1やってりゃ2の理解も早いが基本的に別物。
0196nobodyさん
04/10/15 12:48:01ID:???メジャーバージョンが上がる場合は互換性がある程度失われるのも許容範囲だと思うけど。
マイナーバージョンが上がって動かなくなるのは困るよね。
PHP本体でたまにあるけどね。
0197nobodyさん
04/10/15 13:14:26ID:???つまり、どうせバージョンがあがって使い方変わるんだから、必要もないのにあらかじめmojaviの勉強をしておく必要はない、ってことですね?
0198nobodyさん
04/10/15 15:00:33ID:???フレームワークでも言語でも何でも、優秀な物は実際に投入せずとも考え方をパクったり良い影響を受ける事が出来るので取り敢えず触れておくのは大事。
っていうか PHP 自体が、実運用には 早い、安い、旨い で適しているけど何か新しい物を生む土壌ではなくて多くの輸入物で成り立っていると思うんだけど。
なので PHP コーダーだからこそ新しい物への興味を高く保つべきと思う。
PHP/PEAR は特に Java に対しての後出しじゃんけんが多くて (゚д゚)ウマ- な気がする。
0199nobodyさん
04/10/16 01:44:26ID:???使われてるwiki engineって
何でしょう。
0200nobodyさん
04/10/16 01:45:00ID:???nucleus+XOOPS的な
blog作りたいな。
0201nobodyさん
04/10/16 01:45:19ID:???の実装に悩むね。
0203nobodyさん
04/10/16 04:49:54ID:???旨いか?
Javaに対しての後出しじゃんけんっていっても、Javaがグー出してるの見てPHPがパー出したときには、すでにJavaがチョキ出したあとだし。
0204nobodyさん
04/10/16 09:53:17ID:???まぁソレはある。言い方悪かったかも。
Java より PHP でやる理由ってのはまた別で、もっと総合的な事が理由。
宗教論争に入りそうなのでパス。
0205nobodyさん
04/10/20 18:16:19ID:???0207205
04/10/22 16:14:51ID:???まだサンプルが動作してない。
まだ、いまいちよくわかってないっす。
このフレームワークってやつ。
0208nobodyさん
04/10/22 23:29:34ID:???0209nobodyさん
04/10/23 03:57:43ID:???誰かレポお願い。
0210nobodyさん
04/10/23 19:02:16ID:???いつまで経っても立たないね。
0211nobodyさん
04/10/23 23:23:20ID:???0212nobodyさん
04/10/24 01:17:48ID:???0213nobodyさん
04/10/24 01:36:21ID:???0215nobodyさん
04/10/24 03:15:01ID:???それに常に新しいフレームワークは評価していきたい。
っつーかさ、俺に Mojavi 教えてくれた人はもう「みんなやってるから興味無くした」って言って別のヤツやってる。
0216nobodyさん
04/10/24 03:46:18ID:???いいね、そういう人がいて。
0218nobodyさん
04/10/24 04:51:42ID:???念のために言っておくと、「使えるよ、いいよ」ってだけで誰も手取り足取りなんてやってない。
そっちのラインもお互いに得る物があっての事がまだ大きいと思うので、貰った分自分も何かを返さないとってプレッシャーの中で毎日やってるよ。
0219218
04/10/24 04:54:52ID:???0221nobodyさん
04/10/24 08:03:02ID:???>っつーかさ、俺に Mojavi 教えてくれた人はもう「みんなやってるから興味無くした」って言って別のヤツやってる。
普通フレームワークってみんなが使ってこそ価値があるもんだと思うんだが…
0222nobodyさん
04/10/24 09:47:49ID:???あと、ファイルの置き場所と名前がまるわかりなのにはどう対応してる?
0223nobodyさん
04/10/24 10:00:35ID:???0225nobodyさん
04/10/24 11:53:47ID:???0226nobodyさん
04/10/26 17:13:21ID:???0227nobodyさん
04/10/26 18:25:19ID:???0228nobodyさん
04/10/27 01:39:53ID:???0229nobodyさん
04/10/27 03:06:20ID:???まるごと PHP の P199 リスト15 で
$request->setError('login', array( 'level' => 'warning', 'message' => 'ログインに失敗しました' ));
return VIEW_INPUT;
とあって、自分は setError は void setError (string $name, string $message) で使っていたので
配列でエラーレベルとメッセージをセットするアイデアに興味を覚えたのですが、
ではそのセットした情報を取り出す/使うときはどうやっているのかと思って探してみると…
まるごと付属 CD に該当コード無いし (つД`) 記事をぱらぱらと見ても解説が無いんで… 誰か解決編お願いします…
誤認/見落としがあったらごめんなさい。
0230nobodyさん
04/10/27 03:58:15ID:???0231nobodyさん
04/11/03 23:22:19ID:???そうかもしれない。
しかし量が少ないのですぐ読める。
0232nobodyさん
04/11/03 23:31:24ID:???0233nobodyさん
04/11/04 15:37:39ID:???まるごとPHP!の記事を書いた者です。
setError()メソッドで配列をセットする使い方は、Mojavi自体とはまったく関
係ありませんのでハンドリングは自前でやることになります。
エラーメッセージのレベルによってCSSのクラスを変更するという(アイコンや
メッセージのフォントサイズ、色等)ことを実現したいがために使っておりま
すが、混乱させて申し訳ありません。
レンダラオブジェクトでテンプレート変数として設定しておいて単純にSmarty
等の条件分岐で参照させるような使い方を意図しております。
例えばこんな感じです。
{section name=freeMessage loop=$freeMessages}
<tr>
<td
{if $freeMessages[freeMessage].level == "info"}
class="info"
{elseif $freeMessages[freeMessage].level == "warning"}
class="warning"
{elseif $freeMessages[freeMessage].level == "alert"}
class="alert"
{/if}
>
{$freeMessages[freeMessage].message}
</td>
</tr>
{/section}
0235nobodyさん
04/11/12 01:46:07ID:???正式リリースはまだか…
0236nobodyさん
04/11/25 23:05:24ID:???これはなんですか?
0238nobodyさん
04/11/26 21:02:43ID:???lib.new
filter.new
logging.new
opt.new
auth.new
filters.new
等です。全部で23個もありました。
ちなみにnewファイルが存在したのはUnix Gzipのファイルです。
Windows Zipのファイルにはnewファイルがありませんでした。
0239nobodyさん
04/11/30 09:34:43ID:???0240nobodyさん
04/11/30 17:42:49ID:???遅くなりましたが、調べてみました。
どうやら以前置かれたファイルと異なるようですね。
48513 Sep 2 00:34 mojavi-2.0.0.tar.gz
45779 Nov 30 17:38 mojavi-2.0.0.tar.gz.old
違いはそれらの空ディレクトリだけでした。
削除して構わないです。
0242nobodyさん
04/12/15 10:10:17ID:???Ethna使ってみた?
Wikiに書いてある通りに確かに、同じコードを必要以上に記述しなくて良い雰囲気が実感出来た。その辺Mojavi2より優秀かも。
Mojavi3を見ない事には何とも言えないけど、選択的に使えるんじゃないかなと思った。
Mojaviクローンにあまり興味ないので更新状況以外は追いかける気は無いけど…
そろそろ誰か、PHPフレームワークの総合スレお願い。
0243nobodyさん
04/12/15 11:16:35ID:???自分的には好感度はかなりいい。
「まるごと〜」には、あのくらいのチュートリアルを期待してたのだが……
Ethenaはちょっと試してみようと思う。情報ありがトン > 242
0244nobodyさん
04/12/17 15:22:09ID:???その他のフレームワーク
ttp://ethna.jp/ethna-related.html
Mojavi、Maple、Ethenaの比較をどなたか。
0245nobodyさん
04/12/17 16:10:02ID:???スクリプトもSJISが交じってたり。SJISで開発してるの?
0246nobodyさん
04/12/17 16:23:58ID:???0247nobodyさん
04/12/17 16:32:54ID:???0248nobodyさん
04/12/17 22:42:09ID:???色々忙しくなってきたな。でもMojaviのやった後ばかり追いかけても楽しくないが。
0249nobodyさん
04/12/21 13:52:01ID:???0250nobodyさん
04/12/21 15:51:24ID:/whrBEG+0252nobodyさん
05/01/08 01:45:21ID:???ある程度行き渡って初期情報交換の役割が終わったのと、PHP4 -> PHP5 移行期で色々地下進行してるのかとか予想してみたり。
まぁ保守。
0253nobodyさん
05/01/08 02:28:15ID:???0254nobodyさん
05/01/09 20:55:31ID:???今更2.0.0なんて使おうなんて間抜けなことはしない。
0255nobodyさん
05/01/11 02:04:20ID:???今更リソース突っ込んで研究しないよ って事か。
早い人はもう 3.0 調べまくってるようだけど。
0256nobodyさん
05/01/11 23:01:04ID:???2.0系とどこが変わったのかよくわかんない。
0257nobodyさん
05/01/12 02:26:04ID:???0258nobodyさん
05/01/12 11:44:30ID:???http://www.guesswork.jp/
なんとなく簡単そうなのと、サイトのつくりがいい感じ。
0259nobodyさん
05/02/04 02:14:28ID:???0260nobodyさん
05/02/04 11:17:54ID:???もはび・もはーび・もうはーび←この発音が一番近い
いずれにせよ「じゃ」じゃない。
ところで、フレームワークって解説なし、ソース嫁ってのが普通なの?
自分が使うために作り始めるんだろうから、そうならざるを得ないのかな。
作る人はいろいろこだわって思い入れを持って作るんだろうけど
正直、ユーザはフレームワークを使ってMVCを楽に分けたいと思って使うんで
ソースから読まなきゃ行けない手間がかかるんなら本末転倒じゃないか。
その辺のところどうなんよ。
Mapleに注目してるんだけど、
「○○という機能は、フィルタを作成すれば使えます。」
ってその作り方はソースみてねじゃ。使えねーって思うんだけどな。
結論、チュートリアル早く続きを書いてね。
せめて文字コード機能の修正版だけでも早くだしてね。
開発者のページに書き込むとひんしゅくかいそうなので、ここで遠慮がちに希望します。
文句つけながらも実は一番期待しています。
0261nobodyさん
05/02/04 12:28:50ID:???追加しながら、実用性のあるMFCやWindowsプログラミングを段階的に説明
していくのがあるけど、PHPのフレームワークでもそういう解説が欲しい。
いつまでもHello worldやって説明終わりで済んでいる段階じゃないでしょ。
0262nobodyさん
05/02/04 12:39:47ID:???チュートリアルも「Filterは既存のFilterのソース見て作ってね」ってなると思うけど。
でも細かなバグつぶしてこまめにリリースして欲しいと俺も遠慮がちに希望。
0263nobodyさん
05/02/04 14:14:43ID:???寧ろ PHP で普通。Mojavi なんて恵まれてると思うが。
サンプルアプリケーションあるし、Mojavi 使った成果物も転がってるし、ドキュメント拾い読みして解析していけば大体掴める。
あとは PhpDocumentor にかけて洗い出す。
どうせ何か書いてくれるならこの先が知りたい。Mojavi は使ってる人によってそれぞれ独自のノウハウが溜まっている事があって面白い。
導入コスト下げてくれ、ってのはまた別ベクトル。
ある会社は PHP でご飯三杯はいけるフェチな人を起用して Mojavi を軸にパッケージと導入プラン作らせてるし、
別のチームはそれぞれ分散して別々のフレームワークを調査し、持ち寄って比較検討して溜まったノウハウで導入に持ち込んだりしてる。
*やる所はやってる。*
ドキュメンテーションは非常に大事だと思うけど、Maple は知らんが、Ethna や Mojavi は開発リソースが足りているとは思えないので現状は仕方ない。
寧ろ足りないと思えば周辺で作れる部分は周辺でやっていくべきじゃないかと。
もしくはクレクレコールは出版社の方に放って、T.K, K.T, T,J, A.K 氏辺りのエラい人達をもっと酷使して記事書いてもらう。
Java兼業ライター専門は不要。PHP に頭から浸かってるヤツにノウハウも情報も吐き出して頂く。
PEAR なんて本家マニュアルの充実と平行してそうやって W+D に色々記事が載る事で大分楽させて貰った。
0264260
05/02/04 15:59:36ID:???>>262
Headerの送り方がわからんのよ。多分回答はHeaderを送れるよう
フィルターを改造してとかで、そのフィルタはソース見てね。の堂々めぐり。
つーかそれ以前でPHPの自動変換機能をonにするとダメな仕様なのよ。
>>263
PHPで普通と言われると確かにPEARとかそうなんだけど。
だからと言って良いと思えない。PEAR不便でしょ。未知の機能が多すぎて。
PEARのような呼び出されるプログラムは呼ばなきゃいいだけだけど
フレームワークって呼び出す側のプログラムだからある程度理解してないと
怖くて使えない(ようじゃ困るとホントはいいたいんだけどね)。
ドキュメントじゃなくても、よくある機能の(コメント付き)サンプルアプリ配布して欲しい。
全体の関係の説明がないからフィルタ単体のサンプルを見ても作れない。
(作れる人は作れるンだろうけど)。
function init() //初期化(実際はJavaDoc形式だけど)
とだけ書かれてその関数の改造はできんぞ。まぁソース嫁ということなんだろうけど。
面倒でもその中で何をしているかコメントして欲しいんだよな。
そうすると周辺での開発がもっと活発にできるようになるんじゃないかと。
Mapleの周りの人は極端な話、製作者としてもいけるくらいの理解度が
あると思う。それくらいでないとMapleは今のところ使えないのが残念です。
0265nobodyさん
05/02/05 03:22:13ID:zCz2jx5JPerlに移植してみたいんだけど、
PerlでこういうStruts系で、シンプルなフレームワークって既出?
0267nobodyさん
05/02/05 04:19:44ID:???sledgeってちょっと調べたんだけど、ちょっと機能がありすぎな印象。
セッション、クッキーのモジュールなんかも自由に選べたり自作のものを用いられたりするような。
>>258のguessworkみたいなのをPerlで実現したいなあ。
それで、例外処理も楽にできちゃうようなやつ。
mojaviって例外処理どうなってんだろうか?
ちょっとコード覗いてみるかな。
0268nobodyさん
05/02/07 04:12:26ID:???本出したら、意外に売れませんかね?
ま、個人的には、guessworkくらい軽量のフレームワークの方が
見通しが良くて好き。
0269nobodyさん
05/02/07 04:35:07ID:???何部売れればペイするんだろう...
0270nobodyさん
05/02/07 04:57:34ID:???http://www.9-ten.co.jp/bookdata/0195.php
がそれっぽかった。
0271nobodyさん
05/02/07 10:17:33ID:???そーゆーのはサブタイトルにして
「サイト作成のMVC入門」とかにした方がいいんじゃないか。
PHP自体は初心者本ばかりだから初心者本を終わった人の次のテキストとして。
あるいは、オブジェクト指向とかの方法論はJava一色だからそうじゃないアプローチ
として、そこそこいけないかな。
「まるごとPHP」みたいなムックで、「まるごと」みたいに総括的じゃなく
「フレームワークPHPvol.2」や「PEARPHPvol.3」とかシリーズ化してくれると
いいな・・・
0272nobodyさん
05/02/08 09:25:09ID:cnHDtWyr>270の本は、なんであんなタイトルなんだろう?すなおに「Phrameで
簡単Webアプリ」で良いような気がする。
「まるごとPHP」は悪くはないと思ったけど、ちょっと幅広く詰め込んで
いたからなあ。Vol.1ってことは、Vol.2も出るんだよね?と期待Age。
0274nobodyさん
05/02/08 19:09:37ID:???Webサイト構築 > フレームワーク > MVC > Phrame
になるから、大きい方に振っちゃうのは仕方ないと思われ。
オイラは Mojavi大全 とかいう名前の方に惹かれるがw
0275nobodyさん
05/02/08 22:24:44ID:???0276nobodyさん
05/02/09 11:09:49ID:???0277nobodyさん
05/02/09 13:02:02ID:???0278nobodyさん
05/02/09 16:22:05ID:???説明みたが
webapp/components/ DIするクラスを配置するディレクトリ
って書いてあるだけ。
DIContainer.class.php が絡んでくる気がするんだが、よく分からん。
そもそもDIするって何だ?って感じですが。
ソース嫁って話ですか?
orz
0279260
05/02/09 17:34:47ID:???要望が伝わって良かった。すごく期待しています。ホントです。
失礼な物言いもあったと思うけどゆるしてね。
期待の裏返しということでひとつ大人の対応で。
>>278
さすがにDIコンテナの説明までMapleの人に求めるのは酷だと思うよ。
俺もわかってないけどさ。(とりあえずダミーで開発を進められるという認識。間違ってる?
依存性の解消ってのは今ひとつ腹に落ちてない。)
しかし、PHPを使ってる人にはDIコンテナなんて聞いたことない人もたくさん居ると
思うので、後々はMaple流のDIコンテナの利用法・Maple流の開発手法といった
コラム的なのがあるとすっげーうれしい。
ご本人じゃなくても、周りの人やりませんか?
Maple普及の決定打になると思うんですけど。
0281278
05/02/09 18:54:07ID:???ttp://bobchin.ddo.jp/wiki/index.php?maple%2F%BB%C8%CD%D1%CA%FD%CB%A1#content_1_13
読んでみたがやっぱり良く分からなかったが
maple.ini の DIContainer セクションで設定ファイルの位置を定義して
設定ファイルから DIContainer フィルタを経由してオブジェクトがセットされると。
そん時に Request や Session からの値は ref: を使用すれば渡せますよ。
んで、 maple.ini からも ref: を使用してそのオブジェクトを取れますよと。
そんな感じであってるかね?
0282nobodyさん
05/02/09 19:36:04ID:???このアプローチの何が嬉しいのかをまず知るほうがいい。
http://www.kakutani.com/trans/fowler/injection.html
で、mapleが実現しようとしている目標として
DIContainerを使ったときの設計手法であるSeasarの「くーす」を
PHPでやろうとしてるわけですよ。
LLのなかでもwebアプリ構築のフットワークが比較的軽いPHPで
この手法が手軽に取り入れられるとなると、結構面白い事になりそ。
0283260
05/02/09 22:37:56ID:???うん、十分自覚してる。推敲前は「他力本願」なんて言葉いれてた。
らしくないと思って消したけど。まっその突っ込みからは何も生まれないから
せめて持ち上げて人にやらせる口調の方が組織に受け入れられると自画自賛。
↑大人な人はうなづいてくれると思う。言い方には問題あるけど。
>>281
知ったかぶりになるんだけど、それであってるんだけど、本来はきっと
オブジェクトの内容をしらなくても(あとまわしにしてインターフェース定義
だけの状態で)受け取れますよ。当然、クラスの内容が変わっても同じインターフェース
なら問題なく動作しますよ。ということのための仕組みと思うのですが自信なし。
(だから説明が抽象的)
>>282
そうそうMapleの優位性ってそこにあると思う。軽いのや解り易いのは今も今後も
出てくるだろうけどDIコンテナを実装してるのはMapleが最初。
あとはMapleが軽く(これハード性能で解決できるからどうでもいいと思う)
わ・か・り・や・す・くなってくれれば…
0284nobodyさん
05/02/10 03:14:38ID:???敷居が高すぎるような気がするんだけども、どうなんだろうね。
0285nobodyさん
05/02/10 03:16:22ID:???色々嬉しいけど、PHPでリクエストの度に依存関係をたどってオブジェクトの
親子関係を作って行くのはデメリットのほうが大きいような気もします。
まあ、Mapleの作者さんはこのあたり既にわかっていて対策を講じようとしている
ようにも見えるけど。
0286nobodyさん
05/02/10 04:07:23ID:???0287nobodyさん
05/02/10 11:07:13ID:???って人向けが基本では?
0288nobodyさん
05/02/10 14:50:05ID:???共有鯖でJava使えるとこなんてほとんどねーだろ。
個人や低予算でなんか始めたいってときにJavaは悲しいほど不向き。
0289nobodyさん
05/02/10 15:41:03ID:???PHPでライトウェイトな新しいやり方を模索してる希ガス。
>mapleの中の人
間違ってたらごめん。
0290nobodyさん
05/02/10 15:52:29ID:???0292nobodyさん
05/02/10 17:51:46ID:???0293nobodyさん
05/02/10 20:56:31ID:???0295nobodyさん
05/02/14 18:03:38ID:???テンプレートで独自タグ使いまくりなのは一長一短だけど、その代わり
PanelとかPlaceHolderみたいな使える機能が多い。
既存のコントロールを組み合わせて1つのコントロールとして扱うことも出来る。
独自フォーマットの妙な設定ファイルも無いし。
PHP5で作られているので、フレームワークと自分で書くコードとの違和感もない。
guessworkとは対極の、全部入りのフレームワークとしてこれから普及して
いくんじゃないかな。(もちろんguessworkも方向性としてはアリだとおもう)
0296nobodyさん
05/02/15 02:57:34ID:???今のままじゃフレームワークというよりただの骨骨コントローラじゃないか。
0297nobodyさん
05/02/15 03:03:39ID:EH186VHTゲスはバコバコいろんなとこから手持ちのモジュールをくっつけられて、
簡単なものをサクッと作るのにイイ!
0298nobodyさん
05/02/15 06:08:49ID:Kt+6ObGYただのコントローラーともいえないが・・・
0299nobodyさん
05/02/16 09:21:50ID:???「自分で調べなさい」なら平行線だね。
ケチつけるだけで心苦しいんだけど
「わかってる人でないとわからない説明」というのが正直な感想。
ごめんね。(じゃ、どうしたらいいかというと説明は断片的でもいいから
動作するソースをダウンロードできるようにするだけで随分と違うような。
例えそれが自明のものであったとしてもね。)
まぁDIコンテナは使わなくてもMapleは使えるんだけど
フィルタは使わないとMapleは使えない。チュートリアル…
0300nobodyさん
05/02/17 04:11:12ID:???激重だな…
0301nobodyさん
05/02/17 06:38:30ID:???ゲスのコンセプト自体、なんでもかんでも揃ってますとは対極にあるね。
土台として利用して、その上で好きなように積み上げて作っていけるのは
好きかも。ライブラリコンテナ的に利用できるってのは、ありがたい。
PHPの多機能なフレームワークって、俺様独自仕様が多すぎて、かえって
使いづらいからな。一度覚えて慣れてしまえば、そんなことないのか?
0302nobodyさん
05/02/17 08:21:24ID:???フレームワークにこだわる必要はないと思う
0303nobodyさん
05/02/17 11:35:45ID:???フレームワークにこだわったほうが効率がいい
0306nobodyさん
05/02/18 01:54:18ID:???スタッフ増員とかのたびに、その統一基準についていちいち説明するんですか?
無駄が多くてしょうがないですね。
0308nobodyさん
05/02/18 06:49:29ID:???別に304が標準の基準というわけではないとオモッタ
名前にレス番入ってないけど、下っかわはどれとどれが同一人物なの?
>>302=>>304
−−−−−−−−−
>>303 >>305 >>306
0310nobodyさん
05/02/18 19:24:55ID:???0311nobodyさん
05/02/18 20:26:26ID:???プロジェクトで規定のライブラリがあるっつーのは結構ありえる状況だと思うんだが。
よ〜し、パパ(プロジェクトマネージャーか?)このフレームワーク使っちゃうぞ♥
って躊躇無く言い出せる状況ってのは、
メンバー全員がそのフレームワークを使った事がある時くらいじゃないかなぁ。
フレームワークの肯定・否定をするつもりはないよ。
話がずれていってる気がしたから突っ込みいれてみただけ。
0312nobodyさん
05/02/19 00:22:53ID:???自称便利なライブラリ群で開発しちゃうような屑会社には
未来なんてあるわきゃーねぇ。もう業界辞めちまえよ。な?
0313nobodyさん
05/02/19 00:54:16ID:???の仕様もおのずと決まって楽チンなんです。
0315nobodyさん
05/02/19 12:38:38ID:???0317304
05/02/19 13:19:24ID:???俺解釈のお遊びなんだから、ピンとこなくても深刻に取らないで呉。
>>302に比べて、>>303は素直な発想できるいい奴だし、
こんなんで知能はかれるわけもないからなー。
0319nobodyさん
05/02/19 13:43:49ID:???>プロジェクトで規定のライブラリがあるっつーのは結構ありえる状況だと思うんだが。
うん。確かに効率悪いことやってる会社や閉鎖的なとこでは結構あるね。
>メンバー全員がそのフレームワークを使った事がある時くらいじゃないかなぁ。
使ったことなくても、まともな奴ならメジャーなフレームワークくらい覚えてくれる。
他のプロジェクトや、会社変えたときも使えたりするから。
もちろんPHPではまだそういう環境は整ってないけど。
あとは>>313に同意。それを理解できずに>>304達が標準以下な発言しだすから
話がずれてるように感じるんじゃない?
0320304
05/02/19 15:37:34ID:???ているか、ということは関係ないんだよ。
・俺に>>302のレスが標準以上に見えたのは、オールインワンな
多機能FWは面倒で、「好きなように積み上げて作りたい」という
>>301に対し、さりげに「プロジェクトで一貫して統一できるなら」
と皮肉っている産婆的な部分があったから。>>301にはチームで
開発するという視点が欠けていると感じていたから、ライブラリを
統一するようなチーム開発上のメリットをほのめかすやりかたが
上手いと思った。
・>>303をふざけて標準以下としたのは、「統一性を保障できるならFW
にこだわる必要はない=>FWはプロジェクトの統一性を保障する」という
>>302に対し、「ライブラリを統一するよりFWで統一する」と、ナンセ
ンスなレスを返してたから。俺は、>>303は>>302のレスを「ライ
ブラリ群をメンテして統一しろ(FW不要)」と読んでいると思う。だから、
「そんなことをするくらいなら」という言葉が出てきたんだと思うけど・・・。
まあ>>302と>>303はフレームワークの効用を理解しているかどうかで
言うとどっちもおんなじレベル・おんなじ知見だよ。
その後はいくつかのパターンがあるけど、FWを使うと仕様統一が楽
という当たり前のことを繰り返すレスと、誰かがFW使うメリットはない
と言ったかのように勘違いしてライブラリ開発否定して煽ってるよく
分からない人がいるって感じ。
フレーム起こしといて>>317だけじゃ無責任かと思って全部吐きま
すた。誤解がとけたかな?
0321nobodyさん
05/02/19 15:54:15ID:???おまえが煽ったせいでおかしな事になった”現実”を認識して、その”事実”を反省しろ。
0322nobodyさん
05/02/19 15:54:48ID:???0323nobodyさん
05/02/19 16:01:24ID:???0324nobodyさん
05/02/19 16:02:31ID:???ようするに>304はバカだと
0326nobodyさん
05/02/19 16:15:24ID:???真面目にフレームワークの話をしてくれた人が浮かばれねーですよ
0327nobodyさん
05/02/19 16:24:35ID:???多分今後広く使われていきそうなのはこの2つだと思うんだけど。
0328nobodyさん
05/02/19 16:36:55ID:???だから誤解じゃなくて、お前が理解できてないんだって。
>>>302に対し、「ライブラリを統一するよりFWで統一する」と、ナンセ
>ンスなレスを返してたから。
>>313読んでから書け。
0331nobodyさん
05/02/19 17:01:50ID:???.L二二」
| |
ヽ|・∀・|ノ
| |
.L二二」
.L二二」
、| | //
ヽ ∴
ゝ∴ ├¨力 ン
− ∵ ∵
//|^^”^lヽ ヽ
.L二二」
0332nobodyさん
05/02/19 17:04:36ID:???>ためしに聞いてみるけど、俺が「何を」理解できてないと思ってるの
君のせいで、まともなネタすら煽りレスに流されてしまっているということ。
そして、君がいなくなればそれらが全ておさまるということを、まったく理解できていない。
0333nobodyさん
05/02/19 17:10:48ID:???フレームワークのメリットが理解できてないと思われてんじゃないのw
お相手さんは目が真っ赤だから、何を言ってもフレームワークの話に聞こえんだよ
>>331
土管乙
0337nobodyさん
05/02/19 17:23:29ID:???// |:!
//,. -/r‐- 、| !
/,/ ./ | _」 ト、
/.\`/ |二...-┘ ヽ
. i ,.>、;/ー- 、 l
! ∠.._;'____\ |
,!イ く二>,.、 <二>`\.、ヽ.
/'´レ--‐'ノ. `ー---- 、 |\ ヽ、 >>304 いいんだぞ?俺の胸の中で好きなだけ泣け。
\ `l (!" Jfヽ! `''-;ゝ
`‐、jヽ ヾニニ> ゙イ" }_,,. ‐''´
`´\ ー / ,ィ_}
. |_ `ー ''´ _」'
, ー‐-‐‐‐--''.‐''゛,,;,,...: ゛''-、、,;,,
,ィ'゛ ゛゛""' ゛"'''-、
/ ヽ
/ '、
l l
. l i. l
l :i. ヽ.:.:...:.:: "'
. l .:l ヽ.:.::... "''、
. l. .:l ヽ.:..:. `'、
l ::l: ';.:.:..... ヽ
l .:l.:.. .:ィ.):.:. l.:.:.: .:.ヽ、
. l .:l..: ''ー.: .:.:l.:.:..:..:: .:i'゛
0338333
05/02/19 17:25:12ID:???0340304
05/02/19 17:42:03ID:???流れそうなので先に「理解」について書くいておくと、俺は>>328が、
俺のことをフレームワークを云々している男だと思っていて、そのフレー
ムワークの「理解」に間違いがあると思っているので、>>313を読んで、
考えを改めなさいと言おうとしている、と思っている。
で俺は、>>328がいまだに、>>304(俺)がたんにレスの読解の仕方で
恣意的に分けただけ、ということを「理解」していないと思っている。
↑いまここ。
0342304
05/02/19 17:46:37ID:???> >ンスなレスを返してたから。
もしかしたらこの引用も、俺がFWで統一するのがナンセンス
だと思っていると「理解」されてるのかね。さすがにそこまでは
ないと思うけど、何か書いてくれないと分からないよ。
0343nobodyさん
05/02/19 17:52:11ID:???0346nobodyさん
05/02/19 18:48:35ID:???,r'";;;;:::::;彡-=―-=:、;;;;;;ヽ、
/;;ィ''"´ _,,,,....ニ、 ,.,_ `ヾ;;;;〉
`i!:: ,rニ彡三=、' ゙''ニ≧=、!´
r'ニヽ, ( ・ソ,; (、・') i'
ll' '゙ ,;:'''"´~~,f_,,j ヾ~`''ヾ.
ヽ) , : ''" `ー''^ヘ i! 標準以下の知能しかないから
ll`7´ _,r''二ニヽ. l 何か書いてくれないと分からないよ…
!::: ^''"''ー-=゙ゝ リ
l;::: ヾ゙゙`^''フ /
人、 `゙’゙::. イ
0349nobodyさん
05/02/19 19:02:30ID:???0350nobodyさん
05/02/19 19:08:56ID:???公開してみろや。話はそれからだ。
0352nobodyさん
05/02/19 19:30:50ID:???ログ流そうとしてるようにしか見えないんだが
0354nobodyさん
05/02/19 19:48:05ID:???スレッドランキングから記念真紀子
0355nobodyさん
05/02/19 20:32:57ID:???大人気じゃんか
0356nobodyさん
05/02/19 20:51:49ID:???とりあえずセッション関係はmysqlで動作することは確認できたんだけど。
だれか詳しい人いませんかー
0357nobodyさん
05/02/19 21:01:15ID:???ここ最近は初期のスレ住民からの書き込みが絶えてるし。旬も終わったな。
>>356
釣り?
0358nobodyさん
05/02/19 21:03:46ID:???コネクションしかサポートしてないけど
0360nobodyさん
05/02/19 21:50:49ID:???0363nobodyさん
05/02/19 22:38:10ID:???0365nobodyさん
05/02/20 07:07:08ID:???0366nobodyさん
05/02/20 08:03:19ID:???phpmvcから乗り換えようと思ってて、とにかく開発スピードが異様に速かったこれが目に付いた
mojaviより魅力を感じたのはUIをコンポーネント化してる部分なんだが、先輩方にはおおむね不評w
マクロメディアの製品みたいなどと言われた。よく分からん
html自体データを抽象化するものだから冗長という気もするが、俺はこのコンセプトに惚れた
テンプレートにはあれこれ書かないんだから、HTMLをパースしてオブジェクトにマッピングしてくれても
いいように思ったが、、、つかそういうのもうあるかも
青果関係のシステムを仮想目標に弄ってるんだけど、そのままだとオモイ
とにかく膨大なオブジェクトがにあるのでアクセスごとに初期化するのが苦しいようだ
JavaやASPに近づけ過ぎるとこうなるという典型のよう
あと、pearの目的に特化したライブラリに比べると機能的にはかなり薄い、DAOとか。他のフレームワークも
似たようなもんだが、バージョン2ならもうちょっと充実しててもいいんではなかろうか
書きなぐりで悪いけど第一印象はそんな感じ
コンポーネントベースなので、各部分について順に学ぶことができる。フレームワークって
なんぞやと思ってる人や、mojaviのチュートリアルじゃ覚わらんつー人なんかにはバッチリ
とりあえずさわってみて感想きぼん
0367nobodyさん
05/02/20 08:24:20ID:???別にMacromediaの専売じゃあなく、XMLでUI定義するのは流行り。
Java/Servletのゴタゴタしたカスタムタグよりだいぶマシだと思うが。
0368nobodyさん
05/02/20 09:13:52ID:???おまえらフレームワーク使いたいなら素直にJavaやれ
0369nobodyさん
05/02/20 09:20:37ID:???概念化のレベルでの完成度が高く全体を単一の仕様で固められるので魅力的。
しかしLLとしてはMojaviが正解だと信じたいね。どちらが抜けていくか知らないけれども。
0370nobodyさん
05/02/20 10:10:39ID:???mojavi2と比較してモジュールの設計が更に洗練されてるよ。
2ではrenderer、session、auth周りがごちゃごちゃしてる印象を
受けたけど、それが改善されてフレームワークとしての統一感が
強くなったように思う。
それに今までcontroller、request、userインスタンスをメソッドの引数として
受け渡ししてたけど、それらをContextクラスで管理するようなったから
かなりスマートになってる。
例えば、Actionクラスのメソッド内で
$request = $this->getContext->getRequest();
こんな感じで参照できるようになった。
あとActionChainがなくなってそれに変わる新しい機能が加わった。
Decoratorパターンを使ったグローバルテンプレートを作成する機能で
例えばメニューとメインコンテンツを表示する2つのActionがあったとして
それらを同時に表示したい場合に効果を発揮する。
まあmojaviのソースを追ってる人にとっては何を今さらと思うだろうけど。
pradoやmapleは使ったことないので、比較できないけど出来る人がいたら
レビューキボン
0372nobodyさん
05/02/20 15:15:33ID:???こりゃMapleも対抗しないとダメだね勝てないね
・・・魔法少女リリカルめいぷる?
0375nobodyさん
05/02/20 15:37:40ID:???モジャビでいいじゃん。
0376nobodyさん
05/02/20 16:15:25ID:???http://wiki.mojavi.org/143.html
このページで
$this->getContext()->databaseManager()->getDatabase($name)->getConnection()
$this->getContext()->databaseManager()->getDatabase($name)->getResource()
↑こう書いてあるけど
$this->getContext()->getDatabaseManager()->getDatabase($name)->getConnection()
$this->getContext()->getDatabaseManager()->getDatabase($name)->getResource()
↑
これの間違いじゃない?
0378nobodyさん
05/02/23 03:34:18ID:BVhjzCDDというエラーが出る。何でだろう?
一応、viewの方でvar_dump($request)してみたらDBからデータは来てたケド、
漏れは何か変な事してるんですかね?
コードは、
TestAction.class.php
<?php
class TestAction extends Action
{
function execute (&$controller, &$request, &$user)
{
//DBからデータを取得
require_once('adodb/adodb.inc.php');
$db = &ADONewConnection('postgres');
$server = 'localhost';
$user = 'hoge';
$password = 'password';
$database = 'test';
$db->PConnect($server, $user, $password, $database);
$table = 'test';
$res = $db->Execute("select * from $table order by id");
$request->setAttribute('message',$res->GetRows());
$res->free();
return VIEW_SUCCESS;
}
}
?>
0379378
05/02/23 03:35:04ID:???TestView_success.class.php
<?php
class TestView extends View
{
function &execute (&$controller, &$request, &$user)
{
$renderer =& $request->getAttribute('SmartyRenderer');
$renderer->setTemplate('Result2.html');
$renderer->setAttribute('title','簡単なテスト');
return $renderer;
}
}
?>
長すぎと言われたので二回に分けました。
0380nobodyさん
05/02/23 04:41:27ID:???$userにはMojaviのUserオブジェクトが入ってるから変数として使っちゃダメよ
0382nobodyさん
05/02/23 23:18:01ID:???0384nobodyさん
05/02/24 03:29:15ID:???ここの人のPEARの組み込み方ってかなり変じゃない?
0385nobodyさん
05/02/24 12:17:26ID:???具体的にどう変かね。DAO経由でアクセスしようとしていると思うのだけれど、
それは好みでしょ。変とかじゃないと思うが。
0386nobodyさん
05/02/24 23:39:58ID:???プログラマなら秀丸なんかより便利で高機能なプラグインが充実してる
Eclipse使うべきだし、物書きならワープロソフト買えよ。
秀丸と言う選択はねーだろ。マジで。
0392nobodyさん
05/02/25 05:18:31ID:???おはよーございます。
ところで、作者さんじゃないんですが…。
コード見ても「ふーん」くらいにしか思わないんですけど
どこが変なの?
0393nobodyさん
05/02/26 00:06:03ID:???smarty?、flexy?その他?
smartyスレで聞いたほうが良いかなぁ?
0394nobodyさん
05/02/26 03:42:18ID:???コードが変なんじゃなくて組み込み方が変なんです。
database.iniがあるのにconfig.phpにdefineしてる時点で
おかしいと思いませんか?
個人の好みでこんな書き方しちゃうなら、フレームワーク
使う必要ないと思うんですが。
0396nobodyさん
05/02/26 10:35:21ID:???天才mojaviマスターの方、日本語解説を・・・・・
0397nobodyさん
05/03/04 17:48:15ID:???0398nobodyさん
05/03/04 17:53:26ID:???なおしときますー。
や、あのロゴとページつくったの僕じゃないんですょ...(一応いいわけ)
0399nobodyさん
05/03/04 18:08:41ID:???ちなみに前者のほうが好きな色合いなだ
0400nobodyさん
05/03/04 18:50:57ID:???0401nobodyさん
05/03/12 21:30:50ID:???//----HogeListAction.class.php-------
//前略
if($request->hasParameter('hoge')){
$controller->forward('Fuga','HogeAdd');
return VIEW_NONE;
}
//後略
で、何故かうまく遷移してくれません。上記コードのreturnの前にvar_dump($request);を仕込んだら
ちゃんと$requestの内容が表示されました。
やりたいことは、Index → HogeList → HogeAddのように遷移させることです。
なにか、「ここはチェックしろ」等あったら、教えてください。
0403nobodyさん
05/03/12 22:40:25ID:???0404401
05/03/12 22:44:23ID:???即レス感謝です。
それは、別の所で散々はまったので、ちゃんと
$request->removeAttribute()
$request->removeParameter()
しています。
実際は以下のように、いくつかの条件分岐があります。
if($request->hasParameter('hoge')){
$controller->forward('Fuga','HogeAdd');
return VIEW_NONE;
}elseif("別の条件"){
$controller->forward('Fuga','HogeEdit');
return VIEW_NONE;
}
ここで、念のためにHogeEditに飛べるかどうか試してみたところ、画面が切り替わり意図した表示となりました。
それで解決のためにログを取りたいのですが、遷移の様子を全てログに記録するには、どのようにすればいいのでしょうか?
0405nobodyさん
05/03/12 23:41:07ID:???んー、debug_backtrace()で取れるもんなのかね?使ったことないからよくわからん
ていうか処理は多分HogeAddに移ってると思うから、
HogeAdd内の処理を見直したほうがいいんじゃないだろうか
0406401
05/03/13 00:00:16ID:???別のアクションを作りながら、色んな所にecho突っ込んでみたら、
HogeAddのinitialize()の中までは来てました。
同じようにexecuteとgetDefaultViewにもecho入れてみたら、
そいつらは表示されませんでした。
んー、HogeAdd内の処理ですか。特に何もしてないんですけどね。
長いと言われたので一旦切ります。
0407401
05/03/13 00:00:50ID:???class HogeAddAction extends Action
{
function initialize (&$controller, &$request, &$user)
{
$form = new HTML_QuickForm('HogeAdd', 'post');
//色々$form->addElement()とか$form->addRule()とかしてるけど長いので略
$request->setAttribute("form", $form);
echo 'これは表示された';
return TRUE;
}
function validate(&$controller, &$request, &$user)
{
$form =& $request->getAttribute("form");
return $form->validate();
}
function execute (&$controller, &$request, &$user)
{
echo 'これは表示されなかった';
return VIEW_INDEX;
}
function getDefaultView (&$controller, &$request, &$user) {
return VIEW_INDEX;
}
function getRequestMethods () {
return REQ_POST;
}
}
0408nobodyさん
05/03/13 00:02:38ID:???0409401
05/03/13 00:04:34ID:???今、試しにvalidate()の返り値をtrueにしてみたら、ちゃんと表示したいモノが表示されました。
てことは、validate()の中で、場合分けしてやればいいんですね。
もしかしてコレが、>>402の
> GET | POSTがそのままforward先のActionに伝わるのを見落としてるとか
に関わってくるんでしょうか?
うーん、謎だ。
0411nobodyさん
05/03/13 00:08:27ID:???0412401
05/03/13 00:18:36ID:???>>405のレスをヒントに内容を見直しました。
>>407で$form->addRule()してたヤツを全部Viewに移したら、
ちゃんと望み通りの動作になりました。
つまり、HogeList → HogeAddに遷移したときにinitializeに書いてある$form->addRule()に
反応して、validate()が意図しないところで働いてくれたため、というのが真相のようです。
>レスしてくれた方々
どうもありがとうございました。
0413401
05/03/13 02:21:19ID:???Viewに鯖側の$form->addRule()を書いても利きませんです。
なので、>409の通りにvalidate()の中で、場合分けするのがいいみたいです。
一応、訂正だけ。
0414nobodyさん
05/03/13 04:14:53ID:???リクエストがそのまま渡るから、getRequestMethods()で返されてるメソッドがきた場合に
Validatorが動作しちゃって、前のActionに渡したつもりのパラメータが検証されてしまう
そういうこともあってどうしてもController::redirect()を多用することになっちゃうんだよなー
何かうまい解決法はあるんだろうか
0415nobodyさん
05/03/13 05:35:05ID:???これ使えるんかな、でもActionForwardで呼びたいのは大抵execute()だろうしなぁ
0416nobodyさん
05/03/13 14:59:06ID:???漏れはQF使っているので<form>のhiddenでmoduleとactionを、変化させながら持ち回ろうとしたら、
上手くいかなくて困っています。$request->removeAttribute()とか$request->removeParameter()とかしても
moduleとaction(正確にはhiddenで廻してきた値)はうまく消えてくれない(遷移先のViewの<form>で復活してる)。
var_dump($reqest)してみたらなんか_submit=array()の中にhiddenで廻した値が入ってて、
$request->removeAttribute()とか$request->removeParameter()とかでmoduleやactionを消しても
そこに残っているのが廻ってくるらしい。
仕方がないので、$controller->forward()で
Index → HogeList → HogeAddという遷移の場合はexecute()内で
Indexに来たときに変数fugaを持ってたら、HogeListへ
HogeListで変数fugafugaを持っていたらHogeAddへという風なことをやって
見た目には動いているように出来たんですが、どこでsubmitしても、
必ずIndex経由で行こうとするので、処理を追っかけるのがしんどいです。
#チラシの裏逝きかな?
>>415
Request::setMethod()ってGET使うかPOST使うか設定するものじゃないんですか?
0417nobodyさん
05/03/13 17:21:40ID:???なんか似たような事ではまったような記憶があるな
とりあえず遷移ステップを中継するhiddenの値は遷移後に
HTML_QuickFormのsetConstantsメソッドで指定し直すようにしてる
なんか全然違う事言ってたら申し訳
それはそうと入力の検証ってやっぱみんな
HTML_QuickFormのヴァリデータ機構でやってるんだろうか
mojaviのヴァリデータ機構もいい感じだと思うんだけど
0418nobodyさん
05/03/13 19:04:44ID:???例えばこんな感じですかね?
$form->setConstants(array('module' => 'Hoge', 'action' => 'HogeFuga'));
漏れは
$form = new HTML_QuickForm('HogeFuga', 'post', 'index.php?module=Hoge&action=HogeFuga');
でやってた。この方法の欠点は、アドレスバーに表示されるActionと遷移先のActionが一致しないこと
(場合によってはmoduleも一致しない)
>>417のやり方は良さそうなのであとで試してみます。
入力値の検証は今のところ、QFのを使ってる。
まあ、必要になったらmojaviのヤツも併用できそうな気がするので併用するつもりではあります。
0419418
05/03/13 22:52:13ID:???結局、調べてみた結果こうするのが一番漏れのやりたいことに近かったもより。
$form->updateElementAttr('module', array('value'=>'Hoge));
$form->updateElementAttr('action', array('value'=>'HogeList'));
これで、hiddenでmoduleとactionを持ち回るのは完璧っぽいです。
結局mojaviとはあまり関係なくてQFの使い方って方向になってしまいました。
#QFマニュアルの翻訳早く進まないかなー。
0420nobodyさん
05/03/14 17:03:16ID:???最初の環境設定(のテスト?)でindex.phpのdie(...)行をコメントアウトすると
PHP4.3.3だと動作するのですが、PHP4.2.3だと
Notice: Array to string conversion in /path/to/mojavi/lib/mojavi-all-classes.php on line 355
となってしまいます。
ディストリの都合で4.2.3で使用したいのですが
対策をどなたかご存じないでしょうか。
0421nobodyさん
05/03/14 17:20:18ID:???355行目付近は次のようになっていて、
$logger =& LogManager::getLogger();
set_error_handler(array(&$logger, 'standard'));
set_error_handler()は
> 注意: 関数名の代わりにオブジェクトへのリファレンスとメソッド名を含む配列
> を指定することもできます。(PHP 4.3.0以降)
なので、コールバック関数名で呼び出すように書き換えるしか無いかと。
面倒なので 初っ端のerror_reporting()を E_ALLから変更するつーのもありですが。
0422420
05/03/14 23:34:17ID:???E_ALLをE_WARNINGとかにしてもエラーが発生するとおかしくなるので
コールバック関数もどきを作ってみたところ、なんとか動いているようです。
ありがとうございました。
0423nobodyさん
05/03/16 10:35:22ID:pIL2c+VLmojaviの掲示板に、testControllerとかあったけど、よくわからんかった。
0424nobodyさん
05/03/16 10:47:23ID:???0426nobodyさん
05/03/16 13:04:36ID:???ttp://forum.mojavi.org/lofiversion/index.php/t355.html
0427nobodyさん
05/03/18 05:02:19ID:???HTML_Template_Flexyにしようと思っています。
smartyを参考に作ったのですが、
ここの箇所が必要なのかわかりません。
// assign smarty variables
$this->setAttributeByRef('controller', $controller);
$this->setAttributeByRef('mojavi', $controller->getMojavi());
$this->setAttributeByRef('request', $request);
$this->setAttributeByRef('user', $user);
function setAttributeByRef ($name, &$value)
{
$this->engine->assign_by_ref($name, $value);
}
当然のことながらFlexyのソメッドにassign_by_refはなく、
controller,mojavi,request,userのオブジェクトを渡しても意味がない気がします。
0428nobodyさん
05/03/18 07:01:15ID:???Flexy.php見れ。
0429nobodyさん
05/03/18 21:29:25ID:???ttp://www.stackasterisk.jp/tech/php/mojavi04_01.jsp#2
これ両方とも間違ってるなぁ(情報が古いのかな?)
>function validate (&$controller, &$request, &$user)
>{
>return TRUE;
>}
>これは「入力の検証を有効にする」というスイッチです。(もしvalidateメソッドを省略した場合はActionからFALSEで継承されます)
Actionクラスのメソッドは素で、TRUEを返すだけ(つまり、上の関数のまんま)
validateをオーバーライドするのは、カスタムでヴァリデータを書くときだなぁ。
ここで、TRUEが帰るのは、カスタムヴァリデータでのヴァリデーションに成功した。
FALSEは、同、失敗した。
だなぁ。
0430nobodyさん
05/03/18 23:20:16ID:???よくわかんないけど、自分がmojavi+Smarty+HTML_QuickForm+adodbでやってるヤツでは
こうなってるよ。
function validate(&$controller, &$request, &$user) {
$form =& $request->getAttribute("form");
return $form->validate();
}
だから、あなたの言ってることが正しいと思う。
#ちなみに、一時的にvalidateをスルーさせたいときはreturn trueさせてまつ。
0431nobodyさん
05/03/19 00:18:49ID:???元のアクションと、先のアクションが同じ名前だと、クラスを再定義した!errorをphpが吐いて
アボートするけど、仕様?
0432nobodyさん
05/03/19 01:28:25ID:???ほんとだ、変なこと書いてるね
正しくは「validate()でtrueを返すとexecute()、falseを返すとhandleError()を実行」
>>430
残念ながら仕様と思われ
上でも書いたがforward()ってば微妙に使えん
PHPにネームスペースがあればなぁ・・・
0433nobodyさん
05/03/19 15:09:09ID:???原文見てみたらその部分の記述がないね。
・原文は間違いに気づいて該当部分を削除したが、意訳はそのまま。
・単なる原文の意訳(著作権違反?)ではアレなので
独自の見解を加筆して大失敗。
さて、どっちだろ。
0434nobodyさん
05/03/19 16:18:18ID:???>正しくは「validate()でtrueを返すとexecute()、falseを返すとhandleError()を実行」
それもちょっと書き足らないかも。
ヴァリデータは2つある。
1つは、action::validate()
もう1つは、ValidatorManager(こっちが、action::registerValidators()で定義される奴)
でもって、両方ともTRUEを返したときにaction::execute()、以外はaction::handleError()
>>433
Mojavi2の古いヴァージョンじゃ、そういう仕組みだったんじゃなかろか。って思ったんだけどね。
昔は、実際にスイッチとして使ってた。
今は、常にヴァリデートしてる(ただし、デフォのヴァリデートルールが、なんでもOKになってる)
って感じかと思って書いたんだけどね。
0435nobodyさん
05/03/19 22:35:24ID:???書き手の方ですか。
2つあったとして、そのどちらも
>これは「入力の検証を有効にする」というスイッチです。(もしvalidateメソッドを省略した場合はActionからFALSEで継承されます)
というのは間違ってませんか。
また、
>Mojavi2の古いヴァージョンじゃ、そういう仕組みだったんじゃなかろか。って思ったんだけどね。
って想像で書いてどうすんの。
著作権に対する意見をお聴きしたのですがいかが。
0436nobodyさん
05/03/19 22:50:03ID:???TContentPlaceHolderとTContentの組み合わせがかなり使いやすい
使える独自コンポーネントもいくつか出てきてて、コンポーネント指向の設計が
上手く生きてるなぁと思いますた
0437429
05/03/19 22:53:57ID:???えーと、なんか勘違いされてます?
>>429 = >>434 です。
私が、推測したのは
mojavi2の仕様変更でもあったのではないか?
それに伴い、チュートリアルも書き直された。
が、日本語訳は変更前を元にしていた為昔のままの記述になった。(日本語訳の後に元が変更された)
みたいな事でもあったか?という程度の話です。
実際、今のmojavi2の実装とは、合わない記述なので、参考までに誤りを指摘しただけで、
別段、糾弾だのする気は毛頭ないですし(というか両サイトとも大いに参考にさせていただいてますし)
あと、wikiの方は、きちんと原作者に許可を得ている旨、書かれていたように思いますけど。
0439nobodyさん
2005/03/23(水) 03:40:33ID:???気に入った。
日本語解説してるとこ無いみたいなんで、つくります。
是非みんなもMojavi3 + Propel + Creole = Pure Heavenを体験してくれ
0441nobodyさん
2005/03/23(水) 13:31:45ID:???モデリングツールなのか。
0442nobodyさん
2005/03/24(木) 01:27:52ID:???ADOdbだとわざわざ新しく作らなきゃいかんでしょ?
creoleはデフォで対応してる。
そしてPHP5が使える職場へ移動することをオススメします。
0443nobodyさん
2005/03/25(金) 00:05:10ID:???ってどこにいれてる?
漏れは/usr/local/lib/php/mojaviなんだが、
webappと同階層でもいい気がしてまつ。
0445nobodyさん
2005/03/26(土) 11:32:53ID:???php4.2.3,mojavi2を使ってデータ加工をするプログラムを作っているのですが、インスタンスの受け渡しが上手くいきません。
推移は A(aaction)->B(aview)->C(caction)->D(cview)
インスタンスをAからDまで持ち回したいのですが、B->Cへデータが渡りません。
状況は以下のとおりです。
A
$request->setAttribute('datalist', $datalist);
B
Bでは受け渡しは何もしていません。
print_r($request->getAttribute('datalist'));
は出力されます。
インスタンスのメソッドも実行可能でした。
C
$datalist = $request->getAttribute('datalist');
print_r($datalist);
出力されません。
何か、怪しいところ、解決のヒントをいただけないでしょうか。
よろしくお願いいたします。
(別スレで質問文をアドバイスいただいた方には感謝します。)
0446nobodyさん
2005/03/26(土) 12:26:09ID:???向こうでもレスしたが、頼むから最小限のコードを晒してくれ。
B(aview)->C(caction)に直接 $request の内容を渡すのは不可能(だったと思う)。
普通は(というか漏れのやり方では)、
A->B->A->C->D
という風にしてる。
とりあえず、BとCでそれぞれ別々にvar_dump($request)してみ。
0447445
2005/03/26(土) 13:11:17ID:ZLYZLtNYレスありがとう。推移はB->Cですが、Bではこのデータについて何もしてません。
最小限のコードといわれてもどこまで書けばいいのか…改行が多すぎるといわれて蹴られたので
分けてアップします。
A.
class AAction extends Action {
//execute()が実行される動作は略
function execute(&$controller, &$request, &$user)
{
$datalist = new DataList()//クラス宣言等は省略
$request->setAttribute('datalist', $datalist);
return SUCCESS;
}
}
B.
class AView extends View {
//特にdatalistについては何もしない
//Aの結果表示「完了しました」等の表示と次の処理をする「ボタン」の表示
//ボタンクリックでCへ
}
0448445
2005/03/26(土) 13:11:57ID:ZLYZLtNYC.
class CAction extends Action {
//execute()が実行される動作は略
function execute(&$controller, &$request, &$user)
{
$datalist = $request->getAttribute('datalist');
//$datalist は空。NGが表示される。
if (empty($datalist))
print 'NG';
} else {
print 'OK';
}
//念のため…
print_r($datalist);
//何も表示されない
}
}
Aのデータ処理->Bで結果表示と次への進行確認->Cで次のデータ処理->Dで結果表示
という流れでなんですがね。
0449445
2005/03/26(土) 14:00:46ID:???Cでは存在しません。
A->Cというのは、$controller->foword()でいいんでしょうか。
それだと$requestの内容を引き渡せるのでしょうか。
0450nobodyさん
2005/03/26(土) 14:22:16ID:???まず
× SUCCESS
○ VIEW_SUCCESS
> var_dump($request)してみました。オブジェクトはBでは存在しますが
> Cでは存在しません。
当たり前。
> A->Cというのは、$controller->foword()でいいんでしょうか。
その通り。
> それだと$requestの内容を引き渡せるのでしょうか。
多分いける。
漏れの場合、オブジェクトじゃなくて単なる数字とか文字列とかでやってたけど、確かいけた。
$datalistとやらが変化しないのであればいける。変化するのであれば無理。$_SESSION使え。
自信はないけどこんな感じでいいか?
0451450
2005/03/26(土) 14:24:52ID:???最後のは嘘。
漏れの場合はformでhiddenしてRequest::getParameter()してた。
でも、$SESSION使うといけるのはホント。
0452445
2005/03/26(土) 15:11:46ID:???A.
class AAction extends Action {
function execute(&$controller, &$request, &$user)
{
$datalist = new DataList()//クラス宣言等は省略
$_SESSION['datalist'] = $datalist;
return VIEW_SUCCESS;
}
}
C.
class CAction extends Action {
//execute()が実行される動作は略
function execute(&$controller, &$request, &$user)
{
$datalist = $_SESSION['datalist'];
var_dump($datalist);
}
}
で、
object(__PHP_Incomplete_Class)(2) { ["__PHP_Incomplete_Class_Name"]=>…
となってしまうのですが、session_start等はmojaviにやってもらってるので
どうしましょうか。
0453nobodyさん
2005/03/26(土) 15:38:43ID:???ブログ、ソーシャルネットワーキングに続く
次世代コミュニティーサービスのこと。
YOUTYでは無料でWEB上に自分のバーチャルな部屋を持って
書籍,CD,DVD,ゲーム等,趣味,生活に関する情報を
WEB上で公開する事ができるコミュニティーサービスのこと。
http://youty.jp/
0454nobodyさん
2005/03/26(土) 17:16:42ID:???session_start()の前にクラス定義を読み込んでおかないと
セッションでそのクラスをうまく渡せない
Mojaviのsession_start()はSessionContainerがload()されるタイミング(Controller::dispatch()内)
なので、その前にクラス定義を読み込むか、
インスタンスではなく必要なメンバ変数の中身をセッションに乗せるかすればいい
漏れは後者でやってるな
0456nobodyさん
2005/03/27(日) 09:59:43ID:IW5S1bKC//AAction::execute()内
$datalist = new DataList()
$user->setAttribute( 'datalist', $datalist );
//CAction::execute()内
$datalist = $user->getAttribute( 'datealist' )
じゃダメ?
0457445
2005/03/28(月) 14:28:08ID:???>>454
最初は、デフォルトで添付されてるfilterを弄って動作させてて、(grepしました)
なんだかスマートさに書けるなぁと思っていたら、そんなことしなくてもよかったですね。
>>456
$userにもAttributeがあったのね(恥)。それでOKでした。
その方がmojaviらしいです。
正直、ViewからActionへAttributeは渡らないということについて
なぜソースソースと田舎の洋食屋のように言うのかわからなかったんですが
(渡ってない事実を質問してるのにvar_dumpさせるのもよくわからないんですけど)
こういうアドバイスにつながるんですね。
ありがとうございました。
0458nobodyさん
2005/03/28(月) 15:27:56ID:???よかったね。
でも、ソース晒すのは当たり前だよ。
100行の文章よりも10行のソースの方がわかりやすいからね。
ソース見た方が何してるかが一目瞭然だし。
0459nobodyさん
2005/03/28(月) 21:00:20ID:???mojaviは各モジュールにテンプレートフォルダを持っています。またグローバルな
テンプレートフォルダも持っています。
flexyはinstance作成時に引数としてoptions(テンプレート、コンパイルフォルダ
の場所)を渡さなければなりません。
このような場合各モジュールにあるテンプレートフォルダを無視して
グローバルに統一したほうがflexyのラパークラスとしてすっきりしますか?
0461nobodyさん
2005/03/29(火) 04:10:37ID:???E_USER_ERROR -> warning
E_USER_WARNING -> fatal
って逆になってるような気がするんだけど、なんか意味あんの?
0462nobodyさん
2005/03/30(水) 17:22:13ID:???階層化されたサイトの場合
イメージは公開フォルダに入れないといけなくてパスの管理が面倒です。
0463nobodyさん
2005/03/30(水) 17:48:23ID:???0464nobodyさん
2005/03/30(水) 17:56:55ID:???階層化ってどういう意味でおっしゃられていますか?
ページコントローラモードを含む場合?
モジュール毎に画像ディレクトリやCSSディレクトリを変更したい場合は、
config.phpで定義されているWEB_MODULE_DIR定数をなんらかの形でテンプレー
ト変数に設定してやればいいと思います。
webapp/config.php:
/**
* An absolute web path where modules can store public information such as
* images and CSS documents.
*/
define('WEB_MODULE_DIR', '/modpub/');
0465nobodyさん
2005/03/31(木) 00:32:35ID:???例えば
/index
|
|/products/
|/info/
このような階層の場合products/層には製品の写真とか入ります。
0466nobodyさん
2005/03/31(木) 20:04:45ID:???申し訳ありませんが、意図が掴めません。
462の質問に回答するなら、Mojaviテンプレートを使用しようが、しまいが、
ディレクトリが階層化されていようが、いまいが、公開イメージファイルはド
キュメントルート以下に置きますし、非公開イメージファイルはドキュメント
ルート外に置きisSecure()がtrueなアクションから出力することになるでしょ
う。
パスの管理という意味ではSCRIPT_PATH環境変数やMojaviが提供する定数を駆
使してなんらかのテンプレート変数化を行えば良いと思います。
0467nobodyさん
2005/04/02(土) 17:44:36ID:???0468nobodyさん
2005/04/05(火) 22:29:28ID:???ぴーふれいむ?
0470nobodyさん
2005/04/06(水) 16:29:00ID:???0471nobodyさん
2005/04/06(水) 16:50:08ID:???0472nobodyさん
2005/04/07(木) 11:18:01ID:ZERwNqG/モデルとビューを分けるメリットが分かりません。
コントローラーとその他を分けるのはとても分かりやすいのですが、
モデルとビューは密接に関わっているのでわざわざ分けてしまうと
面倒ではないですか?
0473nobodyさん
2005/04/07(木) 12:27:27ID:???0474nobodyさん
2005/04/07(木) 15:41:20ID:???モデルとビューが密接に関わっている、って具体的にどういうこと?
例えば、モデルが保持している情報を出力する際にユーザーエージェントに応じて
HTML/XHTML/CHTMLのいずれかで出力する必要がある、という場合には普通モデルと
ビューを分けると思うんだけど。
0475nobodyさん
2005/04/09(土) 21:43:17ID:???>モデルとビューは密接に関わっているので
はぁ?密接に関わるような作り方してんの?基礎からやりなおしたほうがいいよ。
0477nobodyさん
2005/04/09(土) 23:48:13ID:???モデルとビューを分離しないなら
似たようなビジネスロジックのコードを何度も書く事にならないかい?
0478nobodyさん
2005/04/10(日) 00:36:15ID:???つか、MVを分離する利点がわからないのに、なんで、MVCフレームワーク作るんだ!とか思うわけ?
理解できない。
0479nobodyさん
2005/04/10(日) 02:25:31ID:???0480nobodyさん
2005/04/10(日) 02:32:37ID:???モデル=数値データだとすると、ビューは折れ線グラフ、棒グラフ、ヒストグラム、スプレッドシートなんかにできるわけです。
ビューとモデルが密接になっていると上のような「単一モデルに対して複数ビューを持つ」というのが作りにくくなります。
よって、きちんと分割してしまった方が良いのです。
0483nobodyさん
2005/04/10(日) 16:30:05ID:???ライブラリ用のディレクトリを置く場所について嘘をついてしまいました。
本当はhtdocs以下になくていいのに、なきゃいけないと嘘を教えてしまった
のですが、どうしたら気づかれずにhtdocsより上の階層に置き換えて
しらばっくれることができるでしょうか。
0484nobodyさん
2005/04/10(日) 18:35:27ID:???シンボリックリンクで外のフォルダとくっつけて、
ほ〜ら、コンテンツの維持が楽だよ〜と
ふんで Apache の設定でリンク不許可
こーすれば安心!
って違うよね・・
0485nobodyさん
2005/04/10(日) 19:14:54ID:???小細工されるより正しいやり方の指示を受け その上で謝罪もあれば尚良し、
だろうねぇ。
「だから最初にhtdocs以下じゃなくてもいいんじゃないの?って聞いたじゃん」
って言われる事くらい覚悟すれ。
つーか今でもその疑惑を持っていると思われ。早い方がいいよ。
0486nobodyさん
2005/04/10(日) 21:48:54ID:???あまりにしょうもない質問だな。
強いて言うなら「open_basedirの設定変えたから置けるようになったよ!」とか…。
しかしどのみち無知を晒す結果にしかならないだろうから、
素直に謝りなさい。
0488nobodyさん
2005/04/13(水) 17:26:46ID:???落ちてるのか
0489nobodyさん
2005/04/13(水) 17:45:12ID:???ttp://69.61.21.69/ は?
Moving to a new server
April 11th, 2005
We're schedule to move to our new server tonight.
DNS will be updated tomorrow. While the DNS propogates, you may see an outage.
Have no fret, once your DNS cache is updated, all will be working well.
Outages may start occuring tomorrow.
0490nobodyさん
2005/04/13(水) 19:55:56ID:???サンクス!
そっちは繋がったよ。
なるほど新しい鯖に引っ越したのね
まだwww.mojavi.orgは引けないけど
DNSキャッシュの更新待ちなのかな
田舎のISPだとこんなものか
0491nobodyさん
2005/05/01(日) 00:56:23ID:???ユーザ登録Action、ユーザ編集Action、ユーザ削除Actionって別々でつくるのがいいのか、
ユーザActionつくってそのなかに登録、編集、削除メソッドつくるのがいいかどっちでしょう。
それとも別のいいやりかたありますか?
0493nobodyさん
2005/05/06(金) 16:11:02ID:???私見ですが、
前者のメリット
o Mojaviの権限管理機構を使って機能毎に細かく制御可能。
o execute()内のケースがシンプルになる。
前者のデメリット
o そのままでは登録・編集のバリデーションコードが重複するためメンテナン
スしにくい。
後者のメリット
o 登録・編集のバリデーションコードが重複しないためメンテナンスしやすい。
後者のデメリット
o Mojaviの権限管理機構を登録・編集等の機能毎の制御に使えない。
o execute()内のケースが複雑になる。
といったところです。バリデーションコードを重複しないように工夫できれば
前者がお勧めです。
0494491
2005/05/08(日) 16:37:14ID:???ありがとうございます。
>後者のメリット
>o 登録・編集のバリデーションコードが重複しないためメンテナンスしやすい。
これに関してですが、後者の場合はデメリットになりえます。
削除処理でも登録、編集のバリデーションが発動してしまうので、M3なんかだと手の施しようがないんですよね…
権限については、hasCredentialなんかもあるので、それでやりくりは可能だと思います。
個人的には後者のメリットは、素人考えですがよりオブジェクトっぽくなるかなというところだと思ってます。
>o execute()内のケースが複雑になる。
これも、登録、編集のクエリをそのままメソッド名に使っちゃえばいいのでそんなに複雑にはならないのではないでしょうか?
バリデーションの重複については、M2では共通の親Actionで継承できたのに、M3ではAction名のバリデーションファイル
を作らなければいけなくなったので、重複しちゃうんですよね。
0495nobodyさん
2005/05/09(月) 17:12:20ID:???登録/編集/削除フラグを立ててValidateメソッド内で条件分岐しております。
0497nobodyさん
2005/05/10(火) 03:49:56ID:???↑エロゲサイトにまで使われるmojavi
0498nobodyさん
2005/05/10(火) 16:07:43ID:???↑
ここのひとって、
$form =& $request->getAttribute('form');
ってやってるけど、php5ってオブジェクトはデフォルトで参照渡しになるんじゃなかったっけ?
&いらないんじゃね?
0499nobodyさん
2005/05/10(火) 17:04:29ID:???そのサイトのどこにMojavi使われてるの?
まさか「majo2」がURLにあったからなんて言わないよね。
でもって釣られた俺、南無。
0503nobodyさん
2005/05/10(火) 18:02:37ID:???0504nobodyさん
2005/05/10(火) 18:04:27ID:???TOPからいける商品情報リンクでいきなりこんなんでますが?
Fatal error: Call to undefined function: setfetchmode() in /usr/local/share/pear/MDB/QueryTool/Query.php on line 325
Call Stack
#FunctionLocation
1{main}()/home/wwwchroot/www/htdocs/engine:0
2customcontroller->dispatch()/home/wwwchroot/www/htdocs/engine:136
3customcontroller->forward()/home/wwwchroot/www/lib/mojavi/mojavi-all-classes.php:412
4filterchain->execute()/home/wwwchroot/www/lib/mojavi/mojavi-all-classes.php:481
5outputbufferingfilter->execute()/home/wwwchroot/www/lib/mojavi/mojavi-all-classes.php:163
6filterchain->execute()/home/wwwchroot/www/webapp/lib/OutputBufferingFilter.class.php:14
7mappingrequestvarsfilter->execute()/home/wwwchroot/www/lib/mojavi/mojavi-all-classes.php:163
8filterchain->execute()/home/wwwchroot/www/webapp/lib/MappingRequestVarsFilter.class.php:21
9db_dataobjectfilter->execute()/home/wwwchroot/www/lib/mojavi/mojavi-all-classes.php:163
10filterchain->execute()/home/wwwchroot/www/webapp/opt/filters/DB_DataObjectFilter.class.php:22
11executionfilter->execute()/home/wwwchroot/www/lib/mojavi/mojavi-all-classes.php:163
12listaction->execute()/home/wwwchroot/www/lib/mojavi/mojavi-all-classes.php:97
13customquerytool->customquerytool()/home/wwwchroot/www/webapp/modules/catalog/actions/listAction.class.php:61
14customquerytool->setdbinstance()/home/wwwchroot/www/webapp/lib/CustomQueryTool.class.php:16
0505nobodyさん
2005/05/10(火) 18:07:20ID:???0506nobodyさん
2005/05/10(火) 18:32:08ID:???仕事中だからあちこちクリックできねーんだよニート共が!
みたいに逆切れするに100Mojavi
0507nobodyさん
2005/05/10(火) 18:33:13ID:???0508nobodyさん
2005/05/10(火) 18:36:07ID:???URL見るだけでもわかりそうなもんだが…
http://fandc.co.jp/engine/module/catalog/action/list/
↑ほら入ってみなさい
0509nobodyさん
2005/05/11(水) 02:11:13ID:???PEAR も Mojavi もいいけど、display_errors = off とか、まず最初に普通の事を普通にやろうぜ、と。
0510nobodyさん
2005/05/11(水) 02:23:01ID:???0511nobodyさん
2005/05/11(水) 02:35:23ID:???0517nobodyさん
2005/05/17(火) 16:51:08ID:???ttp://cgi39.plala.or.jp/klove/w/k.cgi?page=Seasar2%A4%F2%BB%B2%B9%CD%A4%CBphp%A4%C7DI%A5%B3%A5%F3%A5%C6%A5%CA%A4%F2%BC%C2%C1%F5%A4%B9%A4%EB
うちの会社はPHP4環境ですががががが。
0518nobodyさん
2005/05/18(水) 09:47:20ID:6htWVmYW認証していない状態で、isSecure(return TRUE)が設定されているモジュールを呼び出すと
AUTH_MODULE、AUTH_ACTIONで指定されたモジュールにフォワードされますが、そのモジュールで
認証後に元のページに戻るにはどうしたらいいのでしょうか?
複数の場所から認証モジュールにジャンプするので、戻る場所が1箇所ではありません。
引数のmoduleとactionから判断するのがいいのかな?
0519nobodyさん
2005/05/18(水) 10:16:30ID:???$controller->forward('originalModule','originalAction');
かな? Mojavi使ったこと無いけど、まるごとにあった。
0520nobodyさん
2005/05/18(水) 10:36:55ID:???Mail: sage
----------------
>>518
次のようなフィルターを経由してRendererで設定し使っています。
class NextActionFilter extends Filter {
function execute(&$filterChain, &$controller, &$request, &$user) {
static $loaded;
if ($loaded === null) {
$loaded = true;
$nextModule = $request->getParameter('nextModule');
if ($nextModule === null) {
$nextModule = $controller->getRequestModule();
}
$nextAction = $request->getParameter('nextAction');
if ($nextAction === null) {
$nextAction = $controller->getRequestAction();
}
if ($nextModule === 'Default' && ($nextAction === 'Login' || $nextAction === 'Logout')) {
$nextModule = DEFAULT_MODULE;
$nextAction = DEFAULT_ACTION;
}
$request->setParameter('nextModule', $nextModule);
$request->setParameter('nextAction', $nextAction);
$filterChain->execute($controller, $request, $user);
} else {
$filterChain->execute($controller, $request, $user);
}
}
}
0521520
2005/05/18(水) 10:39:40ID:???ここではフォワードされた場合( $loaded !=== null )にはスルーにしています。
例えば、Smartyテンプレートでは次のようにして使います。
{if $nextModule != "" && $nextAction != ""}
<input type="hidden" name="nextModule" value="{$nextModule|escape:"html"}">
<input type="hidden" name="nextAction" value="{$nextAction|escape:"html"}">
{/if}
まるごとのoriginalModuleとoriginalActionにnextModuleとnextActionで対応します。
以上、参考になれば。
0522520
2005/05/18(水) 10:40:51ID:???ここではフォワードされた場合( $loaded !=== null )にはスルーにしています。
!== の間違いです。
0523518
2005/05/18(水) 12:32:16ID:6htWVmYW>>519
まるごとは私も持っています。
$controller->forward('originalModule','originalAction');
だと、index.php?module=originalModule&action=originalActionが
呼ばれるだけで元には戻れませんでした。
なので、まるごとで書かれているコメントは間違い(というより、
そこは自分で置き換えろということ)みたいです。
>>520
参考にさせて頂きました。
input type="hidden"の項目を置くのは認証モジュールのフォームで、
認証後にここにセットされているModuleとActionにフォワードする
ということでよろしいでしょうか?
やはり認証モジュール内で呼び出し元を保持して画面遷移しないと
無理っぽいですね。
0525518
2005/05/18(水) 12:43:02ID:6htWVmYW了解です!
素早い回答ありがとうございました。
本当に助かりました。
0526518
2005/05/18(水) 13:14:54ID:6htWVmYWただ、少し問題点もありました。
複数ある認証モジュールの呼び出し元の引数がそれぞれ異なる場合に
認証モジュール内でそれを全て引き継いでいかなかればいけないという
のが一つ。
もう一つは認証モジュールの呼び出し元がGETとPOSTでVIEWを切り替えて
いる場合で、<A>タグから呼び出し元がGETで呼ばれた後に認証モジュールに
ジャンプして認証画面でsubmitでログインして戻ってくるとPOSTで認証元
が呼ばれてしまうためVIEWの切替がうまくいきません。
なので、認証モジュールの呼び出し元はGETとPOSTで両方同じ処理にしておく
必要がありそうです。
0527nobodyさん
2005/05/18(水) 13:20:25ID:???0528nobodyさん
2005/05/20(金) 21:12:39ID:???$request->setMethod(REQ_GET);
$controller->forward( NEXT, NEXT);
0529nobodyさん
2005/05/20(金) 21:21:54ID:???ログイン画面に来た時にリファラを取得しておいて、
外部サイトからだったら、indexのページ、
内部からだったら、そのリファラに飛ばせば良いんじゃないの?
0530518
2005/05/20(金) 22:19:06ID:iZfZHOa+1.認証モジュール内でgetMethodしてGETかPOSTかを取得してセッションに保存。
2.getParametersで引数をすべてセッションに保存。
3.ユーザ認証
4.ユーザ認証OKならセッションに保存した引数を全てsetParameterする。
5.上記1で取得したのがGETならredirect、POSTならforwardする。
実際に作ってないのでホントに動くか分かりませんがw
0531nobodyさん
2005/05/21(土) 17:11:07ID:???小回り聞くし、使い勝っても良いし。
ちなみに俺のフレームワークは↓ここのサイトのを
http://www.stackasterisk.jp/tech/php/phpMvc01_01.jsp
参考に作りました。
0534nobodyさん
2005/05/21(土) 22:45:29ID:3M7QHA3T0535nobodyさん
2005/05/21(土) 23:11:49ID:???0536nobodyさん
2005/05/21(土) 23:17:39ID:???0537nobodyさん
2005/05/21(土) 23:25:05ID:???DB_DataObjectやPropelとかのo/rマッパがあるのに今更DAOの概念て…
お前もう少しがんばった方がいいよ
0538nobodyさん
2005/05/21(土) 23:28:15ID:???0539nobodyさん
2005/05/21(土) 23:32:31ID:???0541nobodyさん
2005/05/22(日) 01:01:02ID:???とりあえずメンテナの一番多いだろうmojaviの大半の機能を使うくらいのプログラムを組んで
流通してるフレームワークの強さを体感したらいいよ。
一部しか使わないから覚えるのマンドクセ、自作マンセーになる。
0543nobodyさん
2005/05/22(日) 01:32:24ID:???おいおいおい、mojavi信者が必死だなw
お前らみたいなフレームワークも自作できないような屑は
プログラマを語るなよ。な?
0544nobodyさん
2005/05/22(日) 01:39:03ID:???>お前らみたいなフレームワークも自作できないような屑は
という事はお前さんは自作してるんだろうから公開してみたら?
それが出来ない限り、お前さんもフレームワーク自作できるとの証明にはならないから、
お前さんの理論でお前さん自信が『屑』である。
0545nobodyさん
2005/05/22(日) 01:54:42ID:???フレームワーク自分で作る意味がわからんのだが。
教えてplz
つーかフレームワーク自作するやつは当然Pearなんて使わないんだよね?
0546nobodyさん
2005/05/22(日) 01:59:09ID:???既存のフレームワークで満足すればそれでよし。
満足しなくても、改造して満足できるならそれでよし。
それでも満足できないなら自作するのもよし。
ぶっちゃけ、フレームワーク使わなくたってどうでもいい。
使いたい奴が使いたいものを使う、または自作すればいい。
つうか、どうしてプログラマの大部分ってこういった話題好きなのかね・・・
使いたいものを使いたいように使えばいいじゃん。
もうちょっと、プログラミング自体を楽しもうぜ。
0547545
2005/05/22(日) 02:03:58ID:???趣味でやってるなら楽しもうぜ、とか言えるだろうが
仕事なんで効率と保守のコスト考えると、そんな理由では自作なんてありえない。
フレームワーク自体の有用性は揺ぎ無いわけだから
自作フレームワークのメンテに時間がさけて、なおかつ仕事も効率よくこなせるとなると
そこそこ大きいプロジェクトしか自作フレームワークなんて無理じゃないの?
0548545
2005/05/22(日) 02:04:20ID:???0549546
2005/05/22(日) 03:03:37ID:???だから、全員が仕事で使ってるわけでもないし、逆に趣味でもやってる訳でもない。
だから、自作だからとか既存とかどうでもいいでしょ?って事。
少なくても、色々な人間が居る中で、自作だからといって見下した態度とたり、
既存のつかってたら信者だの煽ったりと、どうでもいい。
もっと単純に情報交換がしたいよ・・・
例えば、○○のフレームワークはこういった部分が面倒だから、
俺は既存の△△の部分を□□のように書き換えて☆☆のようにして使ってる。
とかさ・・・
なんというか、こういった板見てると、必ず○○使ってる奴はダメとか
そんな意見ばかりじゃん。
そういう意味でも、『楽しもう』と言っただけ。
0550nobodyさん
2005/05/22(日) 03:12:11ID:???何が車輪の再発明だよ。ただの骨組みだろうが。馬鹿か?
もう一度言うが、フレームワークの自作すらできないような奴が
プログラマを名乗るなよ。な?
0551nobodyさん
2005/05/22(日) 03:16:58ID:???0552nobodyさん
2005/05/22(日) 08:49:41ID:LxqOomPh>ログイン画面に来た時にリファラを取得しておいて、
>外部サイトからだったら、indexのページ、
>内部からだったら、そのリファラに飛ばせば良いんじゃないの?
これって何でですか
0553545
2005/05/22(日) 13:25:31ID:???自作だから見下すわけではないが、既存のものより悪いものを作って自己満足しました、なら
チラシの裏にでも書いててくれよ。
それこそ自分が作ったって公開してるのなんてMapleほかいくつかくらいだろ?
評価しようがないよ。
>550
これほどまでウェブアプリが一般的になった現在でも
XSS脆弱性やSQLインジェクションのような単純ミスが残ってるのは
人の作業にミスが付き物だからだろ?
俺はメンテナが多いほうがそういうミスも減るだろうし
オープンソースならミス見つかるのも早いだろう、っていう考え方。
0559nobodyさん
2005/05/22(日) 21:51:01ID:???程度低いな。
0560nobodyさん
2005/05/22(日) 22:03:30ID:???やる価値が無いと判ってて放ってる奴と、作ってから既成でいいことに気づいた奴。
俺は後者。
煽りならもう少し程度を上げてくれよ?
0561560
2005/05/22(日) 22:06:51ID:???今のフレームワークが完璧などと言うつもりは毛頭ない。
念のため。
俺は面倒くさがりだから手を加えるにしても1から作らずにメンテナに加わるだろうけど。
0563nobodyさん
2005/05/22(日) 23:19:42ID:???基本さえわかれば、フレームワークそのものには大して興味ない。
ってのは、いけませんか?
0564nobodyさん
2005/05/23(月) 01:13:53ID:???簡単なアクセスカウンターから巨大プロジェクトまで
すべて同じフレームワークを使うんだな。
馬鹿の一つ覚えのように。程度低いねぇ。死ねば?
0565nobodyさん
2005/05/23(月) 01:21:40ID:???よく落ち着け。
>簡単なアクセスカウンターから巨大プロジェクトまで
>すべて同じフレームワークを使うんだな。
>>562のどこでそんなこと言っている?
冷静になって考えろ。そうすれば、取り乱してアホなレスしてる
自分が死ぬべきだと気付くはずだ。
0567nobodyさん
2005/05/23(月) 06:37:03ID:???0568nobodyさん
2005/05/23(月) 06:47:31ID:???0569nobodyさん
2005/05/23(月) 07:46:20ID:???>フレームワークの自作もできないような低レベルな人間である
興奮しすぎだ。だれがどこで自作できないなんて言ったの?
それにお前の論法だと、
>簡単なアクセスカウンターから巨大プロジェクトまで
>すべて同じフレームワークを使うんだな。
アクセスカウンターにまでフレームワークの自作するの?ってことになるんだが…
>「屑」「死ねば?」「死ぬべきだと思うよ」
なにがおまえの心を蝕んでいるんだ?
http://www.nisseikyo.or.jp/
とりあえずここで治療先探した方がいいよ。
なんか知り合いの職場で、突然発狂しだして、それから顔出さなくなった奴とか
いたらしいし。
0570nobodyさん
2005/05/23(月) 11:54:37ID:???フレームワークを自作すると勉強にはなる。
で、俺がフレームワークを使う理由はテコの原理が働くから。
フレームワークの習得コストを投資するだけでその何倍ものリターン、即ちアイデアや技法を核に、コーディングやテストに時間や人をかけた良質のコードが利用できる。
なので俺がフレームワークを選定する判断基準は
1. 核となるアイデア、技法の価値
2. それがどの程度の品質でテスト、実装されているかの質
3. 情報
自作&クローズドだと 2 と 3 が劣るので苦しくなる。
このスレが賑わったのも Mojavi のような強力なオープンソースフレームワークが評価されたからじゃないの。少なくともフレームワークの DIY で賑わってるワケではない。
自作はがんがんやれ。でも押しつけんな。
オープンソースフレームワークはがんがん使え。でも うひょー、俺進んでるー!とか使ってないヤツは吊れというのも間違い。
フレームワークで非生産的なフレームすんなと。
0572nobodyさん
2005/05/23(月) 16:34:31ID:???0576nobodyさん
2005/05/23(月) 18:03:30ID:???ところで、いまだにM2-PHP4な俺様なんだが
M3-PHP5に移行するに当たっての注意点みたいのあるかい?
なんかiniファイルとかあって軽くビビってるんだけど。
DB接続周りはProple&Creoleがいいらしいね。
Hibernate誰かポートしてねえかなと思ってpHibernateでググったら出てきたよw
0577nobodyさん
2005/05/23(月) 18:52:24ID:???>M3-PHP5に移行するに当たっての注意点みたいのあるかい?
言い出したらキリが無いな…
Propel&Creoleに限らず複数&多種のDB接続ができるんで、DB周り自体かなり便利にはなってるけどね。
俺の場合比較的速度を求めない部分ではPropel+Creoleで、速度重視の部分ではADODBって感じでやってるけど。
0578nobodyさん
2005/05/23(月) 20:43:40ID:???使えて当り前のレベルの話だろが、突っ込んだ話しても
先が見えてる内容だから、掘り下げて話す方が恥ずかしくなるよ(w
0580nobodyさん
2005/05/23(月) 22:12:54ID:???PHPはCGIとしてもインストールできるのですよ。
ただ、あまり一般的じゃないけど。
0582nobodyさん
2005/05/23(月) 23:02:33ID:???誰もCGIについて語ってないし。苦し紛れに無知な>>559が
発したレスなんだろうけどね。
0583nobodyさん
2005/05/23(月) 23:32:25ID:???0586nobodyさん
2005/05/24(火) 12:51:57ID:???調べろ。だからお前は屑なんだ。
そもそも最初から知ったかぶるな。
0587nobodyさん
2005/05/24(火) 15:53:52ID:acBCrGCdうぜ
0588nobodyさん
2005/05/24(火) 21:31:13ID:45wBzFIo0589nobodyさん
2005/05/24(火) 21:46:48ID:???でも既存フレームワークは
「多機能すぎる」んで、速度がネックになるかな。
オリジナルフレームワークは機能のショボさが
逆に強みになると思う
0590nobodyさん
2005/05/24(火) 22:00:03ID:???既存フレームワークで本必要?
ソースコードの量も大した事無いし、別に本が必要とは思わないんだけど?
それと、たしかもうちょっとでMojavi3を扱った日本で最初の書籍が出るはず。
0591nobodyさん
2005/05/24(火) 22:29:19ID:???楽したいからフレームワーク使うんだからさ
モハビ本には期待
0592nobodyさん
2005/05/24(火) 23:00:00ID:???ソースがきれいだからすぐ読める希ガス
0593nobodyさん
2005/05/24(火) 23:11:35ID:???いくらでも出てくるし。
0594nobodyさん
2005/05/24(火) 23:39:46ID:???そんなこと言うんだったら
最初からPHPはCGIではないなんて言うなよ。
おまえが問題にしたのは文章の正確さではなく
その「表現」なんだから、マニュアルを調べたって出てきそうもないしな。
正確な文章を書けないやつがしゃしゃり出てくるんじゃない。
0595586
2005/05/25(水) 00:39:50ID:???俺は多分お前が思ってる奴とは別人だぞ。
日が浅いだろうに、奈々氏の区別が付いている振りをするものじゃない。
一般的に教えてクソと呼ばれるものは屑だし
585もその類の遠吠えにしか見えない、ということを言ったまでだ。
0596586
2005/05/25(水) 00:48:05ID:???CLI版のPHPをインストールすることで、CGI機能を実装したサーバーの
cgiスクリプトとしてPHP言語が動作可能となる。
つまり、581が言ってるのはCGiとしてインストール、というのがそもそもおかしい話だということだろ多分。
調べたら出てくるんだから調べてから話せ、ってことだ糞餓鬼。
0599nobodyさん
2005/05/25(水) 01:43:09ID:???0600598
2005/05/25(水) 01:43:14ID:???前に何か足らなくなってて難しい/出来ないと思ったんだが...記憶違いか
0601586
2005/05/25(水) 01:43:14ID:???ttp://ns1.php.gr.jp/pipermail/php-users/2003-January/012701.html
これか。おみそれした。
0603598
2005/05/25(水) 01:55:54ID:???そのHTTPヘッダのくだりなんだけど、出力しないだけで
CGIのインターフェース的には繋がってたと思うんだよね。
ああ、スレに関係ない話ですまん。
0605nobodyさん
2005/05/25(水) 05:00:03ID:???http://www.php.net/manual/ja/security.cgi-bin.php
じゃぁこの翻訳は間違っているのだね。
0606596
2005/05/25(水) 08:36:43ID:???わざわざ「バイナリ」と付けている意味もわからんのか。そもそも異なる訳だ。
つーか俺が書いたのは調べてる例なのだし、明らかに間違ってるなら自信を持ってその箇所を指摘しろ。
そういう中途半端な話がしたいのか?
580はともかく、578は明らかに事実誤認だし581は調べもせずに書き込む香具師だ。
勝手に誰かと勘違いしないでもらえる?
>598
ヘッダ自分で書かなきゃいけないならスクリプト書き直し…
秒はこれコンマ以下切捨てなのね。
0607596
2005/05/25(水) 08:41:13ID:???>580はともかく、578は明らかに事実誤認だし581は調べもせずに書き込む香具師だ。
580はともかく、578は明らかに事実誤認だし585は調べもせずに書き込む香具師だ。
どんどんスレの主旨からずれてくな…これ以上PHP-CGIの質問するんだったらPHP初心者板でお願い。
一両日中には相手してあげるから。
0609nobodyさん
2005/05/25(水) 09:20:22ID:???これのことだと思う
ttp://www.amazon.co.jp/exec/obidos/ASIN/4798108766/250-2538785-1872250
0610nobodyさん
2005/05/25(水) 09:47:46ID:???○PHPで広がるWeb開発
○レンタルサーバーでPHPを使おう!
○WindowsでPHPを使おう!
○使える! アプリケーション〜一般編〜(XOOPS / ppBlog)
○使える! アプリケーション〜開発編〜(phpMyAdmin / mantis)
○PHP超入門
○TruStudioで快適な開発環境を作ろう!
第2章 PHPのプログラム構築手法
○Smarty入門
○Smartyを使いこなす
○PHP5+MojaviによるMVC入門
○PukiWikiでSEOにチャレンジ
第3章 ライブラリを活用する
○JpGraphでグラフもすいすい
○PEAR:Mime_Mailを使用したHTMLメール送信
○PHPのセキュリティ対策
○パフォーマンス向上大作戦!
○WYSIWYGな編集をしよう!
第4章 最新情報
○PHP5の新機能
○PHP4とPHP5の共存
↑これみるかぎり期待できなさげな気がする
0611580=585=594
2005/05/25(水) 10:20:04ID:???「言っていること」は正しいが「言い方」が正しくないのだろう
と思って585と聞いたわけだ。
ただ表現が正しくないと言われてもどこが正しくないのかよく分からなかったしな。
それを586でいきなり屑呼ばわりされたので、
ついカッとなって594で複数人の名無しを一人だと勘違いした書き込みをしてしまった。
そこは悪かった。
ただ、見ず知らずの他人を屑だの糞餓鬼だの呼ぶのはどうかと思う。
少なくとも自分はそういう言い方はしなかったし、するつもりもない。
あと、自分も「明らかに間違っている点」を指摘されてないし、
「表現が正しくない」と言うのは「事実ではない」とは意味が違うので、
まだ釈然としないのだ。
でも、こんな言葉のあやみたいなことでグチグチ言ってもしょうがないな。
またROMに戻る。
すまなかった。
0612596
2005/05/25(水) 10:47:13ID:???俺も悪かった。すまん。
ただ、匿名掲示板は煽ったら煽り帰される、というのはもう少し慣れておいたほうがいいよ。
いちいち煽られて腹立ててても仕方が無い。
結果として俺がスレ流しまくって無為になってるし、教えて君や煽り荒らしも次からはなるだけスルーするよ。
0613nobodyさん
2005/05/25(水) 12:03:07ID:???見るべきは
> 坂井 恵 (著), 上鍵 忠志 (著), 田中 正裕 (著), 月宮 紀柳 (著), 森川 穣 (著)
ここ。
業界一ネタがマニアックな月宮氏の名前がある。
上鍵氏と田中氏の名前は分かるが後は知らないな… 坂井氏って、Pukiwiki の坂井氏かな。
まぁどっちにしろ、PHP で本や雑誌一冊使うと部数を作るために初心者フレンドリーな振りにしなければ成り立たないんじゃないか。
ここの住人が満足するようなインデックスで固めたら大量の返本は確実。
それ含めて眺めたら、結構期待していいと俺は思うが。
0615nobodyさん
2005/05/25(水) 15:19:57ID:???そうそう。つーかほとんどがmojaviに関係ないのにタイトルでMojaviとか言って騙してる方が
返本確実だろw
0616613
2005/05/25(水) 15:49:05ID:???0617nobodyさん
2005/05/25(水) 16:11:25ID:???サンプルやチュートリアルで使い方はほぼ網羅されていいる。
あとは、更に効率良く使うために自分でクラス作ったりって感じだけど、
何が疑問なんだろう・・・
そして、こういった板があるんだから、ちょっとした疑問でも質問すれば良いのに。
でもって、質疑応答をどこかのサイトにまとめればそれだけで貴重な情報源になる気がする。
0619nobodyさん
2005/05/25(水) 17:14:14ID:???まぁそこまで考える段階では無い気もする。今は取り敢えず記事出して認知上げようぜ、みたいな。
本当に需要が出てきたら切り口は幾つか見つかるんじゃない?
1. 事例紹介
2. Mojavi で作ろう -Mojavi を解説しつつアプリケーション一つをまるまる開発- (初心者向け)
3. Tips
-- View を拡張
-- エラーハンドリング
-- Model の導入
-- Propel でゴー
4. コードリーディングの手引き -Mojavi コードのガイダンスと読むべきポイント-
5. Mojavi に役立つツール群 (アクセラレータとか)
6. 情報源
こんな所か? Tips にはエラい人がごまんと抱え込んでいるであろう技や活用術を載せて欲しいな。
0620nobodyさん
2005/05/25(水) 21:02:33ID:???0621nobodyさん
2005/05/25(水) 22:45:02ID:???0622nobodyさん
2005/05/26(木) 00:22:06ID:???フレームワークを知った風な顔で語るなよ。雑魚どもが。
0623nobodyさん
2005/05/26(木) 00:26:49ID:???結局smartyのインスタンスをfilter側で生成して
actionクラスでもインスタンスを呼び出せるようにしてる。
それでis_cachedメソッドでキャッシュの有無を判定して
DB処理等の実行の判断をしてるんだけど、もっと良い方法あったらキボンヌ
ちなみにmojavi3でのお話
0624nobodyさん
2005/05/26(木) 01:57:08ID:???俺も似たような感じ。
まずConfigクラス作って、smarty_アクション名.iniに、グローバルテンプレ、メインテンプレ、スロットテンプレの
ファイル名、キャッシュ時間を設定して、それをフィルタで読み込んで判定してる。
んで、キャッシュされてなかったらView側で表示&キャッシュ生成処理みたいな感じで。
まぁでもそのうち公式でサポートされそうな気がしなくもないけど。
0625nobodyさん
2005/06/06(月) 16:40:01ID:???名づけてよさそうに思えるのですが、ネームスペースというのが何なのかわかりません。
どなたか教えてもらえないでしょうか。
addPrivilege()と一致していれば何と名づけようと関係ないのでしょうか。
<?php
class AAction extends Action
{
//認証機能を利用する
function isSecure()
{
return true;
}
//ExecuteExampleは権限名として自由につけらる?
//いくつかの解説で出てくるExampleNamespaceというのは何でしょうか?
//突然、今まで出てこなかったExampleNamespaceとか、$GLOBALS['_EXAMPLE_USER_PRIVILEGE_NAMESPACE']とか
//tutorialとかになってて混乱してます。
function getPrivilege()
{
return array('ExecuteExample', 'ExampleNamespace');
}
?>
0626nobodyさん
2005/06/08(水) 04:06:39ID:???勝手に名づけていいよ。空にするとたしかmojavi.orgかなんかが入るんだっけ?
でも、例えばネームスペースにホスト名やユーザエージェントとかの
ユーザごとに違う値を入れてやれば、セッションハイジャック対策になる。
0627625
2005/06/08(水) 22:30:58ID:???さんくす
えっと、ユーザエージェント毎の違う値というのが思っていたのと違うんだけど
それはテストコード書いて試してみます。
・・・そのネームスペース(?)毎に権限設定ができると思ってた。
例えば、userはuserでの権限でできること、adminはuserとadminと両方の
権限を持ってアクセスできるとか・・・。できるのかなぁ。
0628nobodyさん
2005/06/10(金) 03:50:03ID:???そういうのは権限の付与時にきめることで、そこは関係ない。
例えば>>625での
AAactionにadminだけをアクセスさせたい場合、
認証時にadminだけ、ExecuteExampleをaddPrivilegeしてやればいい。
0629nobodyさん
2005/06/10(金) 13:55:21ID:???そういった意味じゃないんじゃない?
adminとかuserって例だと俺は例え難いから別な例えとすると、
ある画面は営業部と品質管理部がアクセス出来るようにするといった場合じゃないのか?
つまり、複数の権限でアクセスできるページが作りたいって意味じゃ?
0631nobodyさん
2005/06/10(金) 20:44:57ID:???AAction、BActionがあったとしよう。
AActionにExecuteExampleA、BActionにExecuteExampleBをgetPrivilegeしておく。
認証時、adminユーザExecuteExampleA、ExecuteExampleBを付与、
userならExecuteExampleAを付与してやればいい。
AAction内でさらに細かく設定したければhasPrivilegeで直接問い合わせる。
if($user->hasPrivilege('ExecuteExampleA-1')){
ExecuteExampleA-1が与えられたユーザだけの処理
}
0632nobodyさん
2005/06/10(金) 20:47:19ID:???0634nobodyさん
2005/06/11(土) 00:59:49ID:???0635nobodyさん
2005/06/11(土) 10:57:48ID:???自演乙
0640nobodyさん
2005/06/11(土) 12:13:10ID:???PHPEclipseもTrustudioもフリー
持ってなきゃ落とせ。
>>626
これは飛び道具的な使い方。本来ネームスペースというからには、
return array('ExecuteExample', 'ExampleA');
return array('ExecuteExample', 'ExampleB');
みたいな使い方をするもんだ。
0643nobodyさん
2005/06/11(土) 16:51:17ID:???参考にできるドキュメントがあんまりないのがmojaviの辛いところだね。
間違っている部分があれば指摘よろ。
[ユーザ認証を使う場合]
index.phpの
require_once(AUTH_DIR . 'PrivilegeAuthorizationHandler.class.php');
$authHandler =& new PrivilegeAuthorizationHandler;
$controller->setAuthorizationHandler($authHandler);
を有効化する
認証したいActionに、function isSecure(){ return TRUE; } を追加する
認証済みにする時は、User::setAuthenticated(TRUE); を実行する
0644nobodyさん
2005/06/11(土) 16:51:31ID:???index.phpの
require_once(AUTH_DIR . 'PrivilegeAuthorizationHandler.class.php');
require_once(USER_DIR . 'PrivilegeUser.class.php');
$authHandler =& new PrivilegeAuthorizationHandler;
$user =& new PrivilegeUser; -(3)
$controller->setAuthorizationHandler($authHandler);
$controller->setUser($user);
を有効化する
特権を扱いたいActionに、function isSecure(){ return TRUE; }を追加する
Actionに特権を設定する
function getPrivilege (&$controller, &$request, &$user){
return array(name,namespace);
}
User::addPrivilege(name,namespace)を使って、そのユーザの持つ特権(s)を設定する
[捕捉]
あるActionに必要な特権は1つだけ設定できる(getPrivilege)。namespaceを指定しない場合はorg.mojaviになる。
あるユーザの持つ特権はPrivilegeUserクラス内で、secure[namespace][name] = TRUE|NULL の形で格納される。
またUser::addPrivilegeを複数回使うことで、複数の特権をユーザに付加することができる。
nameとnamespace(省略時はorg.mojavi)の2つが完全に一致しないと、特権が許可されない。
アカウント管理のグループ・ユーザのような「ものではない」つーことやね。ここ引っ掛け問題で出ます。
0646nobodyさん
2005/06/11(土) 22:12:05ID:???まぁここでわかるわけだ。能無しソース嫁厨←実は読んでないと
ほんとに読んだ人と。例え644が間違っていたとしても
こう書いてあるから違うといえる人間と違うとしかいえない人間と。
あ、俺は読んでないからなんともいえない。先人の知恵をありがたく使わせて
いただく。感謝の気持ちはあるつもり。クソにもならんコメントという意味では
俺も嫁厨と変わらない…。
0648nobodyさん
2005/06/12(日) 01:50:47ID:???>>>644の書き込み見ると、今までの流れで言われてた事と
>矛盾するんだが、どっちが正しいの?
べつに何も矛盾しない。
0649nobodyさん
2005/06/12(日) 07:16:06ID:???>アカウント管理のグループ・ユーザのような「ものではない」つーことやね。ここ引っ掛け問題で出ます。
これは具体的にどういう意味で言ってるの?
namespace・nameがイコールグループ・ユーザというものではないって意味?
それともグループ・ユーザに相当する処理で使うものでは無いという意味?
後者なら違うと思うんだが。実際グループの権限照会処理で俺使ってるんで。
0651643
2005/06/14(火) 01:12:54ID:???>>645
矛盾はしないですよ。というか、矛盾していたらネチネチと煽ってるっす。
>>649
最後の一行は余計だったかなぁ。。その上の行の捕捉みたいなつもりだったのだけど。
namespace = グループとした時に、グループに対してactionの利用がon|offされるわけではなく、
あくまでnameまで含めた物が判定に使われるってことです。
上の方で出ていた単語(そのレスでの意味合いは置いておいて)を使うと、
namespace = adminグループ、営業部 って感じ。
グループ・ユーザ機能をどう実装するかってのはまた別の話っす。
0653nobodyさん
2005/06/14(火) 03:09:43ID:???>最後の一行は余計だったかなぁ。。その上の行の捕捉みたいなつもりだったのだけど。
別に真意を知りたかっただけ。特に余計とかは思ってない。
namespaceはユーザのグループというよりは、権限のカテゴリと考えるのが妥当だね。
0654643
2005/06/14(火) 03:54:18ID:???認証・特権に関係する部分を読んでいた時のメモっす。@mojavi2
追試しようとする人は参考にしてちょ。
mojavi全体の処理ダイアグラムも参照。
ttp://www.mojavi.org/images/diagrams/2.0/action_sequence.png
段組は関数呼び出し・if文等処理の区切り。関数名の後ろの::はその関数のクラス名。
index.php
require_once(AUTH_DIR . 'PrivilegeAuthorizationHandler.class.php'); -(1)
require_once(USER_DIR . 'PrivilegeUser.class.php'); -(2)
$authHandler =& new PrivilegeAuthorizationHandler;
$user =& new PrivilegeUser; -(3)
$controller->setAuthorizationHandler($authHandler);
$controller->setUser($user);
$controller->dispatch()
0655nobodyさん
2005/06/14(火) 03:54:32ID:???function dispatch()
$this->forward($modName, $actName);
function forward($modName, $actName)
$filterChain =& new FilterChain;
$filterChain->register(new ExecutionFilter);
$filterChain->execute($this, $this->request, $this->user);
function execute(&$filterChain, &$controller, &$request, &$user)::ExecutionFilter
if($action->isSecure()) -(4)
$authHandler =& $controller->getAuthorizationHandler();
$authHandler->execute($controller, $request, $user, $action)
function execute (&$controller, &$request, &$user, &$action)::PrivilegeAuthorizationHander
if(!$user->isAuthenticated()) -(5)
$controller->forward(AUTH_MODULE, AUTH_ACTION);
$privilege = $action->getPrivilege($controller, $request, $user); -(6)
if ($privilege != NULL && !isset($privilege[1])){ $privilege[] = 'org.mojavi'; } -(7)
if ($privilege != NULL && !$user->hasPrivilege($privilege[0], $privilege[1])){ return FALSE; } -(8)
return TRUE; -(9)
0656nobodyさん
2005/06/14(火) 03:54:50ID:???(2) ユーザ特権を使う場合は、index.phpのコメントアウトから有効化
(3) Userクラスの代わりにPrivilegeUserクラスを使う。opt/user/PrivilegeUser.class.php
(4) Action内でisSecure()がtrueを返すようにオーバーライドしておくと、認証/権限が実行される。オーバーライド前は、return FALSE。(9)も参照。
(5) User::setAuthenticated(true)されていれば認証済み。(9)も参照。
(6) Action内でgetPrivilegeが特権名/名前空間の配列を返すようにオーバーライドしておく。オーバーライド前はreturn NULL。(9)も参照。
(7) 名前空間が設定されていない場合は、org.mojaviと名前空間に使う。
(8) User::addPrivilege(name,namespace)したものの中に、(6)の特権名/名前空間を満たすものが無ければ、特権無しと判断する
(9) 認証が成功した場合や、特権有りまたは特権不要の場合に、trueを返す
0657nobodyさん
2005/06/14(火) 05:44:36ID:QOcUcvCe動的にXMLを作成しようとすると、1行目に改行が入ってしまいます。
以下view
$renderer->setTemplate('recentXml.xml');
$renderer->setAttribute('result' , $request->getAttribute('result') );
以下template
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<data>
<result>{$result}</result>
</data>
以下compileの中身
<?php /* Smarty version 2.6.9, created on 2005-06-14 05:18:37
compiled from recentXml.xml */ ?>
<?php echo '<?xml'; ?>
version="1.0" encoding="UTF-8" standalone="yes"<?php echo '?>'; ?>
<data>
<result><?php echo $this->_tpl_vars['result']; ?>
</result>
</data>
0658nobodyさん
2005/06/14(火) 05:44:49ID:QOcUcvCe<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<data>
<result>1</result>
</data>
<!-- Page was processed in 0.0412 seconds -->
この1行目の改行をなくすためにはどうすればよろしいでしょうか?
0659nobodyさん
2005/06/14(火) 06:17:32ID:????>
とかになってるんじゃないのかな多分。
0660657
2005/06/14(火) 10:25:49ID:QOcUcvCeブラウザでアクセスした際、1行目に改行が入っていました。
原因はわかりません。
0662nobodyさん
2005/06/14(火) 11:32:29ID:???0663nobodyさん
2005/06/16(木) 17:29:13ID:???検索してもGlobalフィルタのおざなりな説明しかないなぁ。。
フィルターには2種類あり、全てのmodule/actionで呼び出されるもの(globalフィルタ)と
特定のモジュールで呼び出されるもの(moduleフィルタ)からなる。
個々のフィルタには前処理・後処理という2段階の実行順序があり、
登録した順に前処理が全て実行されてから、今度は逆順に後処理が実行される。
Actionの実行部分もフィルタの一種として扱われていて(ExecutionFilter)、
全てのフィルタの登録後に自動的に登録されている。
結果、登録順に1,2...の番号を付けた時に、
1. GlobalFilterのpre-filter1,pre-filter2...を実行
2. moduleFilterのpre-filter1,pre-filter2...を実行
3. ExecutionFilterを実行(認証や特権の判定、action処理)
4. moduleFilterの...post-filter2,post-filter1を実行
5. GlobalFilterの...post-filter2,post-filter1を実行
という順番で処理されることになる。
フィルタ機能の実現には3つのクラスが関係していて、
FilterChain - フィルタを実際に行う仕組み
FilterList - フィルタの順序リスト
Filter - 実際の処理内容
このうち、FilterList、Filterを書くことになる。
0664nobodyさん
2005/06/16(木) 17:31:03ID:???グローバルフィルタ
BASE_DIR/GlobalFilterList.class.phpを作成
BASE_DIR/GlobalFilterList.class.php
class GlobalFilterList extends FilterList{
function registerFilters(&$filterChain,&$controller,&$request,&$user){
require_once(<filter-file-path>); // 利用するfilter分だけ繰り返し
$filterChain->register(new <filter名>); // 利用するfilter分だけ繰り返し
}
}
モジュールフィルタ
BASE_DIR/modules/<module名>/<module名>FilterList.class.phpを作成
<module名>FilterList.class.php
class <module名>Filterlist extends FilterList{
function registerFilters(&$filterChain,&$controller,&$request,&$user){
require_once(<filter-file-path>); // 利用するfilter分だけ繰り返し
$filterChain->register(new <filter名>); // 利用するfilter分だけ繰り返し
}
}
0665nobodyさん
2005/06/16(木) 17:31:45ID:???<Global|module名>FilterList.class.phpの中でrequire_onceする時にパスを書くので、
そのパスと合ってさえいれば適当な場所でよい。
<filter>.class.php
class <filter名> extends Filter{
function execute(&$filterChain,&$controller,&$request,&$user){
static $loaded;
// ActionChainやAction::forwardを使った時にフィルタが複数回適用されるのを防ぐ
if($loaded == NULL){
$loaded = TRUE;
// 前処理フィルタ
...
// filter chain の次のフィルタを実行
// pre-filterとpost-filterの分岐点
$filterChain->execute($controller,$request,$user);
// 後処理フィルタ
...
}else{
$filterChain->execute($controller,$request,$user);
}}}
[捕捉]
上の <Global|module名>FilterListは FilterListのregisterFiltersをオーバーライドして
Filterの読み込みと登録をしているが、コンストラクタで読み込む方法もありっぽい。
その場合は、
class <Global|module名>FilterList extends FilterList{
function & FilterList(){
require_once(<filter-file-path>); // 必要な分だけ
$this->filters[] = new <filter名>; // 必要な分だけ
}}
となる。元のregisterFiltersは$this->filtersをカウントしてregisterしてくれる。
0666nobodyさん
2005/06/17(金) 00:54:35ID:M5DVt6+60667nobodyさん
2005/06/17(金) 04:20:04ID:???by ショーン・カー
0668nobodyさん
2005/06/17(金) 11:59:25ID:???やって来なくていい。
0670nobodyさん
2005/06/18(土) 12:06:50ID:1zysAWYsハードディスクがぶっ壊れた
0671nobodyさん
2005/06/18(土) 20:56:20ID:???俺は見ている、役立っている。わかんないヤツがgoogleで検索して
みにくるトキもあると思う。
へこまずに気がむいたらまた来てくれよな。
いろんな意見があることに甘えるやつもいるだろう。
俺はあんなこと言われたらヘコミまくるからさ。じゃね。
0672nobodyさん
2005/06/18(土) 21:21:28ID:???今落ちてるけど
0673nobodyさん
2005/06/19(日) 03:04:25ID:???つかミラーもねーのかよ
ダウンロードしたいのに〜
0674nobodyさん
2005/06/19(日) 06:09:40ID:???0675nobodyさん
2005/06/19(日) 14:00:36ID:???0676nobodyさん
2005/06/19(日) 16:01:49ID:???こんなレベルの管理しかされていないものを組み込むのは
結構リスキーなんじゃないかと思えて来た…
0677nobodyさん
2005/06/19(日) 18:48:54ID:???0679nobodyさん
2005/06/20(月) 00:24:27ID:???0680nobodyさん
2005/06/20(月) 20:04:04ID:???0681nobodyさん
2005/06/21(火) 02:45:48ID:???0682nobodyさん
2005/06/21(火) 09:41:27ID:???節約できるリソースってざっくばらんに言って何%くらい?
0683nobodyさん
2005/06/21(火) 10:27:59ID:???Mojavi3の資料すくねー!
「極めるPHP」は本当に「さわり」だけだし
ネット渉猟しても2用だったりで
全体像が見えるチュートリアルが見あたらない。
日本でMojavi使ってる奴って100人くらいじゃないかと思えてくるよ。
楽をしたいのに、楽をするための苦労がやけに多い…
0684nobodyさん
2005/06/21(火) 10:45:34ID:???ほとんどが実験レベルなので、情報も外に出さないし。
0685nobodyさん
2005/06/21(火) 10:53:36ID:???モジャビジャパン発見!
しかし3の資料はほとんどない
興味ある人は多そうなのに資料がやけに少ない
ネット時代にふさわしくないこの状況はいかに。
0686nobodyさん
2005/06/21(火) 11:09:40ID:???実際の話、PHP5って普及してるの?
先行して一儲けをたくらむ輩(出版社とか)がお盛んなだけな気がするんですが。
0687nobodyさん
2005/06/21(火) 11:11:42ID:???mojavi-users
ttp://ethna.jp/mailman/listinfo/mojavi-users
0690683
2005/06/21(火) 21:54:30ID:???読みやすいコードだけど
クラスの数が多いな…
0691nobodyさん
2005/06/22(水) 00:04:16ID:???すまん俺が言ったのはPHP5やMojavi3のことではなくて、
実験的に使ってみているだけだから、という意味。
0693nobodyさん
2005/06/22(水) 10:06:26ID:???実験的な、確定的でない情報は
なかなか外に出しにくいのはごく自然なことだと思うが…。
0695nobodyさん
2005/06/22(水) 10:42:59ID:???わざわざリソース投じてまで公開しようとはあまり思わないだろう。
0697nobodyさん
2005/06/22(水) 13:06:43ID:???目的があるから実験するわけよ。
目の前にやることがあるのに、成果が定かでない目的外作業に
エネルギーを向けたりはなかなかしないんだよ、
ぼくちゃん。
0698nobodyさん
2005/06/22(水) 13:16:09ID:???0699nobodyさん
2005/06/22(水) 13:18:57ID:???俺もオッサンに同意だがw
0700nobodyさん
2005/06/22(水) 14:20:40ID:???WaWaWaに採用が決まったので今後期待できそう、みたいな文章をどこかで読んだが
WaWaWa自体がぱっとしないよな。
0701nobodyさん
2005/06/22(水) 14:28:10ID:???0702nobodyさん
2005/06/22(水) 14:29:18ID:???0703nobodyさん
2005/06/22(水) 15:31:56ID:iwn9lgN+ここのチュートリアル見ながらモジャ3を見て行ってるんだけど
モジャってActionからViewへのデータコンテナは
Requestを使うのが普通なん?
Request=Post/Getのコンテナという感覚なので
若干違和感を感じたんだけども。
0704703
2005/06/22(水) 22:32:14ID:???標準で各層間のデータコンテナとして使ってるんやね
0705nobodyさん
2005/06/22(水) 22:56:31ID:???なんでだろ?
0706nobodyさん
2005/06/23(木) 03:41:21ID:???とゆうことはみんなphp5なのか?
0707nobodyさん
2005/06/23(木) 06:19:30ID:???0708nobodyさん
2005/06/23(木) 10:41:29ID:???設定ファイル関連の仕様が変わるっぽい。「iniわかりづれーし、xmlパーサーおせえから独自のにする」とかなんとか。
0709nobodyさん
2005/06/23(木) 10:52:29ID:???マジかよ!
まあでも独自フレームワークにするかMojaviにするか迷ってたんでふんぎりついたわ。
Mojaviを参考にしながら必要十分程度の軽さのやつつくろ。
0710nobodyさん
2005/06/23(木) 14:06:14ID:???今更自作できねぇなw
FilterChainやActionChainの発想なんて自分で思い付くのに一体何年かかるやら
mojavi2+php4+アクセラレータでがんがるか…
0711nobodyさん
2005/06/25(土) 11:36:32ID:???Ethnaとかどうよ?
後発だけに割と練られてるんじゃないかと思われる。パッと見だが。
Pear::DBに依存してそうな感じだからスルーしてる。
0712nobodyさん
2005/06/26(日) 02:01:42ID:???これを
http://localhost/index.php/module/???/
このように
http://localhost/system/module/???/
にしたいんですがどうやってやるんでしょうか。
0713nobodyさん
2005/06/26(日) 02:05:15ID:???define('URL_FORMAT', 2)にしたら、
http://localhost/index.php/module/モジュール名/action/アクション名
でアクセスできると思うけど、
http://localhost/system/module/???/
これはどれがモジュール名でどれがアクション名?
0714nobodyさん
2005/06/26(日) 03:33:25ID:???mod_rewriteを用いるか、
いつものindex.phpをsystemとリネームしておいて
ForceTypeディレクティブまたはSetHandlerディレクティブ(PHP5)でsystemをphpとして実行してあげる。
具体的には
<Location /system>
ForceType application/x-httpd-php
</Location>
てしてあげる。
0715nobodyさん
2005/06/26(日) 04:45:27ID:???なかなかよさげだなー
Mojaviを参考にしたって言ってるから移行もしやすそう
日本人が開発してるからドキュメントが読みやすい(当たり前)
機能的にもかゆいところに手を届かせる意志を感じるし
まだ変化の途上っぽいから実働サービスに組み込むのは怖いけど
追いかけておいてもいいかもね
0716nobodyさん
2005/06/26(日) 10:00:25ID:XuuxZEhW他のActionから呼び出すためだけのActionって別に作っても変じゃないよね?
メインActionが各サブActionに仕事を発注し、Requestをこめこめして
View氏に渡すって流れなんですが。
0717nobodyさん
2005/06/26(日) 10:53:10ID:???ttp://fandc.co.jp/engine/module/catalog/action/list/
このサイトみたいにやりたいんです。
ここはindex.phpないですよね。
このサイト、エロ系だけどDB_DataObject とか使って
すげぇなーと思う。
0718nobodyさん
2005/06/26(日) 11:00:47ID:???0720nobodyさん
2005/06/26(日) 12:03:36ID:???どういう了見なんだろう?
MojaviJapanで出来たから助かったが。
0722nobodyさん
2005/06/26(日) 12:25:07ID:???意味が分からなかったのでググったところ
svnレポジトリは
ソースのサブバージョンを格納しているデータベースみたいなもんのようですが
どうやってアクセスするのですか?
0723nobodyさん
2005/06/26(日) 12:43:25ID:???WINならGUIソフトもいれれ
0724nobodyさん
2005/06/26(日) 12:48:12ID:???以前、そういう感じでやってみたが、フレームワークの中にフレームワークを作ってるんじゃなかろうか?
という疑問が沸いて、結局サイトの構成やらクラスの設計やらを大幅に見直してやめた事がある。
0725nobodyさん
2005/06/26(日) 13:14:53ID:???0727nobodyさん
2005/06/26(日) 16:12:13ID:Nq3gHHYUStrict Standards: Only variable references should be returned by reference
ってのが出まくるんですけど
これなんですか
0728nobodyさん
2005/06/26(日) 16:44:51ID:???0729nobodyさん
2005/06/26(日) 16:56:00ID:???default = "Default"
; conn2 = "MySQL"
[Default]
class = "PostgreSQLDatabase"
ここもこんな風にしたんですけどね。
mojavi/config/ConfigHandler.class.php on line 179
↑これが多いです
0730713
2005/06/26(日) 17:12:07ID:???Apacheを使ってるという前提で書くけど、httpd.confにMultiViewsを追加すればできるよ。
こんな感じで、ドキュメントルート以下でMultiViewsが有効になるようにする。
<Directory "ドキュメントルートのパス}">
Options Indexes FollowSymLinks MultiViews
・・・ 省略 ・・・
</Directory>
これなら、
ttp://localhost/index.phpがある場合、
ttp://localhost/indexでもアクセスできるようになるので、
ttp://localhost/module/catalog/action/list
というURLでアクセスできる。
0731727
2005/06/26(日) 17:18:58ID:???を
define('MO_ERROR_REPORTING', E_ALL | E_ALL);
にしたらできました。
0732nobodyさん
2005/06/26(日) 18:47:44ID:???>ttp://localhost/indexでもアクセスできるようになるので、
ここから、どのように
>ttp://localhost/module/catalog/action/listというURLでアクセスできる。
へつながるの?
実際試したの?
0733730
2005/06/26(日) 18:57:12ID:???だいたいの意味が分かればいいと思ったから、試してなかった。
×ttp://localhost/module/catalog/action/list
○ttp://localhost/index/module/catalog/action/list
0736nobodyさん
2005/06/28(火) 17:26:26ID:???(3はまだDEVなのでパス)
Mojavi式は
MとVがぶっちり断絶するから頭が整理しやすいな
0738nobodyさん
2005/06/29(水) 11:58:36ID:???URL_FORMATを2にすると、CSSやら画像やらへの相対リンクがおかしくなるから気をつけて。
0739nobodyさん
2005/06/29(水) 19:24:29ID:???国産フレームワークはまだ進化の道程というか枯れ感がないので
今まさに開発中のサービスに組み込むのは抵抗ある。
0741nobodyさん
2005/06/30(木) 12:20:21ID:???いえ、わたしは1で使ってます。
mod_rewriteを併せて使うなら問題ないと思うのですが、
714さんの紹介されているディレクティブを変更する方法「だけ」だとハマるかもしれません。
0742nobodyさん
2005/06/30(木) 15:12:57ID:???そういう経験は重要。
0745nobodyさん
2005/06/30(木) 21:36:26ID:???Smarty組み込んでテスト表示だけさせてみたけど
なんかもっさりしてる気がする
0747nobodyさん
2005/06/30(木) 23:09:16ID:???サブテンプレートを実現するみたいだが。
今作ってるなんちゃってモジャビではViewResultContainerに
各ViewResultをRENDER_VARでぶちこんで、
ボスViewがそいつらを使ってRENDER_CLIENTするようにしたが。
decorateに仕組みがわからん。
0748nobodyさん
2005/07/01(金) 00:21:44ID:???Mojaviやその他既存のフレームワーク切り捨てて作るんだから
それらを越えるもの、少なくとも同等のもの作れるんでは?
もし業務でやってるならなおさらに。
0749nobodyさん
2005/07/01(金) 11:22:05ID:???isSecure()で認証かけたページのみ全部表示されない。
ページの下の方が欠けてしまう。
こんな現象にあった方いないですか?
0750nobodyさん
2005/07/01(金) 12:27:43ID:???なんだ!?ページの下の方って!!?HTML間違って書いてるんじゃないの?
同じページでisSecureをfalseにしたらちゃんと表示されるわけ?
0752エスパー
2005/07/01(金) 15:11:01ID:???認証処理に時間かかりすぎて、出力中にちょうどタイムアウト
b.決まった場所で途切れる
テンプレートで変数みていて、認証処理でその辺数になんかしちゃってる
でどうよ
0753nobodyさん
2005/07/01(金) 15:35:01ID:???0754nobodyさん
2005/07/01(金) 16:30:25ID:???0755nobodyさん
2005/07/01(金) 16:59:11ID:???0756nobodyさん
2005/07/01(金) 17:26:20ID:???3って実用レベルなん?
0758nobodyさん
2005/07/01(金) 23:24:50ID:???配列で設定すればよいと
モジャビのソース見てはじめて知ったよ。
勉強になるなあ。
0759nobodyさん
2005/07/02(土) 00:40:21ID:???PHPのドキュメントにもちゃんと載ってまっせ。
http://jp.php.net/manual/ja/language.pseudo-types.php
0761nobodyさん
2005/07/02(土) 01:43:27ID:???>$obj = new MyClass();
>call_user_func(array(&$obj, 'myCallbackMethod'));
ってPHP5だと参照渡しじゃなくていいんだよな?
0763nobodyさん
2005/07/02(土) 11:03:09ID:???ほんとだ、ちゃんとマニュアルに載ってんだね(^^;
俺はQuickFormのcallbackルールを追っかけてたときに知ったよ。
0764nobodyさん
2005/07/02(土) 18:50:51ID:???registerが動詞で
registなんて言葉は存在しないと知ったw
勉強になるわ
0765nobodyさん
2005/07/02(土) 19:27:15ID:???0766nobodyさん
2005/07/02(土) 19:29:23ID:???あれってどうなのよ
0770nobodyさん
2005/07/03(日) 04:48:09ID:???0772nobodyさん
2005/07/03(日) 06:18:27ID:???記事ばかりでダウンロード出来るリンクがわからねー
0773nobodyさん
2005/07/03(日) 07:14:35ID:???いちおう↓のスレでもMojaviネタ蔓延ってますよっと
PHPでオブジェクト指向プログラミング
http://pc8.2ch.net/test/read.cgi/php/1113724557/
むしろ誰かMojaviスレ立てたら?
漏れはまだ低脳なんでやめときます。
0774772
2005/07/03(日) 13:48:53ID:???これが現在の最新バージョン?ベータっぽい名前なので気になる
0775nobodyさん
2005/07/03(日) 17:53:28ID:???これはどういう意味があるんですか?
0777nobodyさん
2005/07/03(日) 18:33:21ID:???$a =& new Class()
にしないと、
インスタンスが内部的には2つ作られてしまうということですか?
普通に$a = new Class()を多用してた…orz
0778nobodyさん
2005/07/04(月) 00:20:10ID:???とりあえずマニュアル嫁
0779nobodyさん
2005/07/06(水) 02:03:07ID:???ここのCustomSmartyRendererクラス、
コンストラクタの引数$controller, $request, $userに
&が抜けてるので注意のこと。
0780nobodyさん
2005/07/06(水) 04:25:32ID:???0781nobodyさん
2005/07/06(水) 12:32:07ID:???0782nobodyさん
2005/07/06(水) 17:36:05ID:8QO1KkG5企図したとおりに処理が流れてないので
流れを知りたいのですが…
0784nobodyさん
2005/07/06(水) 19:59:29ID:???PHP4でもプロパティを書き換えない限り内部的にはインスタンスのコピーは行われないと聞いたことがあるけど、デマかな?
値を書き換えようとしたときに自動的に適切なコピーが作られる・・・みたいな。
0785nobodyさん
2005/07/06(水) 20:16:25ID:???確かそういう動作だったハズ
ただ779の場合はそれぞれSingleton的なインスタンスなので
コピー渡しはよろしくないよね
0786nobodyさん
2005/07/06(水) 20:44:24ID:???AUTH_MODULE・AUTH_ACTIONてモジュールごとに設定したいなぁ
モジュール固有の設定ファイルあればいいのに
0787nobodyさん
2005/07/06(水) 21:16:02ID:???Actionで設定してる?
DBアクセスあるならActionで設定するけど
半固定的なページ名の場合はViewかな?
0788nobodyさん
2005/07/06(水) 22:24:59ID:???BASE_DIRからちまちま書いていくもん?
0789788
2005/07/06(水) 22:27:22ID:???どっちにしろなんか面倒くさいな
0792nobodyさん
2005/07/07(木) 01:39:21ID:???0793nobodyさん
2005/07/07(木) 01:40:47ID:???0794nobodyさん
2005/07/07(木) 02:08:59ID:???0795nobodyさん
2005/07/07(木) 03:05:02ID:???0796nobodyさん
2005/07/07(木) 03:08:27ID:???0797nobodyさん
2005/07/08(金) 22:14:32ID:???$controller->getCurrentModule(),
$controller->getCurrentAction()
);
0798797
2005/07/08(金) 22:16:13ID:FJG5JtOWM2で今いるURLを取得するにはこういう風にするしかないですか?
一発で取得できるメソッドもないようだし…
0799nobodyさん
2005/07/08(金) 23:12:16ID:???もしリクエスト元が欲しい場合にはgetCurrentModuleとかgetCurrentActionではなく、getRequestModuleやgetRequestActionで。
あとは
$mojavi = $controller->getMojavi();
$action = $mojavi['current_action_path']; // 又は $mojavi['request_action_path']
なんていう裏技もあったりしてw
もしくは
$action = $_SERVER['PHP_SELF'] . '?' . $_SERVER['QUERY_STRING'];
とかw
0801nobodyさん
2005/07/09(土) 00:00:24ID:???0802nobodyさん
2005/07/09(土) 01:02:11ID:2ZEU1Jk8ただテンプレだけを表示したい場合でも
ActionとViewを書かないといけないのでしょうか?
なんだか無駄なような気が…
0803nobodyさん
2005/07/09(土) 03:52:16ID:???0804nobodyさん
2005/07/09(土) 13:23:51ID:???アクション名を指定して、Action・View・Templateをまとめて自動生成するようなスクリプトを自分で書けば済む話。
0806nobodyさん
2005/07/09(土) 15:15:51ID:???やっぱりそういうの作ってるんですか
Ethnaに付いてるスケルトン生成スクリプトみたいなもんですね
>>805
意味が不明ですが
0807nobodyさん
2005/07/09(土) 15:53:20ID:???hoge.tplがただのテンプレートとして
index.php?module=Default&action=Static&page=hoge
とかで、
Staticアクションクラスで、
hogeのパスをViewに渡せばいいんじゃない?
それか、静的なhtmlっつうなら、リダイレクトさせるとか。
とりあえず、1つ書いとけば使い回せるんじゃない?
0809nobodyさん
2005/07/09(土) 19:17:33ID:???> 特にサーバーサイド処理がなく、
> ただテンプレだけを表示したい場合でも
> ActionとViewを書かないといけないのでしょうか?
いいえ。
0810nobodyさん
2005/07/09(土) 22:41:55ID:???> 特にサーバーサイド処理がなく、
> ただテンプレだけを表示したい場合でも
> ActionとViewを書かないといけないのでしょうか?
はい。
0811nobodyさん
2005/07/09(土) 23:04:46ID:VpCtmobf> 特にサーバーサイド処理がなく、
> ただテンプレだけを表示したい場合でも
> ActionとViewを書かないといけないのでしょうか?
ごめんなさい。
0814nobodyさん
2005/07/10(日) 17:10:59ID:???ありがとうございます。シンプルにリダイレクトしておきました。
>>808
イレギュラーな静的ページも
Mojaviのモジュール内に収めた方がすっきりするかなと思ったんですよ。
>>809-813
えーと、基地外の方ですよね?
0816nobodyさん
2005/07/10(日) 18:12:16ID:???想像力が異常に欠如したお前には
動的システムの中にイレギュラー的に静的ページが発生するという経過的事態が
理解できないんですね?
0817nobodyさん
2005/07/10(日) 18:38:50ID:???藻前から見た基地外がこれだけ発生したということは、藻前自身が基地外である可能性について胸に手を当てて考え直せ。
0819809
2005/07/10(日) 19:12:39ID:???いいえ。
0821nobodyさん
2005/07/10(日) 22:14:58ID:???いいえ。
…こんどは意見があったね。>809
たぶん、こんな質問をするヤツには
809が正解。
フレームワークを使う意味や、何人か共同で作業する場合は
810の方がいい。理由がわからないならフレームワークを使うことは
効率が悪いのでよしたほうがいい。
動けばいいなら好きにすればいい。
正解を誰かに決めてもらえないと進めないのか。もっと自由でいいと思う。
>イレギュラー的に静的ページが発生する
イレギュラー的ってどういうこと?バグ?
想定できるのであれば、そのように作ればいいだけのこと。
「そのように」というのも決めてもらいたいのか。
自分が理解できない次元を基地外とカテゴライズするのはやめたほうがいい。
教育を受けた人間はそういうもんじゃない。
若造のために年寄りからまじめな助言だ。
最後の一言は余計かもしれないが、想像力のない阿呆へのレスはこれで最後にしておく。
じゃね。
0822821
2005/07/10(日) 22:25:08ID:???悲しくなってきた。いや802の発言はいいんだがその後がさ。
多分「初心者です。勉強しようと思っています。」
って子なんだろうけど。…チラシの裏ご容赦。
0823nobodyさん
2005/07/11(月) 04:42:18ID:???http://iteman.typepad.jp/blog/files/hustling-mojavi.html
ここにあるようなフィルタはかけてないです。
それで特に問題なく動作しているようですが、
このフィルタがいるようなケースってどんな場合が考えられますか?
0824nobodyさん
2005/07/11(月) 09:27:50ID:???そらいろいろあるわな
0826nobodyさん
2005/07/12(火) 01:18:23ID:???このフィルタさあ、HTML_QuickFormと合わせて使うとさ、
magic_quotesが1の時ってリクエストパラメータに2回
stripslashesがかかるような気がするんだが、、、
mojaviのリクエスト処理時と、HTML_QuickFormのリクエスト処理時にも
同じようにstripslashesしてるところがある。
俺のやり方が間違ってんのかなぁ、、、
0828nobodyさん
2005/07/12(火) 19:24:16ID:???おまいら、話の流れがさっぱりわかりませんよ。
>>823の言わんとしてるのは
if ($_SERVER['REQUEST_METHOD'] === 'GET') {
$_GET = array();
$_GET = &$request->getParameters();
} else {
$_POST = array();
$_POST = &$request->getParameters();
}
をやる必要あるの?って話じゃないの?
そこの解説ページにのってるフィルタの主な処理はコレ↑だけだしね。
とりあえず、Mojaviの他の部分で$request->setParameter()した場合の整合性合わせる用でしょ。
で、>>824は>>823へのレスだろうか?イマイチ意味がつかめなかった。
そこへ>>825==>>802(?)が再登場?(だとしたらウザイです)
何がなんだかわからん。
>>826はレスしてるように見えて、実は関係ない話くさいです。
ハイハイそうですね。stripslashes2回呼ばれちゃいますね。
でもフィルタは関係ないですよ。Mojaviの中でstripslashesしてるのはController様です。
このことから考えてMojavi2とQuickFormは仲悪そうだね。互換性に関して問題ありと。
現状での解決策としてはmagic_quotes変えるか、パッケージのソースを適宜書き換えるしかなさそうな悪寒。
>>827さん、俺も使ってないのでわかりません。
というわけで以上、チラシの裏でした。
0829nobodyさん
2005/07/12(火) 19:48:58ID:???外からのパラメータのコンテナを書き換えるなんて
かなりお行儀が悪いと思うけどどうなんだろう。
0830nobodyさん
2005/07/12(火) 21:11:30ID:???URL_FORMAT 定数を PATH フォーマットにした時の為のフィルタじゃないかな?
Action に偏移する前に一度だけ実行するような書き方になってるし、
Request::setParameter については関係ない or 考えてない気がする。
0831825
2005/07/12(火) 21:45:10ID:???802の名誉のためにいうけど810です。
わからないならいちいちレスしなくていいよ。
ウザイって漢字で書けるかい?
たいていこの言葉をつかう人は馬鹿っぽいのだが…。
0832nobodyさん
2005/07/13(水) 00:39:36ID:???823のフィルタがPATHフォーマットの場合にどういう効果をもたらすの?
ソースを見る限り、サブミット変数とRequestのパラメータを一致させてる以外に何をしてるようにも見えないんだけど。
0833nobodyさん
2005/07/13(水) 01:35:06ID:???setParameterの整合性が目的ならおかしいな…
0834nobodyさん
2005/07/13(水) 05:16:19ID:???なんか誌面(まるごとにも載ってる)さくほど、便利とはおもわないけど。
0835nobodyさん
2005/07/13(水) 05:22:49ID:TKrqqpsoいちいちゲッターセッター書くのと、いちいちnewするのとどっちか好き?
いや、どっちでもいいんだけど、、、(本質的な問題じゃないし)
0836nobodyさん
2005/07/13(水) 09:19:08ID:???Request が持つパラメータの生みの親は Controller::parseParameters()
1. HTTP GET 変数の内容を取得。
2. URL_FORMAT が 2 なら、環境変数なりサーバ変数から
PATH_INFO を手に入れて適当に分解、1 の結果へ上書き。
3. HTTP POST 変数で 2 の結果を上書き。
4. 仕上げに magic_quotes_gpc が有効になってればアンエスケープ処理。
>>823 のフィルタはこれをもう一度 HTTP GET/POST 変数に戻してる。
…という事だろう。書いてて不安になってきたぜ。
0837nobodyさん
2005/07/13(水) 10:18:54ID:???Mapleマジお勧め
クラス内で、newなんてしないで
DIコンテナ使って依存性排除した方が良いよ
コンポーネント主体の開発にするとテストが楽なのも確か
DAO・DTO・Logic作って
ActionはLogicの呼び出しとViewへの値返却だけ
って感じにすると開発も楽だよ
0839nobodyさん
2005/07/13(水) 16:42:00ID:???Mojavi内ならそうだけど
QF側ではリクエストパラメータ直見してるから、
フック的にリクエストパラメータを再設定してからQFに渡したりは出来ないじゃん。
setParameterの存在意義、いまいちわかんね。
0840nobodyさん
2005/07/13(水) 23:45:46ID:???いや、mojavi内部に保持してる
リクエストパラメータへのリファレンスを
$_GET、$_POSTに割り当ててるから
QFを生成する前にsetParameterしてやって
かつQFのリクエストメソッドと一致していれば
QFにそのsetPrameterの反映はできるよ
ただQF自体のリクエストの保持の仕方が
生成時に$_GETか$_POSTを単純にコピーしてるだけみたいなんで
生成してからは無理っぽい
ていうかsetParameter自体いらないけどな
0841nobodyさん
2005/07/14(木) 02:16:39ID:???本当に使われてるのかよ…外から見ても分からないだけか?
0842nobodyさん
2005/07/14(木) 03:05:39ID:gLe9fCRh何か良い方法はないでしょうか?
Attributeにフラグをセットして、それで判断しても出来ますが
Mojavi2に既に実装されている機能のみで出来ないかなぁと。
0843nobodyさん
2005/07/14(木) 05:04:03ID:Dw3R1ZsmMVCだろ?
0844nobodyさん
2005/07/14(木) 06:22:55ID:???0845nobodyさん
2005/07/14(木) 15:08:45ID:???遅レスですが・・・
依存性注入(この言葉には賛否両論あるみたいですが)っす
setter/getter書くの面倒ですが
それなりの対価は得られると思います
DIContainer2使うとPear使えるようになったり
factoryメソッドに注入とか出来るので
お勧めっす
0846nobodyさん
2005/07/14(木) 20:00:00ID:???お前だってあるだろう、そういう時。
0847nobodyさん
2005/07/14(木) 20:15:36ID:???煽りじゃなくて意味不明なんだけど。
じゃあMVCじゃなくてMAVCじゃん。
0848nobodyさん
2005/07/14(木) 20:18:32ID:???0849nobodyさん
2005/07/14(木) 20:34:23ID:???MVCパターン(?)とそのフレームワークと同一視してないかい?
たまたまコントローラ・ビューという言葉が同じだからといって
残りのアクションがモデルと同じと勝手に解釈しちゃだめだよ。
0850nobodyさん
2005/07/15(金) 02:51:15ID:wDw2qttAsetArrayByRefメソッドおかしくない?
Smartyクラスを assign_by_ref($array);
で呼んでるんだけどassign_by_refは以下の通り。
function assign_by_ref($tpl_var, &$value)
{
if ($tpl_var != '')
$this->_tpl_vars[$tpl_var] = &$value;
}
引数が2つあるから
Missing argument 2 for assign_by_ref()
が出るんだよ。
0851850
2005/07/15(金) 03:27:54ID:???Smartyが仕様変更したんかな?
function setArrayByRef(&$array) {
$keyArray = array_keys($array);
for ($i = 0; $i < sizeof($keyArray); $i++) {
$key = $keyArray[$i];
$this->engine->assign_by_ref($key,$array[$key]);
}
}
0852nobodyさん
2005/07/15(金) 13:35:11ID:???0853nobodyさん
2005/07/15(金) 14:11:04ID:???かなり素敵な変更なので、4.4.0は残念ながら見送り決定。
正しい仕様になったというが、なんか納得できない。
0854nobodyさん
2005/07/15(金) 14:35:16ID:???スペルミスとかの可能性大ですが、Mapleの使い方がよくわかってないため設定が正しいのか知りたいです。
どなたかよろしくお願いします。DIContainer2を使ってます。
ちょっと略してますので、以下の設定であっているのなら他の部分を当たってみます。
■Menu.class.php(アクション)
class Menu {
var $logic; var $dto;
function execute(){
$this->logic->makeMenuArray($this->dto);//<--この行でエラー
//Fatal error: Call to a member function on a non-object in PATH TO FILE line XX
中略
return "success";
}
以下セッタ・ゲッタ
}
■Menu_Logic.class.php
class Menu_Logic {
var $menuDao;
function makeMenuArray(&$dto){
$this->menuDao->makeMenuArray($dto);
}
以下セッタ・ゲッタ
}
■Menu_Dto.class.php
class Menu_Dto {
var $result;
var $a;//リクエストパラメータ
以下セッタ・ゲッタ
}
0855854続きです
2005/07/15(金) 14:36:07ID:???class Dao_MenuDao {
function makeMenuArray(&$dto){
return true;
}
■maple.ini
[DIContainer2]
filename = dicon.ini
[InjectRequest]
menuDto =
[Action]
logic = ref:menuLogic
dto = ref:menuDto
[View]
success="menu.html"
■dicon.ini
[DIContainer]
menuLogic = "component://menu.logic"
menuDto = "component://menu.dto"
menuDao = "component://dao.menudao"
[menuDao]
[menuLogic]
menuDao = ref:menuDao
[menuDto]
a = 1
どなたかよろしくお願いします。
0856nobodyさん
2005/07/15(金) 14:40:23ID:???おしえてあげません♥
0857854
2005/07/15(金) 14:55:41ID:???すみません。コメントだけいれてそのままでした。
Fatal error: Call to a member function on a non-object in PATH TO Menu.class.php line XX
0858854
2005/07/15(金) 16:13:00ID:???(Mockで確認しました。)設定の仕方が拙そうなのですが
どなたか
前記のAction Logic DTO DAO を使用した設定ファイルmaple.ini, daicon.iniの
書き方を教えていただけないでしょうか。
よろしくお願いいたします。
0860nobodyさん
2005/07/15(金) 19:18:24ID:???でないかも。
0861nobodyさん
2005/07/15(金) 20:02:42ID:???DIContainer2のdicon.iniで
コンテナ内のコンポーネントを参照するには
dicon://ComponentKey
と書きます。つまり
[menuLogic]
menuDao = "dicon://menuDao"
こうなります。
0865nobodyさん
2005/07/17(日) 01:36:27ID:2PxbHQ5lセッション使わないページの閲覧でも、モジャ内部でユーザコンテナの初期設定してるから
セッションリソースが消費されてくじゃん。
数十万アクセス/日程度になると、
そんな実トランザクションの伴わないリソース消費も半端じゃなくなると思う。
ハンドラ書き換えて、モジャ内初期設定しかされていなければ
DBへの書き込みは行わない等の処理を行えば防げそうだけど、
そんなことしてる人いる?
もっとキレイに出来ないものかとも思うけど。
0866865
2005/07/17(日) 01:51:32ID:???authenticated|b:0;attributes|a:0:{}secure|a:0:{}
がセッションハンドラのwriteメソッドに渡ってくるから、
それならDBへのinsertは無視するの。
かなり無理矢理感あるけどどうでっしゃろ。
0868nobodyさん
2005/07/17(日) 04:28:19ID:???factories.iniに
[storage]
param.auto_start="Off"
って書けばいいんじゃないの?
もしくは>>867のようにStorage自分で書くか。
0869865
2005/07/17(日) 06:26:51ID:???ストレージってM3だよね?
使ってるのM2なんだスマソ。
M2でもセッション使わない設定できるけど、
ログインユーザにはセッション使いたいから、
一括で使用禁止にはできない。
とはいえ、
ゲストユーザ(おそらく大多数)のアクセスのたびに
セッションがいちいち作られちゃうのは、リソースがもったいない。
だからセッション変数を読むだけの時は、
たとえsession_startしていてもリソースを保存しないように
しようってことです。
0870nobodyさん
2005/07/17(日) 18:34:27ID:???こりゃ使えんなぁ…
0871nobodyさん
2005/07/18(月) 07:34:11ID:???0872nobodyさん
2005/07/19(火) 05:17:48ID:???Actionの成果物を渡すだけだから
ほとんど書くことないよなー
もっとシンプルにできねーもんかな
0873nobodyさん
2005/07/19(火) 13:12:59ID:???例えばテンプレートがテーブルとかで形成されててそのセルに
html的なのを差し替えて入れなきゃならない場合なんか
Actionでデータを入手してViewで整形したり結構するんだけど
普通はActionとかでやっちゃうのかな。
0874nobodyさん
2005/07/19(火) 21:14:18ID:???入っちゃってるパターン。
>>873はテンプレートとプレゼンテーションロジックを
キッチリ分けてるパターン。
俺は>>873派。
0875nobodyさん
2005/07/21(木) 12:56:22ID:???フレームワーク導入に疑問がわいてきた…
導入の過程で学ぶ部分は多かったけど…
0877nobodyさん
2005/07/21(木) 14:07:22ID:???そんなことを憶測で語られてもw
まあ色んな意味で標準的なモノ作るのには有用だと思うけどね。
ポータル級のアクセスを前提とした場合、
既存フレームワークを使うのは違うと思う、たぶん。
0878nobodyさん
2005/07/21(木) 14:19:45ID:???別に憶測で言っているわけじゃないよ。
目的にあった道具を選ぶ事ができない -> プログラミングに向いてない、って言ってるだけだもの。
そもそも、フレームワークを使うメリットの無いところにフレームワーク使ってるだけじゃないの?
でもって、素(変な表現だけど)のphpで書いた方が圧倒的に早い! -> フレームワーク導入に疑問が!
って発想が理解できない。
そもそも何の為にフレームワーク導入しようと思ったわけ?
0879nobodyさん
2005/07/21(木) 20:26:01ID:???俺も全然使わなくても済むような事にMojavi使ってるよ。
遅くなるけど、使いたいから使ってる。
でもs2php5(フレームワークじゃねないけど)を使うメリットがわからない・・・。
わざわざMojavi内で使う必要もないと思うし。
それを必要とするくらいなら、素直にJava使う。
0881877
2005/07/21(木) 21:34:50ID:???実際に使ってみないことには向いてるか向いてないかなんて
わからないじゃん。
まあおかげでロジックは独立性が高いんで、
フレームワーク自体を差し替えるのもかなり簡単だよ。
Javaと同じ方向を目指すんじゃなくて、
PHPのアドホックな良さを生かすフレームワークが出てきても
いいんでないかなぁと思う。
美しさや整合性よりも実用性こそがPHPの美徳なのに、
行儀の良さのためにパフォーマンスを犠牲にするのは
ちょっと違くないかなぁと思う部分はあるなぁ。まあ好みだろうけど。
0883nobodyさん
2005/07/22(金) 01:53:49ID:???そういえば夏休みの時期か。
0885nobodyさん
2005/07/22(金) 08:11:38ID:???画像、パスはどうしてますか。
0886nobodyさん
2005/07/22(金) 10:31:50ID:???0887nobodyさん
2005/07/22(金) 21:32:53ID:???ウンコですねぇw
変更に強いようにフレームワーク使ってるのに
画像のことまでは頭回りませんか?
もう一度言いますけど。
ウ ン コ で す ね ぇ w
0888nobodyさん
2005/07/23(土) 00:27:29ID:???画像のリンクどーやってるのか不思議です。
たとえば
HTML
http://fandc.co.jp/engine/module/catalog/action/detail/item/1
画像パス
src=/media/catalog/pc/fc01/majo2.jpg
どうやってるんでしょうか。
0892nobodyさん
2005/07/23(土) 12:35:11ID:???そのサイト、以前もURL貼ってたな・・・
下手な宣伝乙
0894nobodyさん
2005/07/23(土) 16:51:26ID:???0895nobodyさん
2005/07/25(月) 14:34:17ID:???本家サイトのフォーラムにいろいろ貼ってあるよ
M2
ttp://www.weddingworld.co.uk/
ttp://xchangezone.com/
ttp://www.onpointtactical.com/
ttp://www.redcarpethost.com/
ttp://www.linkamigo.com/
ttp://www.maximonline.de/index.php/Maxim/Index
M3
ttp://reportcafe.com/
http://www.kuato.org/
まだまだM3ベースのサイトは少ないみたいね
0897nobodyさん
2005/07/25(月) 16:10:54ID:???フレームワークのせいで遅いと判断するんだw
0898nobodyさん
2005/07/25(月) 16:34:58ID:???実際自分で作ってても遅いし。
快適性よりも、
それだけ負荷がかかっていると考えると、
アクセスが集中した時がコワイとおもふ。
0899nobodyさん
2005/07/26(火) 02:00:11ID:???http://reportcafe.com/index.php
↑ここ見てみたが、全然速いじゃん。
0901nobodyさん
2005/07/26(火) 02:20:46ID:???0902nobodyさん
2005/07/26(火) 08:53:42ID:???もっと晒せよ
韓国のやつよかったわ。
0903nobodyさん
2005/07/26(火) 12:02:00ID:???いや、でもサインアップして中をのぞいたわけじゃないから何とも言えないけど。
ユーザー登録とかして色々使ってみた香具師いたら感想求む。
あと、韓国語読める香具師の感想も求む。w
0904nobodyさん
2005/07/26(火) 17:37:24ID:???0905nobodyさん
2005/07/26(火) 17:42:23ID:???最近adSenseって引数付きURLでも問題なく広告出るようになったんだね
Mojavi使うならmod_rewriteでhtmlっぽいURLに偽装しなくちゃなあと思っていたが。
0907nobodyさん
2005/07/26(火) 19:49:35ID:???パフォーマンスに問題なしってことでおk?
0908nobodyさん
2005/07/26(火) 20:11:36ID:???つーことはM3?
0910nobodyさん
2005/07/27(水) 01:54:31ID:???毎回ファイル開きまくり、オブジェクト作りまくりなフレームワークは
パフォーマンスに問題ありなんですね
0911nobodyさん
2005/07/28(木) 02:02:19ID:???あたりまえだ。
まともにフレームワークが使える人は毎回ファイル開きまくり、オブジェクト作りまくりな作り方なんてしない。
上手にキャッシュ化させるのが普通。
だからお前はアホなんです。
0912nobodyさん
2005/07/28(木) 08:30:27ID:ObHQdyUsどうやるんですか?
既刊のフレームワーク関連記事でもキャッシュによる高速化なんて
見たことないですが、そんなに一般的なんですか?
0913nobodyさん
2005/07/28(木) 08:31:56ID:???0914nobodyさん
2005/07/28(木) 10:04:42ID:???0916nobodyさん
2005/07/28(木) 14:32:58ID:???0917nobodyさん
2005/07/28(木) 14:34:52ID:???mojaviはアクセスがある度にControllerやらRequestやらのオブジェクト作りまくりだと思うんですが・・・
0918nobodyさん
2005/07/28(木) 14:48:03ID:???>見たことないですが、そんなに一般的なんですか?
>>913>>914>>916
ほら、もうこんなに出てきたよ?今まで何を見てきたの?
0919nobodyさん
2005/07/28(木) 14:51:29ID:???つくりまくりなんてほどじゃない。その程度なら全然問題にならないってw
それすら気になる規模のアクセスなら、もはやPHP使う領域じゃない。
0922nobodyさん
2005/07/28(木) 15:19:25ID:???つられて自分で煽ってたら説得力ないな
フレームワークに限らずWebシステムでのキャッシュによる高速化なんて当たり前。
そんな発狂せずに自分の無知を紳士に受け止めて勉強しようね
http://www.google.com/search?sourceid=mozclient&ie=utf-8&oe=utf-8&q=web%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0+%E3%82%AD%E3%83%A3%E3%83%83%E3%82%B7%E3%83%A5
0924nobodyさん
2005/07/28(木) 15:21:09ID:???0925nobodyさん
2005/07/28(木) 18:44:14ID:???>予想通りの答え乙。
自分が馬鹿にされること予想できてたのに発言してたのか…
もう流石としかいいようがない
0926nobodyさん
2005/07/31(日) 04:24:38ID:???http://forum.mojavi.org/index.php?showtopic=1214&view=findpost&p=6448
これがあってもどのみちPEARの対応待ちなんだけどね・・・
0927nobodyさん
2005/07/31(日) 04:27:24ID:???0928nobodyさん
2005/08/03(水) 17:42:43ID:???0929nobodyさん
2005/08/03(水) 17:43:24ID:???0930nobodyさん
2005/08/03(水) 20:31:31ID:???0931nobodyさん
2005/08/03(水) 22:15:56ID:???だせーな(w
0932nobodyさん
2005/08/03(水) 22:22:37ID:???0933nobodyさん
2005/08/03(水) 22:27:41ID:???次のFilter呼ばないととまっちまうわ
一度しか実行されないようフラグ管理もしなくちゃならんわ
オリフレ最高
0934nobodyさん
2005/08/04(木) 17:35:29ID:???LogicはいちいちSingleton機構書くのが面倒
PHP4ならincludeも面倒。
LogicManagerはgetLogicするだけで
存在しなければinclude&生成し、
既にあればそれを返してくれるという優れモノだよ。
オリフレ最高。
0935nobodyさん
2005/08/04(木) 21:55:13ID:???getCookieはあるのにsetCookieがないのは何故?
0936nobodyさん
2005/08/04(木) 22:12:04ID:???0937nobodyさん
2005/08/04(木) 22:17:27ID:???それを言ったらRequestとは別にResult等を用意した方が
いいと思う。
0939nobodyさん
2005/08/04(木) 22:30:05ID:???その役目を果たすコンテナとしてResultって話。
0940nobodyさん
2005/08/05(金) 02:33:38ID:???てかSmarty遅っ!!
遅いとは思っていたが数字で比較すると遅さを再確認した。
キャッシュ以前に、オブジェクトとしてデカすぎるもんな。
0942nobodyさん
2005/08/05(金) 02:38:21ID:???テンプレートの荒野に解き放てば
一寸法師も真っ青な獅子奮迅の大活躍をしてくれるわけで。
Smartyなんていらねーんだよディック野郎( ゚д゚)、ペッ
0944nobodyさん
2005/08/05(金) 10:20:31ID:???Smartyスレで暴れてたやつか?
オレは速度を最優先するならフレームワークなんか使わない。
0945nobodyさん
2005/08/05(金) 10:53:35ID:???Smartyやめて自前でテンプレートシステム書いたんですか?
0946nobodyさん
2005/08/05(金) 11:12:49ID:???キャッシュ処理自体を自前で書けばもっと早いだろうけど、めんどくさ。
0947nobodyさん
2005/08/05(金) 13:09:12ID:???Smartyの特徴的な機能って
自分でやってみればわりと簡単に実装できるよ
もともとphpに、出力をバッファリングしたり
それを変数に入れたりするコマンドがあるからね。
既製品は多くの人の要請に答えざるを得ないから、
宿命的に重くなっていく。
イラナイ機能のためにオーバーヘッドが生まれるのは
俺は好きくないな。
ただ間違いなく勉強にはなるので、やっておいて損はないとは思うが。
0949nobodyさん
2005/08/05(金) 14:49:30ID:???オーバーヘッドがとか軽くとか言ってる方っていったいどれだけ大規模な案件を抱えていらっしゃるんですか?
0950nobodyさん
2005/08/05(金) 15:28:15ID:???あれ自分で実装するの?メンテも自分で?勘弁してよ。
0951nobodyさん
2005/08/05(金) 18:23:04ID:???それは君の組み方が上手いのもあると思う。
他にデータ量とか、マシンスペックとかによっても体感の重さは変わってくるし。
0952nobodyさん
2005/08/06(土) 02:49:51ID:???非SmartyはSmartyの10%程度しか速くならないことが分かった
結局Smartyに戻したよ orz
0953nobodyさん
2005/08/06(土) 03:28:19ID:???個人でやるならオレオレフレームワーク+オレオレテンプレートエンジンで
カリカリにチューニングして自己満足も良いけど
保守性を考えたら出来合いのある程度普及してるやつ使った方が吉。
多くの場合、いちばんコストがかかるのはビジネスロジックなんだし。
サーバや回線のスペックは富豪的に解決する方向で。
0954nobodyさん
2005/08/06(土) 15:28:01ID:???0955nobodyさん
2005/08/06(土) 18:23:36ID:???金かけるだけでいい部分は、金出しときゃいいんだよな。
0956nobodyさん
2005/08/06(土) 18:40:01ID:???0957nobodyさん
2005/08/06(土) 20:32:22ID:???次スレはここがモジャスレになるのかな。
0958nobodyさん
2005/08/06(土) 23:50:33ID:???俺様しか使わないなら普通に書きまくったほうが早いに決まってる。
0959nobodyさん
2005/08/07(日) 00:19:15ID:???フレームワーク的な手法(フロントコントローラパターン、MVCパターン等)は
保守性を桁違いに上げるから無意味とは言えないだろう。
0960nobodyさん
2005/08/07(日) 00:39:30ID:???そうだね。
でも速度重視で俺様やるくらいなら、Cで書いたほうがよっぽど良い。
そんな俺はCなんてここ数年触ってない。
学生時代は気が狂ったようにCでガリガリコーディングしてたのに。
0961nobodyさん
2005/08/07(日) 17:38:15ID:???> でも速度重視で俺様やるくらいなら、Cで書いたほうがよっぽど良い。
CでCGI書いちゃったら結局はモジュール版より遅くなりそう。
PHPはZend Optimizer使うとさらに速くなるのかな?よく知らないけど。
ま、アルゴリズムが複雑になってくるとCの方が圧倒的に速いだろうけど、所詮Webだしなぁ。
>>959は同意。
0963nobodyさん
2005/08/08(月) 05:34:58ID:???これ結構よさげ
0964nobodyさん
2005/08/08(月) 06:31:34ID:???どういうところをよさげだと思ったのかぐらい書いてくれよー
次スレどうすんの?
PHPフレームワーク総合?
テンプレ作成よろ>1
0965nobodyさん
2005/08/08(月) 07:45:56ID:???http://angelicwing.net/diary/4069.html
0969nobodyさん
2005/08/08(月) 13:58:03ID:???Ethnaで認証を作ってるんですけど、
コントローラ→アクション→処理クラス→アクション→ビューという
遷移ですよね?
アクションの中で具体的な処理を書くのはダメみたいなので、
処理クラスを作ってそこで認証の処理をしてるんですけど
そこで、認証してユーザIDを表示したいときには、
呼び出し元のアクションクラス内でSmarty用の値設定をするのか
処理クラスのところで、Smarty用の値設定をするのかどちらが
いいのでしょうか?
PHP自体もよくわかってないところが結構あるので、
くだ質の方のネタかもしれませんけど、よろしくお願いします<m(_)m>
0970nobodyさん
2005/08/08(月) 15:04:49ID:???アドバンテージって何?
開発停止していたM3の続きを作ったってことかい?
0971nobodyさん
2005/08/08(月) 15:14:23ID:???0972nobodyさん
2005/08/08(月) 18:17:07ID:???ほとんど同じなのもメリットのひとつだし、細かいところ良くなってるよ。
例えば、今までたびたび問題になってたクラスの2重定義の問題も、モジュール名を頭につけることで解決されてる。
ファイル名にはつけなくて済むので名前はそこまで長くならないし。
でもやっぱり一番いいのは、M3と違って「ちゃんと開発進める気がある」ということ。
0973nobodyさん
2005/08/08(月) 18:52:20ID:???今はどれも依存できる程熟成してないから
考え方をパクってスキルだけ付けといて
0974nobodyさん
2005/08/08(月) 19:20:06ID:???自分で作ってたら、あとでいいものが出回ったとき効率悪いし
0975nobodyさん
2005/08/08(月) 20:14:16ID:???Mojaviが広まったのは名前の良さもあると思う。
0976nobodyさん
2005/08/09(火) 00:11:15ID:3zLdS2yd0977nobodyさん
2005/08/09(火) 02:12:52ID:???Ethna使ってないけどアクションクラス(かビュー)で設定するもんじゃないのかな。
よく知らないけどEthnaはアクションフォームとかを使うんじゃないの?
リクエストパラメータしか使えないのかな。
0979nobodyさん
2005/08/09(火) 02:49:42ID:???0980nobodyさん
2005/08/09(火) 02:55:31ID:???どうせデザパタやらはPHP5でこれから必須になるだろうし。
0981nobodyさん
2005/08/09(火) 03:53:28ID:???0982nobodyさん
2005/08/09(火) 07:01:53ID:???どうすりゃいいの?
Ajax用のJSを吐く時等
ExecutionTimeFilterとかは実行したくないんだけど
0984nobodyさん
2005/08/09(火) 07:19:38ID:???Viewをなくしたらかなり楽ちんになったよ
ビジネスロジックはLogicが担当するし
同じプレゼンテーション層のActionとViewを分けるのは
冗長と思う。
ビジネスロジックをActionに書くやり方なら
きっちり分けないと気持ち悪いけど。
あとMapleのConverterも取り入れてこれまた便利。
ConverterもValidatorも、Actionからは
設定の連想配列を返せばいいだけ。
後はContorollerの方で各オブジェクトを勝手に作ってくれる。
こんなことが出来るのもオリフレだけ。
オリフレ最高。
0985nobodyさん
2005/08/09(火) 07:50:00ID:???0987nobodyさん
2005/08/09(火) 10:30:21ID:???ExecutionTimeFilterを実行したくないならwebapp/config/filters.iniの該当項目をコメントアウトしたら?
自作フィルタで特定のアクション等に対して実行したくないものは、そのフィルタの中でふるいわけるとか。
そもそもExecutionTimeFilterって、「フィルタの使い方のお手本」的な存在だと思ってた。
まあ時間測定もそれなりの意味はあるけど。
0988nobodyさん
2005/08/09(火) 16:28:59ID:???やっぱりフィルタ内で判断するのがいいかな。
ExecutionFilterは処理ごとの重さが判断できるから
開発中は付けてるよ。
DB接続のコストって結構高いんだなーとか思いながら見てる。
0989nobodyさん
2005/08/09(火) 23:29:19ID:???PHPフレームワークについて語るスレ
※フレームワーク
Phrame本家
http://phrame.sourceforge.net/
Mojavi Project
http://www.mojavi.org/
mojavijapan
http://mojavi.p0t.jp/
Mojavi
http://agavi.org/
Maple Project
http://kunit.jp/maple/
Ethna -PHPウェブアプリケーションフレームワーク-
http://ethna.jp/ethna-tutorial-startup-practice1.html
※関連スレ
【PHP】フレームワークMapleに舌鼓
http://pc8.2ch.net/test/read.cgi/php/1122105465/
【PHPフレームワーク】Ethna【スケルトン自動作成】
http://pc8.2ch.net/test/read.cgi/php/1123070439/
PHPでオブジェクト指向プログラミング
http://pc8.2ch.net/test/read.cgi/php/1113724557/
0990nobodyさん
2005/08/09(火) 23:29:27ID:???※解説ページ
開発談義/FrameWorkはどれがいい? - PukiWiki
http://w-project.org/pukiwiki/index.php?%B3%AB%C8%AF%C3%CC%B5%C1%2FFrameWork%A4%CF%A4%C9%A4%EC%A4%AC%A4%A4%A4%A4%A1%A9
PHP用MVCフレームワーク Mojavi第1回:フレームワークとMojavi
https://www.stackasterisk.jp/tech/php/mojavi01_01.jsp
いまのところ、ここの解説が一番詳しいかな?
http://mojavi.try-angle.biz/wiki/
mojaviビギナーのチュートリアルだ。
http://www.peterrobins.co.uk/it/mojavi/tutorial.htm
こっちだったスマソ。
http://www.lyricfathom.com/pukiwiki/pukiwiki.php?Phrame%B2%FE%C2%A4
Phrameを使ってみよう
http://www.lyricfathom.com/pukiwiki/pukiwiki.php?Phrame%A4%F2%BB%C8%A4%C3%A4%C6%A4%DF%A4%E8%A4%A6
0991nobodyさん
2005/08/09(火) 23:30:39ID:???【PHP】Phrameを使う【フレームワーク】
http://pc8.2ch.net/test/read.cgi/php/1093238107/
スレ名
【PHP】フレームワーク総合
0992nobodyさん
2005/08/09(火) 23:34:14ID:???0993nobodyさん
2005/08/09(火) 23:51:15ID:???いれときますー。
Agavi PHP MVC Framework(Mojavi後継?)
http://agavi.org/
http://agavi.jp/
0994nobodyさん
2005/08/09(火) 23:51:59ID:???http://agavi.org/
Agavi.JP
http://agavi.jp/
0995nobodyさん
2005/08/10(水) 01:12:15ID:???Attributeだけでなく、Parameterも使えるんだね。
RequestもParameterとAttributeの二種類のコンテナを持ってる。
それならParameterとAttributeの両方を持った基底クラス作った方が
いいように思うけど
何でないんだろう。
0996nobodyさん
2005/08/10(水) 02:22:18ID:???【PHP】フレームワークについて語るスレ【総合】@WebProg
http://pc8.2ch.net/test/read.cgi/php/1123608068/l50
0997nobodyさん
2005/08/10(水) 03:37:50ID:???0998nobodyさん
2005/08/10(水) 04:09:58ID:???想像だけど、モジャ作者の心情は
・初めはAttributeなど使わず開発
・やっぱりUser、Request、ViewあたりにはParameterとは別口にAttributeも必要になってきた
・後でAttributeHolderでもつくろうかなぁ、と妄想
・マンドクセ、ヤーメタ (agaviよろ)
って感じか。
0999nobodyさん
2005/08/10(水) 16:52:03ID:???便利ではあるんだけど
名前が使われ方に反映していない気がするな。
Request/Parameter=リクエストパラメータだからこれはいいとして
UserのAttribute=セッションってのはちょっと分かりにくい。
Request/AttributeとUser/Parameterが
汎用データコンテナになってるけど
AttributeとParameterの名称がクロスになっていて
何だか分かりにくい気がする。
1000nobodyさん
2005/08/10(水) 21:25:20ID:???AttributeとParameterの使い分け基準ていうのは何なんだろう?
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。