トップページ⇒php
1001コメント326KB

【PHP】Phrameを使う【フレームワーク】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん04/08/23 14:15ID:???
PHP用フレームワーク「Phrame」について語るスレ

※関連リンク

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
0322nobodyさん05/02/19 15:54:48ID:???
フレームワークの利点を理解できていないという理解がレスを理解できていないということを理解していないという理解だと理解したw
0323nobodyさん05/02/19 16:01:24ID:???
↑翻訳キボンヌ
0324nobodyさん05/02/19 16:02:31ID:???
>322
ようするに>304はバカだと
0325nobodyさん05/02/19 16:08:10ID:???
>>321
こういう”どうでもいい”レスをする奴が低レベルな煽りを入れてんだろうなあ
0326nobodyさん05/02/19 16:15:24ID:???
結局文盲が勝手に煽られたと思って騒いでただけじゃん
真面目にフレームワークの話をしてくれた人が浮かばれねーですよ
0327nobodyさん05/02/19 16:24:35ID:???
PradoとMojavi3どっちがくると思いますか?
多分今後広く使われていきそうなのはこの2つだと思うんだけど。
0328nobodyさん05/02/19 16:36:55ID:???
>>320
だから誤解じゃなくて、お前が理解できてないんだって。
>>>302に対し、「ライブラリを統一するよりFWで統一する」と、ナンセ
>ンスなレスを返してたから。
>>313読んでから書け。
032930405/02/19 16:47:35ID:???
>>328
ためしに聞いてみるけど、俺が「何を」理解できてないと思ってるの?
0330nobodyさん05/02/19 16:57:49ID:???
>>329
もうこれ以上つまんないレスするなら消えてほしいんですが
0331nobodyさん05/02/19 17:01:50ID:???
ここで土管マン登場!

    .L二二」
    |    |
    ヽ|・∀・|ノ
    |    |
    .L二二」







    .L二二」
   、|    | //
  ヽ       ∴
  ゝ∴  ├¨力 ン
 −  ∵     ∵
  //|^^”^lヽ ヽ
    .L二二」
0332nobodyさん05/02/19 17:04:36ID:???
>>329
>ためしに聞いてみるけど、俺が「何を」理解できてないと思ってるの
君のせいで、まともなネタすら煽りレスに流されてしまっているということ。
そして、君がいなくなればそれらが全ておさまるということを、まったく理解できていない。
0333nobodyさん05/02/19 17:10:48ID:???
>>329
フレームワークのメリットが理解できてないと思われてんじゃないのw
お相手さんは目が真っ赤だから、何を言ってもフレームワークの話に聞こえんだよ

>>331
土管乙
0334nobodyさん05/02/19 17:13:47ID:???
>>304乙
0335nobodyさん05/02/19 17:14:59ID:???
>>332
たしかに土管マンも切ない限りだな。
0336nobodyさん05/02/19 17:16:52ID:???
目が真っ赤で土管マンの登場の意味すら理解できていない>>333
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'゛
033833305/02/19 17:25:12ID:???
真っ赤に反応するのかw
0339nobodyさん05/02/19 17:28:43ID:???
>>304>>333が理解できてないといわれると反応するのと一緒だなw
034030405/02/19 17:42:03ID:???
まあ香ばしくなってきましたが、話の通じそうな>>328待ちということで。

流れそうなので先に「理解」について書くいておくと、俺は>>328が、
俺のことをフレームワークを云々している男だと思っていて、そのフレー
ムワークの「理解」に間違いがあると思っているので、>>313を読んで、
考えを改めなさいと言おうとしている、と思っている。

で俺は、>>328がいまだに、>>304(俺)がたんにレスの読解の仕方で
恣意的に分けただけ、ということを「理解」していないと思っている。

↑いまここ。
034132105/02/19 17:44:59ID:???
>>340
も一回、>>321読めよ。
034230405/02/19 17:46:37ID:???
> >>>302に対し、「ライブラリを統一するよりFWで統一する」と、ナンセ
> >ンスなレスを返してたから。

もしかしたらこの引用も、俺がFWで統一するのがナンセンス
だと思っていると「理解」されてるのかね。さすがにそこまでは
ないと思うけど、何か書いてくれないと分からないよ。
0343nobodyさん05/02/19 17:52:11ID:???
0344nobodyさん05/02/19 18:03:00ID:???
>>327
じゃあどっちもくるんじゃね?
0345nobodyさん05/02/19 18:38:59ID:???
>>342
>>330-332>>337を読め
0346nobodyさん05/02/19 18:48:35ID:???
          ,;r'"´;;;;;;;;;;;;;;;;;;;;;;;;;;`ヽ、
         ,r'";;;;:::::;彡-=―-=:、;;;;;;ヽ、
        /;;ィ''"´  _,,,,....ニ、 ,.,_ `ヾ;;;;〉
         `i!:: ,rニ彡三=、' ゙''ニ≧=、!´  
        r'ニヽ,   ( ・ソ,; (、・')  i'
         ll' '゙ ,;:'''"´~~,f_,,j  ヾ~`''ヾ.     
        ヽ) , :    ''" `ー''^ヘ   i!     標準以下の知能しかないから
        ll`7´    _,r''二ニヽ.     l   何か書いてくれないと分からないよ…
        !:::     ^''"''ー-=゙ゝ    リ
        l;:::      ヾ゙゙`^''フ    /
        人、      `゙’゙::.   イ
0347nobodyさん05/02/19 18:58:03ID:???
>>345
何にしてもボロボロすぎだ
0348nobodyさん05/02/19 19:02:00ID:???
消えろって言って消えるような奴は>>304みたいなレスしないよな。
ほっとけばそのうち他のスレにからみにいくだろう。
0349nobodyさん05/02/19 19:02:30ID:???
(゚Д゚)ハァ? これで終わりかよ?
0350nobodyさん05/02/19 19:08:56ID:???
おい>304、理屈こねてーでフレームワークの一つや二つ作って
公開してみろや。話はそれからだ。
0351nobodyさん05/02/19 19:12:08ID:???
>>350
このレスはさすがに>>304の自演くさいな…
0352nobodyさん05/02/19 19:30:50ID:???
意味分からん
ログ流そうとしてるようにしか見えないんだが
0353nobodyさん05/02/19 19:34:30ID:???
>>351-352
(・∀・)イイヨーイイヨ-
0354nobodyさん05/02/19 19:48:05ID:???
http://www6.big.or.jp/~beyond/bbsnews/2ch/top/php.html
スレッドランキングから記念真紀子
0355nobodyさん05/02/19 20:32:57ID:???
ワロスw
大人気じゃんか
0356nobodyさん05/02/19 20:51:49ID:???
Mojavi3ってまだデータベース関係のクラスできあがってない?
とりあえずセッション関係はmysqlで動作することは確認できたんだけど。
だれか詳しい人いませんかー
0357nobodyさん05/02/19 21:01:15ID:???
良スレと思っていたら Mojavi や Maple の認知が上がるに従い質低下、挙げ句、自分以下探しで荒れる、と。
ここ最近は初期のスレ住民からの書き込みが絶えてるし。旬も終わったな。

>>356
釣り?
0358nobodyさん05/02/19 21:03:46ID:???
できてるよ。
コネクションしかサポートしてないけど
0359nobodyさん05/02/19 21:31:40ID:???
>>357
もっと具体的に言ってごらん?
0360nobodyさん05/02/19 21:50:49ID:???
Phramest
0361nobodyさん05/02/19 22:29:21ID:???
>>358
ごめん。コネクションまでは確認したんですよ。
その先の話。
0362nobodyさん05/02/19 22:36:42ID:???
>>357
そう思うのはかまわないけど、その連中にまじって一緒に質の低い書き込み
をするなよ。
0363nobodyさん05/02/19 22:38:10ID:???
フレームワークも知らずにWebプログラマを語るな。
0364nobodyさん05/02/19 22:40:38ID:???
>>363
誰がWebプログラマを語ってたの?
0365nobodyさん05/02/20 07:07:08ID:???
昨日突然錯乱した厨房!今日も期待してるぞww
0366nobodyさん05/02/20 08:03:19ID:???
夜を徹してprado使ってみたよ
phpmvcから乗り換えようと思ってて、とにかく開発スピードが異様に速かったこれが目に付いた
mojaviより魅力を感じたのはUIをコンポーネント化してる部分なんだが、先輩方にはおおむね不評w
マクロメディアの製品みたいなどと言われた。よく分からん

html自体データを抽象化するものだから冗長という気もするが、俺はこのコンセプトに惚れた
テンプレートにはあれこれ書かないんだから、HTMLをパースしてオブジェクトにマッピングしてくれても
いいように思ったが、、、つかそういうのもうあるかも

青果関係のシステムを仮想目標に弄ってるんだけど、そのままだとオモイ
とにかく膨大なオブジェクトがにあるのでアクセスごとに初期化するのが苦しいようだ
JavaやASPに近づけ過ぎるとこうなるという典型のよう
あと、pearの目的に特化したライブラリに比べると機能的にはかなり薄い、DAOとか。他のフレームワークも
似たようなもんだが、バージョン2ならもうちょっと充実しててもいいんではなかろうか

書きなぐりで悪いけど第一印象はそんな感じ

コンポーネントベースなので、各部分について順に学ぶことができる。フレームワークって
なんぞやと思ってる人や、mojaviのチュートリアルじゃ覚わらんつー人なんかにはバッチリ
とりあえずさわってみて感想きぼん
0367nobodyさん05/02/20 08:24:20ID:???
>>366
別にMacromediaの専売じゃあなく、XMLでUI定義するのは流行り。
Java/Servletのゴタゴタしたカスタムタグよりだいぶマシだと思うが。
0368nobodyさん05/02/20 09:13:52ID:???

おまえらフレームワーク使いたいなら素直にJavaやれ
0369nobodyさん05/02/20 09:20:37ID:???
PRADOが良く見えるのはフレームワークとしての輪郭がはっきりしているからだろう。
概念化のレベルでの完成度が高く全体を単一の仕様で固められるので魅力的。
しかしLLとしてはMojaviが正解だと信じたいね。どちらが抜けていくか知らないけれども。
0370nobodyさん05/02/20 10:10:39ID:???
俺はmojavi3使ってる
mojavi2と比較してモジュールの設計が更に洗練されてるよ。
2ではrenderer、session、auth周りがごちゃごちゃしてる印象を
受けたけど、それが改善されてフレームワークとしての統一感が
強くなったように思う。
それに今までcontroller、request、userインスタンスをメソッドの引数として
受け渡ししてたけど、それらをContextクラスで管理するようなったから
かなりスマートになってる。
例えば、Actionクラスのメソッド内で
$request = $this->getContext->getRequest();
こんな感じで参照できるようになった。
あとActionChainがなくなってそれに変わる新しい機能が加わった。
Decoratorパターンを使ったグローバルテンプレートを作成する機能で
例えばメニューとメインコンテンツを表示する2つのActionがあったとして
それらを同時に表示したい場合に効果を発揮する。

まあmojaviのソースを追ってる人にとっては何を今さらと思うだろうけど。
pradoやmapleは使ったことないので、比較できないけど出来る人がいたら
レビューキボン
0371nobodyさん05/02/20 15:08:26ID:???
>>370
mapleはPradoやMojavi3と比較できるもんじゃないな。
Mojavi3はまだデブなんでなんとも
0372nobodyさん05/02/20 15:15:33ID:???
久しぶりに公式見たらMojaviに曲まで付いててワロタ
こりゃMapleも対抗しないとダメだね勝てないね

・・・魔法少女リリカルめいぷる?
0373nobodyさん05/02/20 15:23:11ID:???
>>369
Javaユーザでプリミティブなものが好きな人間もいると思うが
0374nobodyさん05/02/20 15:33:30ID:???
>>370
じぶんで使ってみた方が早くない?
0375nobodyさん05/02/20 15:37:40ID:???
モハビって言いにくいよね。
モジャビでいいじゃん。
0376nobodyさん05/02/20 16:15:25ID:???
Mojavi3のマニュアルの
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()
↑
これの間違いじゃない?
0377nobodyさん05/02/21 00:25:07ID:???
>>365
結局お前が最後の錯乱厨だったみたいだな…
0378nobodyさん05/02/23 03:34:18ID:BVhjzCDD
 Call to a member function on a non-object in /var/www/php/mojavi/mojavi/mojavi-all-classes.php on line 413
というエラーが出る。何でだろう?
一応、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;
    }
}
?>
037937805/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:???
Actionのexecuteで$userに'hoge'を入れてる
$userにはMojaviのUserオブジェクトが入ってるから変数として使っちゃダメよ
0381nobodyさん05/02/23 12:02:50ID:???
>>380
ありがとう。とりあえず、一つ解決しました。
0382nobodyさん05/02/23 23:18:01ID:???
誰かMojaviの日本語マニュアル書けよ。
0383nobodyさん05/02/24 00:42:56ID:???
>>382
ガンガレ

期待してるぞ。
0384nobodyさん05/02/24 03:29:15ID:???
http://ozaki.kyoichi.jp/mojavi3/index.html
ここの人のPEARの組み込み方ってかなり変じゃない?
0385nobodyさん05/02/24 12:17:26ID:???
>>384
具体的にどう変かね。DAO経由でアクセスしようとしていると思うのだけれど、
それは好みでしょ。変とかじゃないと思うが。
0386nobodyさん05/02/24 23:39:58ID:???
おいお前等こんな貧乏臭いシェアなんか使うなよ。馬鹿にされんぞ?
プログラマなら秀丸なんかより便利で高機能なプラグインが充実してる
Eclipse使うべきだし、物書きならワープロソフト買えよ。
秀丸と言う選択はねーだろ。マジで。
0387nobodyさん05/02/24 23:49:17ID:???
>>386
誤爆?
0388nobodyさん05/02/25 00:01:07ID:???
>>386
多くの職業物書きがエディタで書いてることを知らない誤爆クン。
まあ秀丸を使ってるかは別だが。
0389nobodyさん05/02/25 00:50:04ID:???
emacsのキーバインドが使えれば何でもええよ。
>>382 期待してるぞ
0390nobodyさん05/02/25 01:19:42ID:???
>>382は超がんがれ。
0391nobodyさん05/02/25 04:30:05ID:???
>>385
作者さんがそう思われるなら…もうなにもいうまい
0392nobodyさん05/02/25 05:18:31ID:???
>>391
おはよーございます。
ところで、作者さんじゃないんですが…。
コード見ても「ふーん」くらいにしか思わないんですけど
どこが変なの?
0393nobodyさん05/02/26 00:06:03ID:???
mojavi使おうと思ってるんだけど、template engineって何が良いだろうか?
smarty?、flexy?その他?

smartyスレで聞いたほうが良いかなぁ?
0394nobodyさん05/02/26 03:42:18ID:???
>>392
コードが変なんじゃなくて組み込み方が変なんです。
database.iniがあるのにconfig.phpにdefineしてる時点で
おかしいと思いませんか?
個人の好みでこんな書き方しちゃうなら、フレームワーク
使う必要ないと思うんですが。
0395nobodyさん05/02/26 09:12:37ID:???
>>394
それはmojavi3の新機能なの?
mojavi2しか使ってないからdatabase.iniなんて知らなかったよ。
0396nobodyさん05/02/26 10:35:21ID:???
mojavi3、もちっとドキュメントを・・・・・・・
天才mojaviマスターの方、日本語解説を・・・・・
0397nobodyさん05/03/04 17:48:15ID:???
フジモトセンセ、Ethna Power"e"dだと思うのですが・・・
0398nobodyさん05/03/04 17:53:26ID:???
おっとすごいとこでツッコミをいただきましたね。ありがとうございます。
なおしときますー。

や、あのロゴとページつくったの僕じゃないんですょ...(一応いいわけ)
0399nobodyさん05/03/04 18:08:41ID:???
こんな過疎スレに即レスがあってビビってる漏れガイル
ちなみに前者のほうが好きな色合いなだ
0400nobodyさん05/03/04 18:50:57ID:???
ちょうどEthnaの時間だったので。だいぶ偶然ですねー。
0401nobodyさん05/03/12 21:30:50ID:???
mojaviであるアクションを別のアクションに遷移させるとき以下のようなコードを書きますよね?
//----HogeListAction.class.php-------
//前略
if($request->hasParameter('hoge')){
$controller->forward('Fuga','HogeAdd');
return VIEW_NONE;
}
//後略
で、何故かうまく遷移してくれません。上記コードのreturnの前にvar_dump($request);を仕込んだら
ちゃんと$requestの内容が表示されました。
やりたいことは、Index → HogeList → HogeAddのように遷移させることです。
なにか、「ここはチェックしろ」等あったら、教えてください。
0402nobodyさん05/03/12 22:13:44ID:???
>>401
GET | POSTがそのままforward先のActionに伝わるのを見落としてるとか
0403nobodyさん05/03/12 22:40:25ID:???
mojaviのすれはPhrameだったのか・・・
040440105/03/12 22:44:23ID:???
>>402
即レス感謝です。
それは、別の所で散々はまったので、ちゃんと
$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:???
>>404
んー、debug_backtrace()で取れるもんなのかね?使ったことないからよくわからん
ていうか処理は多分HogeAddに移ってると思うから、
HogeAdd内の処理を見直したほうがいいんじゃないだろうか
040640105/03/13 00:00:16ID:???
>>405
別のアクションを作りながら、色んな所にecho突っ込んでみたら、
HogeAddのinitialize()の中までは来てました。
同じようにexecuteとgetDefaultViewにもecho入れてみたら、
そいつらは表示されませんでした。

んー、HogeAdd内の処理ですか。特に何もしてないんですけどね。
長いと言われたので一旦切ります。
040740105/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:???
$request->hasParameter('hoge')はちゃんとtrueを返してる?
040940105/03/13 00:04:34ID:???
連投スマソ。

今、試しにvalidate()の返り値をtrueにしてみたら、ちゃんと表示したいモノが表示されました。
てことは、validate()の中で、場合分けしてやればいいんですね。
もしかしてコレが、>>402の
> GET | POSTがそのままforward先のActionに伝わるのを見落としてるとか
に関わってくるんでしょうか?

うーん、謎だ。
041040105/03/13 00:06:58ID:???
>>408
それは、何度もvar_dump()で確認しているので大丈夫です。
>>401の後半にも確認した方法が書いてありますです。
0411nobodyさん05/03/13 00:08:27ID:???
おおっと、これは失礼した
041240105/03/13 00:18:36ID:???
なんとか解決しました。
>>405のレスをヒントに内容を見直しました。
>>407で$form->addRule()してたヤツを全部Viewに移したら、
ちゃんと望み通りの動作になりました。

つまり、HogeList → HogeAddに遷移したときにinitializeに書いてある$form->addRule()に
反応して、validate()が意図しないところで働いてくれたため、というのが真相のようです。

>レスしてくれた方々
どうもありがとうございました。
041340105/03/13 02:21:19ID:???
>412はちょっと嘘です。
Viewに鯖側の$form->addRule()を書いても利きませんです。
なので、>409の通りにvalidate()の中で、場合分けするのがいいみたいです。

一応、訂正だけ。
0414nobodyさん05/03/13 04:14:53ID:???
それもMojaviのActionFowardで陥りやすいミスだわな
リクエストがそのまま渡るから、getRequestMethods()で返されてるメソッドがきた場合に
Validatorが動作しちゃって、前のActionに渡したつもりのパラメータが検証されてしまう

そういうこともあってどうしてもController::redirect()を多用することになっちゃうんだよなー
何かうまい解決法はあるんだろうか
0415nobodyさん05/03/13 05:35:05ID:???
と思ってコード見てたらRequest::setMethod()があるのか
これ使えるんかな、でもActionForwardで呼びたいのは大抵execute()だろうしなぁ
0416nobodyさん05/03/13 14:59:06ID:???
>>414
漏れは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:???
>>416
なんか似たような事ではまったような記憶があるな
とりあえず遷移ステップを中継するhiddenの値は遷移後に
HTML_QuickFormのsetConstantsメソッドで指定し直すようにしてる
なんか全然違う事言ってたら申し訳

それはそうと入力の検証ってやっぱみんな
HTML_QuickFormのヴァリデータ機構でやってるんだろうか
mojaviのヴァリデータ機構もいい感じだと思うんだけど
0418nobodyさん05/03/13 19:04:44ID:???
>>417
例えばこんな感じですかね?
$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のヤツも併用できそうな気がするので併用するつもりではあります。
041941805/03/13 22:52:13ID:???
>>417
結局、調べてみた結果こうするのが一番漏れのやりたいことに近かったもより。
$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:???
Linux上でMojavi2を使おうとしています。
最初の環境設定(のテスト?)で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:???
>>420
355行目付近は次のようになっていて、
$logger =& LogManager::getLogger();
set_error_handler(array(&$logger, 'standard'));

set_error_handler()は
> 注意: 関数名の代わりにオブジェクトへのリファレンスとメソッド名を含む配列
> を指定することもできます。(PHP 4.3.0以降)

なので、コールバック関数名で呼び出すように書き換えるしか無いかと。
面倒なので 初っ端のerror_reporting()を E_ALLから変更するつーのもありですが。
■ このスレッドは過去ログ倉庫に格納されています