1 名前:nobodyさん [2005/08/03(水) 21:00:39 ID:TuHx69hT] 国産フレームワーク、Ethnaでいい意味で手抜きなプログラミングライフを。 Ethna -PHPウェブアプリケーションフレームワーク- ethna.jp/ SourceForge.jp: Project Info - Ethna sourceforge.jp/projects/ethna/
390 名前:nobodyさん [2006/06/24(土) 03:49:03 ID:XSR1obdz] 名前がアウト
391 名前:nobodyさん mailto:sage [2006/06/24(土) 12:40:33 ID:???] >>386 、>>388 お前らは名前の由来の一般英単語も知らんのか。。。 これだから中卒ドキュソは・・・
392 名前:nobodyさん mailto:sage [2006/06/24(土) 13:10:29 ID:???] >>391
393 名前:nobodyさん mailto:sage [2006/06/24(土) 13:18:31 ID:???] >391 良かったな辞書を持ってて。
394 名前:nobodyさん mailto:sage [2006/06/24(土) 23:27:01 ID:???] >>393 うん、電子辞書便利だよ〜(^^)
395 名前:sage [2006/07/01(土) 03:09:03 ID:YtTgigq9] appObjectって使ってます?
396 名前:nobodyさん mailto:sage [2006/07/01(土) 18:32:55 ID:???] 使ってます。
397 名前:nobodyさん mailto:sage [2006/07/02(日) 00:52:57 ID:???] 使ってないです。
398 名前:nobodyさん mailto:sage [2006/07/02(日) 01:10:49 ID:???] 使ったり使ってなかったり。
399 名前:nobodyさん mailto:sage [2006/07/09(日) 00:17:17 ID:???] Ethnaの2.1.2入れてみた。 cli用のディレクトリがあったけど、どこかにサンプル無いかな。
400 名前:nobodyさん mailto:sage [2006/07/12(水) 10:30:00 ID:???] 手取り足取り、どこでどうやれば良いか ご教授頂きたいです。
401 名前:nobodyさん mailto:sage [2006/07/12(水) 10:42:46 ID:???] >>400 チュートリアルでもやったら?
402 名前:nobodyさん mailto:sage [2006/07/12(水) 12:48:18 ID:???] ttp://ethna.jp/pipermail/users/2006-July/000396.htmlのことっしょ
403 名前:nobodyさん mailto:sage [2006/07/12(水) 12:59:51 ID:???] すごい内容だなぁ。 こういう人がどうやってEthna使ってみようと思うのだろうか?
404 名前:nobodyさん [2006/07/16(日) 08:55:24 ID:qmXQomWm] appObject使ってない人はO/R何使ってんの?
405 名前:nobodyさん mailto:sage [2006/07/16(日) 11:11:03 ID:???] >>404 AppObject使う利点は、すでにActionFormとの連携ができてるところだけだから、 自前のActionForm extends Ethna_ActionFormを作って、その部分を解決すれば なんでも使えると思う。 Ethnaはその辺の自前拡張性が楽でいいね。
406 名前:nobodyさん mailto:sage [2006/07/17(月) 23:31:12 ID:???] >>405 >Ethnaはその辺の自前拡張性が楽でいいね。 別にethnaに限った話でもない
407 名前:nobodyさん mailto:sage [2006/07/22(土) 17:28:06 ID:???] AppManagerのクラス内から $db =& $this->backend->getDB(); のようにDBを呼び出そうとすると Fatal error: Call to a member function getDB() on a non-object って怒られちゃうんだけど。 どうやったDBを呼び出せるの? 使い方間違ってる?
408 名前:nobodyさん [2006/07/22(土) 17:33:53 ID:GB10SsDy] たしか $this->db でいきなり使える。
409 名前:nobodyさん mailto:sage [2006/07/22(土) 19:56:51 ID:???] ありがッツゥーゾ でけたす
410 名前:nobodyさん mailto:sage [2006/07/23(日) 18:04:46 ID:???] actionやviewから $smarty->is_cached とか使いたいんだけど、どげんすればよいとですか?
411 名前:nobodyさん mailto:sage [2006/07/23(日) 18:33:26 ID:???] Ethna_ControllerのgetTemplateEngine()呼び出せば? 2.3.0からobsoleteだけど。
412 名前:nobodyさん mailto:sage [2006/07/23(日) 20:39:01 ID:???] >>411 挙動は変わったけどobsoluteではなくね?
413 名前:nobodyさん mailto:sage [2006/07/24(月) 10:52:32 ID:???] changesに「Ethna_Controller::getTemplateEngine()はobsoleteとなりますので今後はEthna_Controller::getRenderer()をご利用ください」ってかいてあるよ
414 名前:410 mailto:sage [2006/07/25(火) 19:41:00 ID:???] >>411-413 まだ試してませんができそうなんですね。 ありがとうございました。
415 名前:nobodyさん mailto:sage [2006/07/26(水) 06:20:07 ID:???] >>411 obsolete obsolete obsolete obsolete
416 名前:nobodyさん [2006/07/26(水) 18:31:39 ID:fkuJrgoL] すいません、かなり下らない事かも知れないんですが、セッション時に$form.hogeで値は取り出せないんでしょうか。。
417 名前:416 mailto:sage [2006/07/26(水) 20:00:48 ID:???] すいません。 初歩的なミスが原因でした。。
418 名前:nobodyさん mailto:sage [2006/07/28(金) 10:53:29 ID:???] EthnaでRailsみたいなスマートURLは使えますか?
419 名前:nobodyさん mailto:sage [2006/07/29(土) 09:16:44 ID:???] つかえる
420 名前:nobodyさん mailto:sage [2006/07/31(月) 23:09:52 ID:???] テンプレートにObject型を渡して表示させるには、 どのような手続きをとれば良いのでしょうか? ActionFormを利用してstringsやarrayは渡せるみたいなのですが、 オブジェクトが分かりません。
421 名前:nobodyさん mailto:sage [2006/07/31(月) 23:58:43 ID:???] setAppNEでできなかったっけ。
422 名前:nobodyさん mailto:sage [2006/07/31(月) 23:59:42 ID:???] ちなみに、*NEつけるとエスケープなしね。
423 名前:nobodyさん mailto:sage [2006/08/01(火) 01:47:11 ID:???] >>422 なるほど、ありがとうございます。 自前でエスケープすればいいんですね。
424 名前:nobodyさん mailto:sage [2006/08/01(火) 02:07:13 ID:???] 420です、たびたび申し訳ありません。 試してみました。 object(test)#12 (2) { ["name"]=> string(6) "なまえ" ["value"]=> string(6) "あたい" } という内容のオブジェクト$testを $this->setAppNE('test',$test); として tpl側で {$app.test->name} {$app.test->value} としても何もでてこないのですが、設定の仕方がわるいでしょうか・・
425 名前:nobodyさん mailto:sage [2006/08/01(火) 02:10:39 ID:???] afを書き忘れてしまいました。 $this->af->setAppNE('test',$test);が正しいです。 これでもやはり何も表示されません。
426 名前:nobodyさん mailto:sage [2006/08/01(火) 03:11:01 ID:???] >>425 tpl側で {$app_ne.test->name} {$app_ne.test->value} あと自前でエスケープ処理を書くより Ethna_Util::escapeHtml の方がよくね
427 名前:nobodyさん mailto:sage [2006/08/01(火) 08:04:28 ID:???] ここに書くようなことではないんだけど、関係者が見ていることを期待して。 第1回OnlineミーティングのIRCログってどこにありますか? ttp://ethna.jp/ethna-community-topic-online-meeting_20060720.html
428 名前:nobodyさん mailto:sage [2006/08/01(火) 09:10:48 ID:???] >>426 ありがとうございます。できました・・! Ethna_Util::escapeHtmlというのが用意されているんですね。 勉強になります。
429 名前:nobodyさん mailto:sage [2006/08/06(日) 13:06:54 ID:???] Ethna は携帯サイト用の機能を用意しないの?
430 名前:nobodyさん mailto:sage [2006/08/06(日) 15:45:40 ID:???] そのうちじゃないの
431 名前:nobodyさん [2006/08/11(金) 18:27:52 ID:M/sj5kXS] Ethna2.1.2 + ADOdb + PostgreSQL でやってる人いたらおしえて この組み合わせで AppObject使うの危険ですか?
432 名前:nobodyさん mailto:sage [2006/08/12(土) 12:07:59 ID:???] MySQLしか使えないよ。
433 名前:nobodyさん mailto:sage [2006/08/12(土) 12:08:40 ID:???] というわけで、Ethnaは使いづらいです。
434 名前:nobodyさん mailto:sage [2006/08/13(日) 19:49:07 ID:???] 他のO/R使えばいいやん
435 名前:nobodyさん mailto:sage [2006/08/13(日) 19:58:22 ID:???] O/Rマッパなんていらん
436 名前:nobodyさん mailto:sage [2006/08/13(日) 21:53:49 ID:???] たしかに0/Rマッパなんてなくてもかまわないよね。 それにフレームワーク自体もなくてもかまわいない。
437 名前:nobodyさん mailto:sage [2006/08/14(月) 00:02:42 ID:???] >>436 そうだな。それからおまえもいなくてもかまわない。
438 名前:nobodyさん mailto:sage [2006/08/14(月) 03:20:45 ID:???] 喧嘩はやめて! セックスしなよセックス!セックス!
439 名前:nobodyさん mailto:sage [2006/08/17(木) 13:54:56 ID:???] 次バージョン マダー
440 名前:nobodyさん mailto:sage [2006/08/17(木) 22:57:32 ID:???] ethna.jp/ethna-document-dev_guide-form-filter.html 上記の通りやっているんですが、上手くいかないんですが間違ってませんよね。。 試しに送られてきた値に文字列を追加してみたんですが上手くいかないのですが。。
441 名前:nobodyさん mailto:sage [2006/08/17(木) 23:17:22 ID:???] 如何上手くいかないのかぐらいかけ
442 名前:nobodyさん mailto:sage [2006/08/17(木) 23:43:41 ID:???] >>441 と言われてもそのままなんですが。。
443 名前:nobodyさん mailto:sage [2006/08/18(金) 00:01:34 ID:???] >>442 ……(;゚Д゚)ポカーン
444 名前:nobodyさん mailto:sage [2006/08/18(金) 03:54:08 ID:???] じぁあ、エスパー呼んでこい
445 名前:nobodyさん mailto:sage [2006/08/18(金) 04:51:10 ID:???] actionじゃなくてviewの方でsessionの値を得るにはどうしたらいいんでしょうか?
446 名前:nobodyさん mailto:sage [2006/08/18(金) 08:03:49 ID:???] sessionオブジェクトを取得しろ
447 名前:nobodyさん mailto:sage [2006/08/18(金) 08:34:54 ID:???] >>446 えと、それはどうすればいいんでしょうか?
448 名前:nobodyさん mailto:sage [2006/08/18(金) 10:22:07 ID:???] 基底クラスのコンストラクタくらい見ようよ
449 名前:447 mailto:sage [2006/08/18(金) 18:04:51 ID:???] /app/view/hoge1/hoge2/hoge.phpで extends Ethna_ViewClass したクラスの中で $Serial= $this->session->get('hogeSerial'); として、セッションからユーザシリアルを取得しようとしてるんですけど Fatal error: Using $this when not in object context in hoge.php line ... とエラーがでるんです。 環境はwin2k、apache2.x、php5.x でやってますけど、何が悪いのかわかりません。 ヒントだけでも教えてください
450 名前:nobodyさん mailto:sage [2006/08/18(金) 19:34:37 ID:???] sessionオブジェクト取ってこいや
451 名前:nobodyさん mailto:sage [2006/08/18(金) 19:38:09 ID:???] $_SESSION使えや
452 名前:447 mailto:sage [2006/08/18(金) 20:04:50 ID:???] >>450 >>449 の方法でとってることになりません? >>451 それだとEthna使ってる意味が半減?
453 名前:nobodyさん mailto:sage [2006/08/18(金) 21:05:10 ID:???] var_dump($this->session)してみろや
454 名前:447 mailto:sage [2006/08/18(金) 21:25:07 ID:???] >>453 Fatal error: Using $this when not in object context in hoge.php line ... と同じエラーがでます。
455 名前:nobodyさん mailto:sage [2006/08/18(金) 22:08:39 ID:???] 本当にPHP5か?4じゃねぇの?
456 名前:nobodyさん mailto:sage [2006/08/18(金) 22:22:50 ID:???] winXP、apache2.x、php5.x だけどそんなエラーでませんな。 backendからセッションオブジェクトとってきて使ったらどうですか。
457 名前:nobodyさん mailto:sage [2006/08/18(金) 22:25:06 ID:???] あー、staticなメソッドから$this呼んでねぇか?
458 名前:nobodyさん mailto:sage [2006/08/19(土) 16:51:46 ID:???] オブジェクト指向を勉強するには丁度いいかも。
459 名前:nobodyさん mailto:sage [2006/08/23(水) 20:31:42 ID:???] コントローラーから呼びだすコンポーネント(Ethna_AppManagerを継承していない素のクラス)にDBのコネクションを持たせたいのだがEthnaの持っているコネクションを渡す方法って引数しかない? Singletonとかの形でコネクションを持っているところがあるといいんだけど
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