- 1 名前:nobodyさん [2005/08/03(水) 21:00:39 ID:TuHx69hT]
- 国産フレームワーク、Ethnaでいい意味で手抜きなプログラミングライフを。
Ethna -PHPウェブアプリケーションフレームワーク- ethna.jp/ SourceForge.jp: Project Info - Ethna sourceforge.jp/projects/ethna/
- 460 名前:nobodyさん mailto:sage [2006/08/26(土) 23:37:48 ID:???]
- DBget!!!ズサ━━━━⊂(゚Д゚⊂⌒`つ≡≡≡━━━━!!
ってやりゃいいじゃん
- 461 名前:nobodyさん mailto:sage [2006/08/28(月) 06:50:58 ID:???]
- {include file="header.tpl"}
〜〜〜 {include file="footer.tpl"} 毎回書くのが激しく面倒で、何か良い方法が無いものか少し検索。 ↓同じような事考えた人ハケーン ttp://d.hatena.ne.jp/tadito/20060415/1145115774 ページ下部:Smartyのここが 何か方法はありませんでしょうか。
- 462 名前:nobodyさん mailto:sage [2006/08/28(月) 14:10:42 ID:???]
- Smartyのプリフィルタプラグインで出来るんじゃない?
- 463 名前:nobodyさん [2006/08/28(月) 16:19:13 ID:WBoTQIam]
- 質問ですが・・・。
tplファイルで配列を表示させる方法を教えてくれませんか。 setAppだと通常の変数しか定義出来ない・・・ ↓こんな感じに書いて、array data にテーブルhogeの一覧を格納したいのです。これだと動かないですけど。 function preforward() { $db =& $this->backend->getDB(); $result =& $db->query("select * from hoge"); $i = 0; while ($data[$i] = $result->fetchRow()) { $this->af->setApp("data[]", $data[$i] ); $i++; } }
- 464 名前:nobodyさん mailto:sage [2006/08/28(月) 16:40:35 ID:???]
- >>463
>setAppだと通常の変数しか定義出来ない・・・ そんなことはなくて、普通に配列が格納された変数を渡せばいいだけ。
- 465 名前:nobodyさん [2006/08/28(月) 16:55:38 ID:WBoTQIam]
- >>464
これで動きました。ありがとうございます。 while ($data[$i] = $result->fetchRow()) { $i++; } if ( $i > 0 ) { $this->af->setApp("data", $data ); }
- 466 名前:461 mailto:sage [2006/08/28(月) 21:08:49 ID:???]
- >>462
プリフィルタ書いてやってみる事にします。ありがとうございました
- 467 名前:nobodyさん mailto:sage [2006/08/29(火) 00:49:44 ID:???]
- 俺ならskelのテンプレに{include}書いちゃって、
ethna add-template hoge するかな。
- 468 名前:nobodyさん mailto:sage [2006/08/29(火) 02:17:54 ID:???]
- 俺の場合まずレイアウト用テンプレートを用意して
Ethna_ViewClassをextendsして forward()でforward_pathをレイアウト用テンプレートのパスに置き換えて 元のforward_pathをsetAppしてレイアウト用テンプレートで {include file=$app.forward_path} とか出来るようにする感じかな んでレイアウト管理マネージャ作って $Layout->disable();とか$Layout->set('admin');とか出来るようにしてる
- 469 名前:nobodyさん [2006/08/29(火) 08:11:57 ID:yZ1+igoY]
- Ethnaを使い始めたんですが、サイトを構築しているうちに
静的なコンテンツが半分以上だということが分かりました。 1つのビューに対しては、1つ以上のアクションが必要なので たとえば、サイトの説明ページを1ページ増やすたびに 何もしないアクションを追加していかなければいけないと 思うのです。これは、そういうものだと諦めるしかないので しょうか? これまではフレームワークを使っていなかったので、Web デザイナーさんに会員認証などの処理を含んだPHPテンプ レートを渡して、ある程度自由に書いてもらっていたのですが、 アクションを追加しないとページの追加などができないのは 結構厳しいです。
- 470 名前:nobodyさん mailto:sage [2006/08/29(火) 17:52:14 ID:???]
- CMSを作れば
- 471 名前:nobodyさん mailto:sage [2006/08/29(火) 22:15:22 ID:???]
- >>469
自分も今似たような状況にある。 なんとか効率よくテンプレートだけを使用できないかなと思ったけど 結局、静的(半静的)用のテンプレート周りだけEthnaと切り離してやることにした。 ちなみに、↑の半静的ページっていうのは、認証結果なんかも全部必要ないページね。 認証結果や他のEthnaと結構かかわってくるようなページは全部Ethna通してる。
- 472 名前:nobodyさん mailto:sage [2006/08/30(水) 00:01:26 ID:???]
- いやだからCMSを作れば
- 473 名前:nobodyさん mailto:sage [2006/08/30(水) 08:24:36 ID:???]
- っつーか、静的コンテンツ表示用の共通アクションを1つ作ればよいだけでは。
他のパラメータでビュー指定して。
- 474 名前:nobodyさん mailto:sage [2006/08/30(水) 13:01:47 ID:???]
- マネージャーとか必要ないのは読み込ませたくないんじゃない?
- 475 名前:nobodyさん mailto:sage [2006/09/03(日) 21:48:10 ID:???]
- いまオープンのEthnaつかったCMSはriafさんが作ってるez_siteadmin(easa?)くらいしかないのかな
labs.riaf.org/easa/ wikiが見れなくなってるけど ほかにもいろいろサンプルが見たい
- 476 名前:nobodyさん mailto:sage [2006/09/04(月) 00:20:13 ID:???]
- EthnaはデフォルトでXSS可能なのがどうもね。
サンプルでXSS可能なものが多いし。
- 477 名前:nobodyさん mailto:sage [2006/09/05(火) 21:37:08 ID:???]
- Ethna_Plugin_Logwriter_File.php に手を入れたいのですが、
例えばEthna_Plugin_Logwriter_Fileを継承して 自分で書いたコードでオーバーライドしたとして そのclassをどういう手続きを踏めば、 使えるようになるのか、だれか教えてちょうだい。
- 478 名前:nobodyさん mailto:sage [2006/09/06(水) 07:57:33 ID:???]
- そのクラスのオブジェクトを生成すれば使えるようになるわけだが。
- 479 名前:477 mailto:sage [2006/09/06(水) 14:57:37 ID:???]
- おっしゃる通りなのですが、、、
元のLoggerって生成することなど意識せずとも使えます。 自作のものも生成することなく元のLoggerと置き換わるような 形で使いたいのです。 Controllerの $class_default['logger']を自作のものに書き換えればよいのでしょうか?
- 480 名前:nobodyさん mailto:sage [2006/09/06(水) 16:21:52 ID:???]
- Controllerの$class
- 481 名前:477 mailto:sage [2006/09/06(水) 16:38:38 ID:???]
- Controllerの$class
コメントのTODOにずばり書いてあった。。。OTL
- 482 名前:nobodyさん mailto:sage [2006/09/06(水) 20:20:01 ID:???]
- PHP5.0のEthnaの2.1.2ですけど、AppObjectでgetしたあとremoveすると
$conditionがNULLでWHERE IS NULLとかいうSQLになっちゃう...。 $key, $key_type付きでwhere付きのgetはできるのに、getせずにインスタンスしたそのままでremoveしてもかわらず... 皆さんはちゃんとうごいてます?
- 483 名前:nobodyさん mailto:sage [2006/09/07(木) 00:23:32 ID:???]
- >>482
なんかよくわからないけど、いままで変な挙動したこと無いから何か間違ってると思う。 AppObjectでgetしたっていうのがよくわからない。 AppManagerでgetObjectPropとかgetObjectListとかじゃなくて? AppObjectでgetするのは、AppObjectのpropだけだよね。 新しく作りたいならnewだし。
- 484 名前:482 mailto:sage [2006/09/07(木) 16:25:20 ID:???]
- わかりづらかったですね、ご迷惑おかけしまいた...
$key_type = array('userid', 'config'); $key = array($userid, $config); $config1 =& new Test_Config1($this->backend, $key, $key_type); $data['config'] = $config->get('config'); //$data処理 $config2_values = array( 'userid' => $config->get('userid'), 'config' => $data['config'], ); $config2 = new Test_Config2($this->backend, NULL, NULL, $config2_values); $config2->add(); $config1->remove(); とすると クエリエラー SQL[DELETE FROM config1_tbl WHERE IS NULL] のエラーで返されます
- 485 名前:483 mailto:sage [2006/09/07(木) 19:29:19 ID:???]
- これだと、オブジェクトを2個作らないで$config1->update();の方がいいと思うけど、
まぁそれはおいといて。 $config2->add(); するなら、 $config2 = new Test_Config(&$this->backend); $config2->set('userid', $user_id); $config2->set('config', $data['config']); $config2->add(); する方が良い。なぜなら、AppObjectをnewするときの第4引数は 全てのプロパティをセットする必要があるからな。2つのプロパティじゃなければ面倒でしょ? あと、$config1->remove();でWHERE IS NULLは、Test_Config1の primary_keyがAppObjectでちゃんと設定されて無いと思われる。 もう一度、appobjectのMappingをチェックするのが吉と、
- 486 名前:nobodyさん mailto:sage [2006/09/07(木) 22:55:15 ID:???]
- $config1 = new
してるのに何故 $config->get() typo?
- 487 名前:nobodyさん mailto:sage [2006/09/08(金) 10:48:28 ID:???]
- トランザクションや複数テーブルを使用するときなどに
どうしても生SQLを発行する場面があると思うのですが、 AppObjectを使ったりSQLを書いたりするコードが混ざっていると 気持ち悪い(というか不適切なコード?)な気がします。 実際にEthnaを使っている方はどうされているんでしょうか?
- 488 名前:nobodyさん mailto:sage [2006/09/09(土) 00:40:11 ID:???]
- >>487
俺の場合、どうしても生SQLのときは、ManagerにSQL発行メソッドを作るかな
- 489 名前:nobodyさん mailto:sage [2006/09/09(土) 18:41:06 ID:???]
- controllerにsmartyのプラグインを登録できるのはわかってるけど、
どこに記述したいいのか、どこにファイルを置けばいいんでしょう? どこに書いても、libやappにおいてもだめだし 携帯向けにsjisのページが作りたいとおもったけど開発ページにはoutputをどこにおいたらいいの書いてない...
- 490 名前:nobodyさん mailto:sage [2006/09/10(日) 08:05:27 ID:???]
- >>489
もちろん、ここはチェックしたよな www.ethna.jp/ethna-document-dev_guide-app-sjis.html
- 491 名前:nobodyさん mailto:sage [2006/09/10(日) 19:35:53 ID:???]
- まことにすいませんが、事故解決しました、お手数おかけしました。
原因はIncludeパスがずれてたみたいです。 そこはみたんですけど、そのfunctionはどこに書いてどこにおいたらいいのかわからなくて。
- 492 名前:nobodyさん mailto:sage [2006/09/15(金) 01:32:45 ID:???]
- そろそろ2.3.0 preview3出てほしいなぁ。
ロードマップでは未到達かもしれないけど、コンスタントに リリースしてくれたほうが嬉しい。というか、はやく2.1.2から 乗り換えたいので頼んます。。。
- 493 名前:nobodyさん mailto:sage [2006/09/19(火) 08:05:38 ID:???]
- mixi の雑談でpreview3は、9月末でるかも、らしい
- 494 名前:nobody [2006/09/19(火) 15:05:49 ID:l653wI+U]
- Ethna + Ajax のサンプル動作させ方がわかりません。
以下のサンプル通りにスクリプトを書いて動作させたけど、 json.tplがないよと怒られます。 流れとして、actionのFlare_Action_IndexCheckからviewのFlare_View_Jsonまでは、 分るけど、この先どこの.tplに、いくの? labs.gree.jp/Top/Document/20060707.html ヒント頂戴。
- 495 名前:nobodyさん mailto:sage [2006/09/19(火) 17:21:16 ID:???]
- Ethnaで出力結果を(html形式のファイルに)書き出す為の
専用のmethodはないのでしょうか? Ethna_RendarerのgetEngineとかいうのを使ってfetchするしかないのでしょうか?
- 496 名前:nobodyさん mailto:sage [2006/09/19(火) 22:32:04 ID:???]
- ethna.jp/ethna-document-tutorial-practice3.htmlで
tp://some.host/~foo/?action_login=trueというようにアクセスしてる場面を見受けるけどこれを tp://some.host/~foo/loginみたいな形式に変えることは出来ないんかなぁ?
- 497 名前:nobodyさん [2006/09/19(火) 22:37:17 ID:R6sen3Jl]
- >>495
そのメソッドは無いね。 フィルタ使ってob_で拾うとか、いろいろ手段はあるけど。 >>496 mod_rewrite使えば可能。
- 498 名前:nobodyさん mailto:sage [2006/09/19(火) 23:22:06 ID:???]
- >>496
Ethna_Controller.php の ChangeLog にこんなのがある。 > Ethna_UrlHandlerクラスを追加(ステキurl対応) これに期待する。
- 499 名前:nobodyさん [2006/09/19(火) 23:27:54 ID:gBF89jCS]
- エラーのハンドリングについて、指定したテンプレートが見つからない
場合と、データベースに接続できなかった場合のエラー処理って どこで行えばいいのでしょうか? どちらもフレームワークに任せてしまっている部分の処理なので いまいち解りません…orz 環境はPHP 5.1.6 + Ethna 2.3.0-dev(CVS)です。
- 500 名前:nobodyさん mailto:sage [2006/09/19(火) 23:39:38 ID:???]
- >>494
試してないので恐縮ですが、json.tplを出力しようとしている ということは、Flare_View_Jsonクラスのforward()をオーバー ライドしていないのではないでしょうか?
- 501 名前:496 mailto:sage [2006/09/20(水) 00:53:00 ID:???]
- >>497
mod_rewriteを使えば確かに出来そうですね 何とかEthnaで頑張ってみたかったので wasuren.blog67.fc2.com/blog-entry-17.html を参考にしながらやってみたんですが どうもうまく動かない。・゚・(ノД`)・゚・。 ちなみに公式に書いてある ethna.jp/ethna-document-dev_guide-action-formname.html は問題なく出来ますた。(・∀・)
- 502 名前:nobodyさん [2006/09/20(水) 14:30:41 ID:Ni5iDH7a]
- デフォルトのテンプレートディレクトリをja以外にするにはどこに書くのが正しいですか?
- 503 名前:nobodyさん mailto:sage [2006/09/20(水) 14:55:50 ID:???]
- >>502
App_Controller::getTemplatedir
- 504 名前:nobodyさん mailto:sage [2006/09/20(水) 16:30:50 ID:???]
- >>494
間違えて、preforwardにコードを書いていません?
- 505 名前:nobodyさん mailto:sage [2006/09/20(水) 18:30:04 ID:???]
- >>503
ありがとうございまっす
- 506 名前:nobodyさん mailto:sage [2006/09/20(水) 22:54:15 ID:???]
- >>505
あんたopenPNEの人? その語尾がキモイ。
- 507 名前:nobodyさん mailto:sage [2006/09/20(水) 23:13:16 ID:???]
- >>506
すみませっん
- 508 名前:nobodyさん mailto:sage [2006/09/20(水) 23:29:08 ID:???]
- >>507
どういたしましって
- 509 名前:nobodyさん mailto:sage [2006/09/20(水) 23:55:52 ID:???]
- >>508
こっちらこそ
- 510 名前:nobodyさん [2006/09/21(木) 04:53:57 ID:uR4E3gkh]
- ありがとうございまつw
- 511 名前:sage [2006/09/21(木) 19:25:16 ID:amkCKdmG]
- >>500 >>504
ご指摘ありがとうございます! ご指摘どおりpreforward()をオーバライドしていました。 ですが、forward()に書き直して見ましたが、駄目でした。 メールアドレスにタイプしても、なにもエラーが表示されません。 onkeyup='alert("key Up");'なら動作するのでjavascript自体は問題なさそうです。 ためしに、Flare_View_Jsonのforward()でprint_r($json_object)と記述して、 送信ボタンをクリックすると意図したエラーが表示されるのですが、 上記を記述しないと、Web画面上は真っ白が表示されます。 ※/etc/flare-ini.php で 'debug' => 'true'としてます。 う〜〜ん、ヘルプ プリーズ。
- 512 名前:nobodyさん mailto:sage [2006/09/21(木) 22:02:04 ID:???]
- cli以外でスケルトン作成できんとですか?
phpeditor使いたいとです
- 513 名前:nobodyさん mailto:sage [2006/09/22(金) 00:20:14 ID:???]
- cliでのスケルトン作成に何か不満が?
まぁスケルトン参考にして、必要な物を自分で用意すればいいじゃないか
- 514 名前:nobodyさん mailto:sage [2006/09/22(金) 13:12:23 ID:???]
- フォーム画面->確認画面->処理
という流れのアクションが30個ほどあります。 確認処理が地味にうざいのですが、 確認画面の部分を30個分テンプレ用意する方法と、 確認画面の部分を変数に入れて1つのテンプレから動的に確認画面を表示 させる方法を思いつきました。 できれば後者で行こうと思いますが、 もっと良い方法やスマートな記述法があれば教えてください。 また、今回のような場合に使えるメソッドはないでしょうか?
- 515 名前:nobodyさん mailto:sage [2006/09/23(土) 13:04:01 ID:???]
- なんでEthnaのテンプレートディレクトリはtemplate/ja なの? ja
- 516 名前:nobodyさん mailto:sage [2006/09/23(土) 13:42:38 ID:???]
- ja がなければないで動くから、ja ディレクトリ消してる。
- 517 名前:nobodyさん mailto:sage [2006/09/23(土) 14:00:20 ID:???]
- どうしてjaってディレクトリを用意してあるのかが気になるんですが
- 518 名前:nobodyさん mailto:sage [2006/09/23(土) 14:34:34 ID:???]
- 全世界言語対応をにらんでる
- 519 名前:nobodyさん mailto:sage [2006/09/23(土) 17:47:51 ID:???]
- CVSリポジトリに久々にコミットがあったぽいね。
preview3を待ち望んでる身としては嬉しい限りだけど 9月末に出てくれるかな。。。
- 520 名前:nobodyさん mailto:sage [2006/09/23(土) 23:15:08 ID:???]
- 画面からフォーム値を取得するのに、わざわざActionFormの中に記述するのが面倒なんですが
なんとかならないんでしょうか?
- 521 名前:nobodyさん mailto:sage [2006/09/23(土) 23:22:39 ID:???]
- >>520
記述するのが面倒ならASP.NET+Visual Studio使ってみてはいかがでしょうか? 一考の価値はあるかと。 EthnaEditorってのもあるけど。
- 522 名前:nobodyさん mailto:sage [2006/09/24(日) 00:57:44 ID:???]
- ASPはちょっと・・・・
コピペでがんばります。ありがとう
- 523 名前:nobodyさん mailto:sage [2006/09/24(日) 01:10:47 ID:???]
- >>520
setFormVars()をオーバーライドするとか。 mod_rewriteでCoolURIにしてるんだけど、POSTだと$_POSTの内容しか 取得しないので、自分で追加してる。 $_REQUESTから全部取らないのってメモリ節約のため? それとも指定以外のフォーム値は受け取らないというセキュリティへの配慮? 意図しないフォーム値は使わないだけだから、とりあえず全部格納しても 問題なさそうだけど、理由があるなら教えて偉い人。
- 524 名前:nobodyさん mailto:sage [2006/09/24(日) 02:35:31 ID:???]
- session値をDBに格納したいんですが
>>290 よりスマートな方法ないでしょうか?
- 525 名前:nobodyさん mailto:sage [2006/09/24(日) 11:27:27 ID:???]
- preview3では是非、?action_(アクション名)=trueを/(アクション名)という形式でアクセスしたいもんだ
- 526 名前:nobodyさん mailto:sage [2006/09/24(日) 22:00:35 ID:???]
- >> 525
なんでそんなのを標準にしたいのかはわからんが、今でも _getActionName_Form()の上書きでできるし、 CVSではUrlHandlerも追加されてるぞ?
- 527 名前:nobodyさん mailto:sage [2006/09/25(月) 00:12:30 ID:???]
- >>525
その方法が標準になった場合って、サブミットボタンでアクションを振り分けるのって できなくなるよね?あったら教えてください。 perform() { if ($this->af->get('submit_action_a'){ ......... } else if ($this->af->get('submit_action_b'){ ......... } } とかは無しね。もしかして、それでアクションチェーンがどうたらとか 言ってる奴らがいるのかな?
- 528 名前:nobodyさん mailto:sage [2006/09/25(月) 10:54:53 ID:???]
- >>525
つmod_rewrite
- 529 名前:nobodyさん mailto:sage [2006/09/25(月) 15:06:44 ID:???]
- まあスマートルータは流行りだから
そのうちEthnaにも取り入れられると思うよ
- 530 名前:nobodyさん mailto:sage [2006/09/26(火) 21:09:48 ID:???]
- Ethnaのサンプルみたんですが、DBにアクセスするクラスは複数のActionから参照されるような
つくりをしていましたが、Action別にそれぞれ用意したほうが分かりやすくないですかね? みなさんはどうやってますか?
- 531 名前:nobodyさん mailto:sage [2006/09/26(火) 21:15:44 ID:???]
- >>530
そっちの方がありえないだろ
- 532 名前:nobodyさん mailto:sage [2006/09/26(火) 21:36:20 ID:???]
- >>531 どっちほうがありえない?
- 533 名前:nobodyさん mailto:sage [2006/09/27(水) 09:47:21 ID:???]
- Action別に作った場合に、単純に変更作業の時に
コードがばらけていて面倒とかはあると思いますよ。 オブジェクト指向の勉強とかするといいと思いますよ。 (語れる程詳しくは無いので、語らないですけどw)
- 534 名前:nobodyさん mailto:sage [2006/09/27(水) 13:42:42 ID:???]
- Ethnaはオブジェクト指向を勉強するきっかけとしてはなかなかいいかもしれないね。
- 535 名前:nobodyさん mailto:sage [2006/09/28(木) 08:14:17 ID:???]
- 逆に、複数のActionで同じ処理が使われている場合、変更があったときに
すべての使用されているActionを見直さないといけないっていう問題がでると思うんですよね。 こういうのって画面単位で分担作業するものだから、お互いに変更時に支障がないように 作るものなんじゃないかなぁ。
- 536 名前:nobodyさん mailto:sage [2006/09/28(木) 09:36:33 ID:???]
- 「想定していなかった新機能を追加」とかでもやらない限りそんな大きな仕様変更はやらんでしょ
それがどんな作りなのかは分からんけど、どうしても回避出来ないよっぽどの理由がない限り共用にしとくのが無難
- 537 名前:nobodyさん mailto:sage [2006/09/28(木) 22:07:34 ID:???]
- >>536
そうなのかぁ ということはいろんな処理に使えるようにSQLはなるべくシンプルな処理にしておくのが無難なのかな 複数Joinとかして、1つの画面に必要なデータをいっぺんにとってくることもできるけど、 ほかの画面では不要なものが多すぎて使えないってこともあると思うし。 なんか微妙だけど、共通化(オブジェクト指向ではない)しようと思います。 ありがとうございました。
- 538 名前:nobodyさん mailto:sage [2006/09/29(金) 01:56:32 ID:???]
- >>537
1年前の俺みたいだ。w あと半年ほど使いまくってEthnaで10個くらい同じことやれば 「あー、この辺共有か」とか分かると思う。 自分はもうEthna使わないでPHPって書いてないからな。
- 539 名前:nobodyさん mailto:sage [2006/09/30(土) 18:02:23 ID:???]
- 他は満足してるんだけども
Ethna_AppObjectの検索部分が使いづらくてたまらない $db->getall();//テーブル全レコード取得 $db->search($column_name,$value);//$column_nameが$valueのレコードを取得 俺の使い方だと、これだけで8割方、用が足りるんだが・・
- 540 名前:nobodyさん mailto:sage [2006/09/30(土) 23:20:58 ID:???]
- >>539
全部レコード取得 $this->appmanager->getObjectPropList('AppObjectClassName'); $valueのレコード $this->appmanager->getObjectPropList('AppObjectClassName', null, array($column_name) => new Ethna_SearchAppObject($value, OBJECT_CONDITION_EQ)); 後者をラップするメソッドをAppObjectの基底クラスに作ってやれば、そんな面倒じゃないと思うけど。
- 541 名前:nobodyさん mailto:sage [2006/10/01(日) 00:53:21 ID:???]
- ORMを作ろうとしたときinsert/update/delete は簡単にできるけど、
selectは様々なバリエーションがあってむずいな。 joinとかhavingとか、そのへんまでスマートにこなしてるORMってある? RORのActive Record が一番ですか?
- 542 名前:539 mailto:sage [2006/10/02(月) 14:09:24 ID:???]
- >>540
ありがとうございます 楽になりました
- 543 名前:nobodyさん mailto:sage [2006/10/02(月) 16:34:53 ID:???]
- 複数DBの使用法がよく分かりません、
www.ethna.jp/ethna-document-dev_guide-db.html 上の例だと、 $this->backend->getDB('r'); した場合、 勝手に iniファイルの 'dsn_r' => 'mysql://user:pass@unix+localhost/dbname', の設定を拾ってくるんでしょうか?? $this->backend->getDB('hoge'); なら 'dsn_hoge' => 'mysql://user:pass@unix+localhost/dbname', でしょうか?
- 544 名前:nobodyさん mailto:sage [2006/10/02(月) 17:38:21 ID:???]
- 試してから聞け
- 545 名前:nobodyさん mailto:sage [2006/10/03(火) 16:07:08 ID:???]
- >>544
上は試して動作したからハイOKという類の内容ではない気が。
- 546 名前:nobodyさん mailto:sage [2006/10/03(火) 23:18:59 ID:???]
- なんで?
全く違うDSN書けば違いがわかると思うんだけど。
- 547 名前:nobodyさん mailto:sage [2006/10/04(水) 11:00:18 ID:???]
- >>543
概ねあってるけど、Controllerの$dbにも書いておくべし
- 548 名前:nobodyさん mailto:sage [2006/10/05(木) 14:55:25 ID:???]
- DBでsessionしたいわけなんですが、
普通に自分で関数カキカキしてactionディレクトリあたりに 入れればつかえる??
- 549 名前:nobodyさん [2006/10/06(金) 10:09:32 ID:O2kp1NLj]
- ethnaの公式サイト見ると、
app/action 階層の下に system1_hoge.php system2_hoge.php と設置する場合の手順が書いてありますが、 system1/hoge.php system2/hoge.php という風にアクションファイル自体を system1 とsystem2 で設置ディレクトリを分けたいと考えています。 この場合のアクション定義などが非常にこんがらがってしまったのですが、 どなたか助言おながいします。
- 550 名前:nobodyさん mailto:sage [2006/10/06(金) 11:36:19 ID:???]
- Call to undefined function: getrow()
のエラーが出るんだけど、 PEARのDBクラス継承してるんですよね? ほわい?
- 551 名前:nobodyさん mailto:sage [2006/10/06(金) 12:07:20 ID:???]
- >>550
MLやフォーラムくらい嫁
- 552 名前:nobodyさん mailto:sage [2006/10/06(金) 12:35:34 ID:???]
- >>551
サンクス てか継承してないのかよ、表記修正してくれよ、 とおもいますた
- 553 名前:nobodyさん mailto:sage [2006/10/06(金) 13:47:06 ID:???]
- アクションクラスで
$this->af->setApp('hairetu', $hairetu); して tplで下のようにしてみたんですが、機能しません。 {section name=cnt loop=$app.hairetu} ほわい?
- 554 名前:nobodyさん [2006/10/06(金) 15:35:21 ID:Ky3gzt1x]
- 存在しないファイルをrequireしようとしたら
fatal Errorになったんですけど、こういう場合のエラー処理は ethna上でのエラー処理に組み込むことはできないんでしょうか?
- 555 名前:nobodyさん mailto:sage [2006/10/06(金) 18:01:45 ID:???]
- E_ERROR(FATAL)はエラーハンドラでも上書きできない
- 556 名前:nobodyさん mailto:sage [2006/10/06(金) 19:31:49 ID:???]
- 今更ながらEthna 2.3.0 Preview2リリースを入れてみたんだけど、
Ethna_ClassFactoryの変更部分で悩んでいます。 app/[project_id]_Controller.php の $class メンバに 'user' => 'Some_Foo_Bar', と付け足すのは良いとして、 $user =& $this->backend->getObject('user');はどこに記述するのでしょうか? Ethna_ActionFormでいちいち記述するのかな? マニュアル直ってないし・・・ ttp://ethna.jp/ethna-document-dev_guide-appobj-manager.html
- 557 名前:nobodyさん mailto:sage [2006/10/07(土) 01:27:47 ID:???]
- >>556
なんかねー、そのへん俺もよくわからんのだけど、とりあえず class Hogeproject_User extends Ethna_AppObject class Hogeproject_UserManager extends Ethna_AppManager って作ったら、そのファイルをControllerでincludeして $user =& $this->backend->getObject('User'); $user_manager =& $this->backend->getManager('User'); ってやってる。$classメンバには何も付け足してない。 なんつーか、以前より面倒になった気がするし。w
- 558 名前:nobodyさん mailto:sage [2006/10/07(土) 11:29:23 ID:???]
- >>557
それは面倒ですなw Ethna_Controllerの$classメンバに追加するのが標準的なやり方 見たいなのでもうちょっと簡易な方法があるといいのだけれど。 ウェブサイトには「(不評なら戻します@preview2)」って書いてあるけど MLでは話題にすらなってないし、このまま定着するのかな? とにかくサンプルかもうちょっと詳細なヘルプが欲しいです。
- 559 名前:nobodyさん mailto:sage [2006/10/07(土) 13:48:08 ID:???]
- 繰り返し部分を別ファイル(hoge.inc.php)にして require() して使いたいのですが、
どうすればいいでしょうか? require("絶対パス/hoge.inc.php"); しか思いつきませんでした。
- 560 名前:nobodyさん mailto:sage [2006/10/07(土) 15:26:26 ID:???]
- >>559
>>556-558の話がまさにそう。 最新版の話でなかったら、>>566のURLに詳しく載ってる。
|

|