1 名前:nobodyさん [2005/08/03(水) 21:00:39 ID:TuHx69hT] 国産フレームワーク、Ethnaでいい意味で手抜きなプログラミングライフを。 Ethna -PHPウェブアプリケーションフレームワーク- ethna.jp/ SourceForge.jp: Project Info - Ethna sourceforge.jp/projects/ethna/
58 名前:nobodyさん mailto:sage [2005/12/05(月) 11:33:30 ID:???] EthnaのDBってPEAR::DBですよね? $sql = "select * from hoge where foo = ? and bar = ?"; $result =& $db->query($sql, array($a, $b)); ってやると nativecode=1064 ** You have an error in your SQL syntax と なってしまうのですが?? $sql = "select * from hoge where foo = '" .$a. "' and bar = '" .$b. "'"; $result =& $db->query($sql); とすると通るので$dbは正しいDBオブジェクトだと思うのだけど・・・。 こうなる方いませんか? Ethnaは0.2.0-devです。
59 名前:58 mailto:sage [2005/12/05(月) 12:01:45 ID:???] >>58 に続いて、 $sql = "select * from hoge where foo = ? and bar = ?"; $sth =& $db->prepare($sql); if (PEAR::isError($sth)) {....} $result =& $db->execute($sql, array($a, $b)); としてみたが、Call to undefined method Ethna_DB_PEAR::prepare()と返る。 ?と思ってEthna_DB_PEAR.phpをみると・・・。なるほど。 でも、>>58 の書き方を禁止する意味って何なんだろうか? うーむ。さっぱりわからないです。
60 名前:nobodyさん mailto:sage [2005/12/05(月) 23:50:42 ID:???] >>59 禁止っていうか、作りかけなだけでは? getAll とか getRow getCol とかのメソッドもないし。 めんどいけど、いっこいっこ追加していくか。
61 名前:58 mailto:sage [2005/12/06(火) 00:35:05 ID:???] >>60 > >>59 > 禁止っていうか、作りかけなだけでは? そうですね。反省。 Ethna使いの皆さんはここらへん独自に拡張して使ってるんでしょうか? 追加していくのは構わないのですが、バージョンアップの度に独自に追加した部分の 整合性をとるのがめんどいなぁと思ったもので。
62 名前:nobodyさん mailto:sage [2005/12/07(水) 01:29:57 ID:???] >>61 fujimoto神はかまってもらえなそうだから、haltたんにお願いして 自分が加えた分をcommit してもらえばいいんじゃないかな。
63 名前:58 mailto:sage [2005/12/07(水) 22:40:05 ID:???] >>62 まだまだ勉強中の身でして、fujimoto神のソースに取り込んでもらうなど 恐れ多いことでw 最近やっとEthnaの概要が見えてきた。
64 名前:nobodyさん mailto:sage [2005/12/09(金) 01:28:44 ID:???] ethnaってactionのforwardみたいなのある? actionの中で別のactionを実行したいときはリダイレクトするの?
65 名前:nobodyさん mailto:sage [2005/12/10(土) 21:36:33 ID:???] >>58 $db = $this->backend->getDB(); $db->db->prepare(); じゃ駄目な理由を教えて欲しい。 メンバ変数にDBのオブジェクトあるんだから 継承しなくてもそっち参照すればいいんじゃないの? (Ethna用のエラーを書くなら継承する理由はでてくるけど) >>64 actionからactionを呼ぶ具体的な例を教えてほしい。 EthnaはMojavi2と違って Actionには1画面の遷移しか記述しないからActionChainは 必要ない。共通で使うロジックはAppManagerに書いたりする。 というかMojavi陣営もActionChainの矛盾に気がついてMojavi3では 実装してないとかじゃなかったっけ。 アクションやビューをコントローラにしてアクション呼び出し時に 実行するアクションを振り分けたい場合は ttp://dozo.matrix.jp/pear/index.php/Framework/Ethna/Module.html の人がやってるから参考にするといいかも。
66 名前:nobodyさん mailto:sage [2005/12/11(日) 00:43:38 ID:???] >>65 自分で書いているとおりじゃないの?
67 名前:nobodyさん [2005/12/11(日) 17:44:23 ID:lCfSK4rb] ぼくは ノ^ヽ, ___ i┐ ヘ _____. ,ヘ ,ヘ ,ヘ ,¬, ┌───┐ /∠ゝ,,ヽ! | | | ノ/└┐i-i┌-! ┌ゝムゝム!∠-i ノ ヘ,.ヽ.,, |__!三三!__| くイ'三三┐| | | | / |'┌┘!-!└┐ | |二二二二マ | ,.-''" ∠--ゝ ,"フ i'''i二二二i'''i | ,二二, | | | | | <,. | | n n n |  ̄ !---'ゝ/└┘ 丶-'======='= |.,二二二', | | i三三┘| | | | | | | || | | | | | ┌----! '----┐ └--, ,-,..---┘ | 二二二,. | 丿,. ┌┐"|U | | | | | U U U | " ̄ ̄] | ̄ ̄" _/ ∠,..ゝ\ |__, ̄二 ̄__| 'V |__二_| エ_| |_| |__i-----i__| 匸_.」 !,. ----''''"ヽ,ゝ i二ノ \_
68 名前:nobodyさん mailto:sage [2005/12/15(木) 18:49:24 ID:???] ttp://ethna.jp/ethna-tutorial.html ↑の、チュートリアル→(2) howto→フォーム定義の6番目、 6.フォーム値の自動検証を行う(複合チェック編) ここまだ空欄だけど、どういう内容になるのかな? こういうことをやったことある方、ヒントをいただけないでしょうか。
69 名前:nobodyさん mailto:sage [2005/12/16(金) 10:40:08 ID:???] 200文字を超えたら、「なげーよ」 表示とか。
70 名前:nobodyさん mailto:sage [2005/12/16(金) 20:13:39 ID:???] 6.フォーム値の自動検証を行う(複合チェック編) と書きつつ、よく読むと自動検証は行わないみたいね。 >>69 3.フォーム値の自動検証を行う(基本編) それは、これでできるから複合チェックではないよ。 ただ、複数のテキストボックスで合計の文字数200文字とかは、6番だね
71 名前:68 mailto:sage [2005/12/16(金) 22:23:13 ID:???] ちょっと長めの入力フォームを作っていて、ラジオボタンで入力内容を切り替え ようかと思ってます(ラジオボタンをチェックするとjavascriptでフォームの一部を チェンジします)。 このようなフォームだと、Aに値がセットされているときは、BとCは必須という 感じのチェックが必要になり、そういうチェックが簡潔に書けるのかなと。 まあ、場合分けしてごりごり書いても良いんだけど、フジモト氏やhalt氏なら どう書くのか参考にしたいんですよね。
72 名前:nobodyさん mailto:sage [2005/12/16(金) 22:31:54 ID:???] >>71 フォーム間のチェックは_validateplusメソッドですが、そういうことではなくてですか? このメソッドは泥臭く書く以外ないですが。
73 名前:68 mailto:sage [2005/12/16(金) 22:37:55 ID:???] >>72 お、ヒントありがとうございます。早速調べてみます。 泥臭く書くしかないのは理解してますが、Ethnaの流儀に従えば少しは 楽できるのかなと期待してるんですがw
74 名前:72 mailto:sage [2005/12/17(土) 02:51:25 ID:???] たとえば、「Aのフォームでhogeを選択した場合にBが必須になる」くらいだったら 簡単だよね。 validateメソッドでチェックする前に、ActionFormの定義値を変えてやればいい。 HOGE_ActionClass::prepareの中で if($this->af->get('a')=='hoge'){ $this->af->form['b']['require'] = true; } if($this->validate()>0){ return 'post'; } とかかな。これがEthnaの流儀かどうかはしらんが、ActionFormを使うならこうするかな。
75 名前:68 mailto:sage [2005/12/18(日) 14:23:11 ID:???] >>74 ありがとうございます。 なるほどこういう書き方ができるんですね。もっと泥臭い処理を考えてました。 細かいチェックをしたい場合は同様にフィルタをセットすればいいのかな? (後で試してみます) よくできてるなぁ。
76 名前:72 mailto:sage [2005/12/18(日) 21:49:38 ID:???] 少なくともActionFormのないフレームワークは使いたくなくなるね。 フィルタでフォームをチェックしようとするとコードが散らかるし、 Ethnaの流儀ではカスタムチェックメソッドをActionFormクラスに追加するかな。 Hoge_ActionFormにチェックメソッドを追加して、formにカスタム登録 class Hoge_ActionForm { var $form = array( 'hoge' => array( // ..... 'custom' => 'hogecustom,foocustom', // ..... function hogecustom($name){ } function foocustom(){ } } でイイと思うけど。詳しいhogecustomの実装方法は、Ethna_ActionForm::checkURLとか参考に。
77 名前:68 mailto:sage [2005/12/18(日) 22:29:36 ID:???] >>76 すみません。フィルタじゃなくカスタムチェックでしたね。 いいかげんな事書いちゃいました。 これだけできれば十分ですね。非常に簡潔ですし。 Ethna_ActionForm::checkURL も参考にします。 #Ethnaのバージョンが低いうちにソースに目を通しておかねば。
78 名前:nobodyさん mailto:sage [2005/12/25(日) 00:41:18 ID:???] ethna、便利なんだけど、 ActionFormの定義と、AppObject の定義を書くのがすげー面倒。 フォームの内容がたくさんあったりするとシコシコと $form の配列を書かないといけないから。 みんなどうしてるんだろう。
79 名前:nobodyさん mailto:sage [2005/12/25(日) 01:27:44 ID:???] >>78 面倒だけどシコシコ書いてる。 省略もできるんだろうけど、後から見直す場合は全部書いておく方が 見通しがいいと思うので。
80 名前:nobodyさん mailto:sage [2005/12/25(日) 11:15:24 ID:???] >>78 AppObjectは、先にDBでテーブル作って自作のtoolでテーブル定義→オブジェクト定義を コピーするスケルトン作成。 ・・・・・って方法はどう?作ってリリースしてくれ。 ActionFormはどうしようもないね。画面設計に依るから。
81 名前:nobodyさん mailto:sage [2005/12/28(水) 21:20:52 ID:???] Javascriptなどでフォームの数が動的に変化するページがある場合、 ActionFormクラスの$form定義をどう書いてますか? inputタグのname値を配列としてsessionに記録していますが、 ActionFormクラスではsessionにアクセスできないし、ActionClassの prepareメソッドで$formを追加してもvalidate()メソッドを呼ぶとエラーになります。 あきらめて$_POSTを直接参照してもいいのだけれど、解決法があるなら Ethnaの流儀にそって書いておきたいです。 このようなページを処理した事がある方、ヒントをいただけないでしょうか。
82 名前:nobodyさん mailto:sage [2005/12/29(木) 01:38:55 ID:???] Ethnaを使って、一般配布されているスクリプトってありませんか? 勉強のため参考にしたいのですが、中々見つかりません。 もちろん付属のSampleもいじっています。
83 名前:nobodyさん mailto:sage [2005/12/29(木) 01:56:13 ID:???] >>82 MLにYahoo検索の話題がでてるね。
84 名前:nobodyさん mailto:sage [2005/12/30(金) 01:18:15 ID:???] [ethna-users:0155]のhaltタソのコードは参考になるなぁ。 Ethna_Controllerクラスでマネージャを登録することで、ActionClassで 初期化作業をすっ飛ばして直接呼び出せるようになるんだね。 ところで、Ethna_Controllerクラスでは、 'Yjs' => 'Query' としているのだけど、この'Query'にはどんな意味があるのだろう?
85 名前:nobodyさん mailto:sage [2005/12/30(金) 14:13:37 ID:???] >>83 あ、出ていましたね。ありがとうございます。 早速DLして見てます。
86 名前:nobodyさん [2006/01/04(水) 01:59:43 ID:ST4/dfIz] ロゴが変わったな。
87 名前:nobodyさん mailto:sage [2006/01/04(水) 02:20:39 ID:???] ほんとだ、前の覚えてないけど、新しいのイマイチな気がする。 と言うより、デザインは良いけど、罫線ないほうがシックでかっこいい。 ミニサイズのバナーとおそろいに青系一色とか。
88 名前:nobodyさん [2006/01/04(水) 21:26:29 ID:ST4/dfIz] ttp://www.seshop.com/event/dev/2006/timetable/Default.asp?mode=detail&eid=61&sid=282&tr=05%5F%8AJ%94%AD%83e%83N%83m%83%8D%83W%81%5B#282
89 名前:nobodyさん mailto:sage [2006/01/05(木) 10:58:02 ID:???] おおざっぱだな。
90 名前:nobodyさん mailto:sage [2006/01/06(金) 15:01:06 ID:???] EthnaでSmartyの'hierselect'を利用するにはどうしたらいいのでしょう? ヒントいただけませんか?
91 名前:nobodyさん [2006/01/06(金) 17:06:34 ID:EEplBUgD] >>90 smartyにも hierselect ってあるんだ。プラグイン?
92 名前:90 mailto:sage [2006/01/06(金) 17:19:54 ID:???] >>91 デフォルトで組み込まれてますよ。 Smartyオブジェクトにアクセスできればいいんじゃないかと思うけど その方法がわからん・・・
93 名前:nobodyさん mailto:sage [2006/01/06(金) 21:04:38 ID:???] >>92 ActionClassからなら $smarty =& $this->backend->ctl->getTemplateEngine(); で使用中のSmarty取れる。 何したいかよくわからんけど、とりあえずそんな感じ.
94 名前:90 mailto:sage [2006/01/06(金) 22:15:02 ID:???] >>93 ありがとうございます。 助かりました。
95 名前:nobodyさん mailto:sage [2006/01/06(金) 23:37:29 ID:???] いやSmartyにhierselectはないでしょ
96 名前:90 mailto:sage [2006/01/06(金) 23:49:52 ID:???] >>95 ・・・・・・・。 すんません。HTML_QuickFormでした。 休みボケでした。お恥ずかしい・・・orz
97 名前:90 mailto:sage [2006/01/07(土) 00:04:03 ID:???] あ、でも renderer に Smarty を使っていて、renderer のインスタンスを 作るときに Smarty のインスタンスを渡す必要があるので、>>93 さんの 情報は役に立ちます。ありがとうございました。 また、スレ汚しすみませんでした>皆様
98 名前:nobodyさん [2006/01/07(土) 00:22:07 ID:vbU0E729] 僕は ethnaでは quick_form の必要性を感じないけどなぁ。 ActionForm でも $form を定義して、 quick_form でも form のエレメントを作成して、 って2度手間な気がします。 validateも ethnaのvalidateでいいし。 javascriptを自動生成してくれるのは便利だけど。
99 名前:nobodyさん mailto:sage [2006/01/07(土) 01:35:07 ID:???] hierselectを使いたいんでしょ
100 名前:nobodyさん [2006/01/12(木) 01:26:04 ID:F7HO2NXc] Ethnaいいんだけど、ファイルの階層構造が深くなるのがちょっとやだな。
101 名前:nobodyさん mailto:sage [2006/01/12(木) 08:09:50 ID:???] 階層は深くなるけど見通しは良くなった。 Ethna使う前の設計が拙かっただけだけど。 階層が深くて困ることってなに?
102 名前:nobodyさん [2006/01/12(木) 10:35:54 ID:F7HO2NXc] >>101 目的のファイルにたどりつくのが大変。 templateとviewとactionが結構離れてるでしょ。 emacsで行ったり来たりするのが大変なんです。
103 名前:nobodyさん mailto:sage [2006/01/12(木) 10:59:29 ID:???] >>102 納得。 俺もそれでエディタでの開発をあきらめて、今はPHPEclipseを使ってる。 エディタの手軽さも捨てがたいんだけど全体の見通しが良いほうが 後でメンテナンスするときに楽だからね。
104 名前:nobodyさん mailto:sage [2006/01/12(木) 11:56:16 ID:???] でも開発者以外の人もソースみたりテンプレートいじったりするならわかりやすくフォルダ分け⇒階層深くなるも利点だったりする。 どこいじったらいいかわかりやすい…
105 名前:nobodyさん mailto:sage [2006/01/12(木) 13:12:36 ID:???] >>102 あらかじめ一括でぶちこむフォルダ(unify)を用意して 作成したプロジェクトのコントローラーの$directoryを 'action' => 'unify', 'view' => 'unify', 'template' => 'unify' とか全部同じディレクトリにすればいい。 コントローラーで設定すればアクションの自動生成も対応できる。 フォルダ階層は好みの分かれるところだから かなり自由にいじれるようになってる。 「これだ俺のデフォルトスタイルだ」とおもったら Ethna本体のskelをいじれば以後プロジェクトを作った場合も 勝手に自分の好きなフォルダ階層になる。
106 名前:nobodyさん [2006/01/14(土) 05:22:07 ID:YyEEFPbb] media.rubyonrails.org/video/rails_take2_with_sound.mov で使ってるエディタよさそうなんだけど、何だかわかりますか?
107 名前:nobodyさん mailto:sage [2006/01/14(土) 13:41:28 ID:???] >>106 日本語の読み書きが一切不可能なことで有名なTextMateというエディタです。 macromates.com/
108 名前:nobodyさん [2006/01/14(土) 14:55:41 ID:YyEEFPbb] >>107 ありがトン でも日本語入力できないんじゃつかえねー。 無料じゃなさそうだし、 そもそもmacもってない。 ttp://yatsu.info/archives/001456.html なんてやつもいるな。
109 名前:nobodyさん [2006/01/21(土) 12:43:44 ID:bRqE5FUc] Windows上にApache+MySQL+PHP+Ethnaの環境を作りたいのですが、 PEAR::DBの設定で行き詰ってます。 Managerクラス(fooと登録)で、 public function connect() { $db = $this->backend->getDB(); if (Ethna::isError($db)) throw new Exception('DB error', 1); $this->db = $db; } としてEthna_ActionClassのperformメソッドで、 try { $this->foo->connect(); $this->foo->xxx();// queryを発行するメソッド } catch (Exception $e) { $this->ae->addObject(null, $e); return 'yyy'; } とすると、コネクトではエラーは返らず、queryを発行するメソッドの 方で Fatal error: Call to a member function query() on a non-object in エラーが発生しました。getDB()した直後で$dbをis_objectするとfalseが 返ってくるので、getDBに失敗してるみたいなんですが、どこを 見直すべきでしょうか? Ethnaはpear innstallコマンドでインストールしてます。 チュートリアルにある空のindex pageの作成・表示までは上手くいっております。
110 名前:109 mailto:sage [2006/01/21(土) 19:10:43 ID:???] 109です。 大変失礼しました。 dsnの記述を間違っていただけでした。
111 名前:nobodyさん mailto:sage [2006/01/21(土) 21:52:09 ID:???] $r =& $rs->fetchRow(DB_FETCHMODE_OBJECT); //これは普通に使えてます するのが面倒なので、アプリケーションオブジェクトにて、 class Sample_Foo { var $db; function Sample_Foo(&$backend) { if (! ($this->db =& $backend->getDB()) ) { // } $this->db->setFetchMode(DB_FETCHMODE_OBJECT); //これができない } } のようにコンストラクタに指定しようとしたところ、 Fatal error: Call to undefined function: setfetchmode() ... となりました。$backend はアクションクラスにて、 function perform() { $foo =& new Sample_Foo($this->backend); // } fetchRow() のデフォルトの振舞いはどこで設定するのがよいですか?
112 名前:nobodyさん mailto:sage [2006/01/21(土) 22:00:02 ID:???] $this->db->db->setFetchMode() かな。 Ethnaが実装してない部分はこうして 直接指定してます。
113 名前:nobodyさん mailto:111 [2006/01/21(土) 22:39:09 ID:???] 112>> 動作しました。 勉強不足で、なぜそれで OK なのかわかりません...orz これからgetDB()のコード探して読んでみます。 ありがとう!!
114 名前:nobodyさん mailto:sage [2006/01/21(土) 23:45:28 ID:???] >>58 なんかも見てみましょう。 実は自分もこのスレで教えてもらいますた。
115 名前:nobodyさん [2006/01/22(日) 01:47:34 ID:MuWpGim1] action を作ったときに templage も生成してくれると楽なんだけどなー
116 名前:nobodyさん [2006/01/26(木) 23:26:36 ID:P4JZCK77] 思いっきり我流のphpフレームワークで恐縮ですが公開して見ました。 もしよろしかったらご覧いただければ幸いです。 pharon.lolipop.jp/
117 名前:nobodyさん mailto:sage [2006/01/27(金) 09:15:55 ID:???] 完全にスレ違いだが。 >>116 これはちょっと・・・・Ethnaとの越えられない壁を感じる。 まず、ローマ字綴りのファイル名とかいきなりorz。 setter/getterはせめてisset確認して欲しいとか。 ShiftJIS使うなとか。 もしかして、JJ?
118 名前:nobodyさん mailto:sage [2006/01/27(金) 09:43:54 ID:???] >>117 ローマ字はキモイな。 でも形にして公開するあたりは評価に値する。 内容は見てないけど。
119 名前:nobodyさん mailto:sage [2006/01/27(金) 11:37:31 ID:???] >>116 ttp://pharon.lolipop.jp/table_mente/menu.php これformの内容がまったくエスケープされてないんだが。 修正の所でaaaで検索してみそ。
120 名前:nobodyさん [2006/01/27(金) 20:59:08 ID:IoK0izfX] Ethnaのスクリプトを一ファイルにまとめる機能って Actionも含めて一ファイルにするんですか? システム関連のファイルのみ?
121 名前:nobodyさん mailto:sage [2006/01/29(日) 12:00:04 ID:???] >>120 やった事ないからわからないんですが、たいしてパフォーマンスは改善されなかった って書いてあったような気がします。 予想だけど、actionは無理じゃないかな。 Ethnaのソースコードはそんなにファイル数ないからあまり効果ないのでは。
122 名前:nobodyさん mailto:sage [2006/01/30(月) 08:44:39 ID:???] Ethna-0.2.0正式リリース
123 名前:nobodyさん mailto:sage [2006/01/31(火) 01:04:57 ID:???] Ethna-0.2.0 リリースキター 藤本神のblogでも、時間がとれるようになったからどんどんフィードバック していきたいみたいな事が書いてあって、期待大。
124 名前:nobodyさん mailto:sage [2006/01/31(火) 02:13:43 ID:???] ロゴの投票やってるのでどうぞ。 ttp://ethna.jp/ethna-logo.html 4が一番人気だけど、なんかのロゴに似てるな。 なんだろう。
125 名前:nobodyさん mailto:sage [2006/01/31(火) 04:34:55 ID:???] 確かにどこかで見たような気がする・・なんだっけ。 シンプルに4番って気もするけど、個人的には遊びゴコロを感じる1番を押したい
126 名前:nobodyさん mailto:sage [2006/01/31(火) 07:20:37 ID:???] EthnaってMojaviでいうModuleないの? Actionだけだとファイルがごちゃごちゃになりそうな気がするんだけど
127 名前:nobodyさん mailto:sage [2006/01/31(火) 10:30:34 ID:???] >>128 ないと思う。 action_foo_bar_baz と 自分で階層を作るのかな? 工夫すればそれっぽい事はできそうだけど。
128 名前:nobodyさん mailto:sage [2006/01/31(火) 10:52:09 ID:???] やっぱり? 個人的には 人間が容易に把握できると言われる オブジェクトのプロパティー数=7+-2個程度が 一つのディレクトリにいれておくActionファイル数としても ちょどいいと思う。
129 名前:nobodyさん mailto:sage [2006/02/02(木) 13:49:37 ID:???] Windows 2K+PHP 5.2.1なんですが・・・ C:\>pear install Ethna-0.2.0.tar.gz parsePackageName(): "0.2.0.tar.gz" is neither a valid version nor a valid state in "Ethna-0.2.0.tar.gz" invalid package name/package file "Ethna-0.2.0.tar.gz" Cannot initialize 'Ethna-0.2.0.tar.gz', invalid or missing package file Package "Ethna-0.2.0.tar.gz" is not valid install failed となりました。 一応ご報告まで。
130 名前:nobodyさん mailto:sage [2006/02/02(木) 15:27:31 ID:???] Ethna-0.2.0正式版がでてからWindows上できちんと動作してます? Ethnaのディレクトリをinclude_path(*)に加えても、 Warning: main(Ethna/Ethna.php): failed to open stream: No such file or directory in D:\foo\bar\app\Bar_Controller.php on line 20 とかいわれるし・・・。PHP 5.2.1とPHP4.4.2の両方で試したけど。 (*)php -i > info.txt include_path .;D:\PHP\PEAR;D:\PHP\Ethna .;D:\PHP\PEAR;D:\PHP\Ethna
131 名前:nobodyさん mailto:sage [2006/02/02(木) 15:58:51 ID:???] >>130 Ethna ディレクトリの親ディレクトリを include_path に加えなはれ。 ていうか PEAR のディレクトリが include_path に入ってるなら pear install Ethna-0.2.0.tgz だけで済むのに。
132 名前:130 mailto:sage [2006/02/02(木) 16:17:36 ID:???] >>131 動きました。 助かりました。ありがとう。 すみません>>129 も私でした。 他のパッケージはインストールできるのですが、Ethnaは 1) pear install Ethna-0.2.0.tar.gz 2) pear install Ethna-0.2.0.tgz どちらもだめですね。うむむ。 1) [ethna-users:0191] より。 ちなみに2)の場合はこんなメッセージでした。 D:\>pear install Ethna-0.2.0.tgz No releases available for package "pear.php.net/Ethna" Cannot initialize 'Ethna-0.2.0.tgz', invalid or missing package file Package "Ethna-0.2.0.tgz" is not valid install failed
133 名前:nobodyさん mailto:sage [2006/02/03(金) 01:35:22 ID:???] >>132 ダウンロードしたEthnaが置いてあるディレクトリに移動するとか、 Ethnaのある場所を指定してやれば良いんじゃないの?
134 名前:130 mailto:sage [2006/02/03(金) 08:50:06 ID:???] >>133 そういう意味だったの・・・。 てっきりダウンロードから自動でやってくれるのかと・・・。 失礼しました。
135 名前:nobodyさん mailto:sage [2006/02/03(金) 18:12:16 ID:???] 今更だけど・・・ pear install ****/Ethna-0.2.0.tar.gz でも動くよね?
136 名前:130 mailto:sage [2006/02/04(土) 14:25:12 ID:???] >>135 pear install prdownloads.sourceforge.jp/ethna/18710/Ethna-0.2.0.tar.gz でインストールできることを他のマシンで確認しました。
137 名前:nobodyさん mailto:sage [2006/02/12(日) 00:59:00 ID:???] AppObjectは面倒くさくて使う気になれないんですが、使うとどういう点で幸せになれますか? いまいちピンときません。
138 名前:nobodyさん [2006/02/12(日) 16:10:39 ID:HHAh2SKQ] >>137 テーブルを永続オブジェクトとして扱える。 ↓ SQLを使わずに永続オブジェクトを通してテーブルにアクセスできる。 ↓ DB非依存のコードになる。 ↓ ちょっと幸せ
139 名前:nobodyさん mailto:sage [2006/02/12(日) 21:05:40 ID:???] >>138 AppObject自体が mysql にべっとりだけど?
140 名前:nobodyさん mailto:sage [2006/02/12(日) 22:52:49 ID:???] >>139 まぁ、AppObjectを使うのはその考え方(O/Rマパ)を採用してるみたいなところあるから。 自分の使うRDBMSに合うように書き換えれば済む話だからあまりMySQLべっとりは本質的ではないと思う。
141 名前:nobodyさん mailto:sage [2006/02/13(月) 07:20:58 ID:???] >138 一晩、AppObject使ってみておっしゃることが少し理解できました。 というかオブジェクト指向がなんで必要なのか、Ethnaのおかげでうっすらわかってきました。 あと、これ便利でした。 [AppObjectを生成するコマンドラインツール] ethna.jp/pipermail/users/2006-January/000165.html
142 名前:nobodyさん [2006/02/15(水) 23:25:12 ID:ysMvv2cd] サンプルみたいなものは無いの? 実際にEthna使ってるアプリのソース見てみたいんだけど。
143 名前:nobodyさん mailto:sage [2006/02/16(木) 02:24:28 ID:???] 僕も色々見てみたいんだが、Ethna使ってるのってあんまりサンプル出回ってないよな。 公式にあるのと、MLに1,2個上がってるからそれ見るぐらいしか。
144 名前:nobodyさん mailto:sage [2006/02/16(木) 14:55:18 ID:???] Ethnaよさげなんだけど ・moduleがない ・compositeViewがない これが問題
145 名前:nobodyさん mailto:sage [2006/02/16(木) 21:04:10 ID:???] >>144 moduleとcompositeViewってなに? 何かいいことあるの? Ethnaしか知らんので、教えてくれればうれしい。
146 名前:nobodyさん mailto:sage [2006/02/16(木) 21:55:18 ID:???] moduleはAction-View-Templateのコンテナ。 クラスが増えすぎた時にごちゃごちゃにならない。 compositeViewはCompositeパターンを適用したView。 複数のAction-Viewを組み合わせて 一枚の画を作る時にとっても便利 from Mojavi3
147 名前:nobodyさん mailto:sage [2006/02/17(金) 11:34:05 ID:???] ActionFormにて あるフォームに値が入ると周辺のフォームもrequiredになるフォームグループ。 それぞれのフォーム定義に 'group' => 'hoge', ってしとくと _validateする前にざざっとissetで値が入ってるか調べてrequiredしたりしなかったり。 type=radio,checkbox,select等に「その他」の項目を作ってそれを選んだ時だけ すぐ下のtype=textに書かせるような疑似コンボボックス。 'combo' => array( '8' => 'other' ), ってしとくと value="8" をPOSTすっと <input type="text" name="other">がrequiredされるという。微妙。 需要ある?
148 名前:nobodyさん mailto:sage [2006/02/17(金) 13:25:02 ID:???] あります! 是非アップお願いしまっす。 コードを気軽に投稿できる場所があるといいですねぇ。
149 名前:nobodyさん [2006/02/17(金) 15:38:48 ID:pZsluFn9] >>144 そうかモジュール構造にしたいか、、 diary.eth.jp/?date=20060201 にある Ethna Viewコンポーネント(from GREE by 小泉さん) というのがcompositeViewになる。のでもうちょっとまってて。
150 名前:nobodyさん mailto:sage [2006/02/17(金) 16:50:25 ID:???] >>149 関係者 or 藤本神ご本人? 期待してます。wktk
151 名前:nobodyさん mailto:sage [2006/02/17(金) 20:01:19 ID:???] >149 は モジュール構造というか、どっちかというと >144が言うところの compositeView の事だと思っていたのですが。。。
152 名前:nobodyさん mailto:sage [2006/02/17(金) 21:29:24 ID:???] >>150 そういういらん確認はしないほうがいいんじゃね? 関係ない人が参加しようとしてるときにテンション下がりそうだし。 期待してるだけでいいじゃん
153 名前:nobodyさん mailto:sage [2006/02/18(土) 00:17:12 ID:???] >>151 モジュールは保留だけどCompositeViewは作り中ってことでは? >>152 いや俺自身何の面識もない部外者なんだけど… なんでテンションが下がるの?
154 名前:nobodyさん mailto:sage [2006/02/18(土) 18:55:13 ID:???] セイセイセイ
155 名前:nobodyさん mailto:sage [2006/02/23(木) 21:50:51 ID:???] Ethnaに関係なんだけどさ。 [ethna-users:0215] W+D Vol31に載ってたDNS検索の実装 31号なんて見当たらんのだが。どこに売ってるんだ?
156 名前:nobodyさん [2006/02/23(木) 22:58:50 ID:InB2CvHj] このスレみると join できないって書いてあるけど、 ethna.jp/ethna-changes.html を見ると、 Ethna_AppObjectのJOIN検索がSQLエラーになる(ことがある)問題を修正 とか書いてあるね。
157 名前:nobodyさん mailto:sage [2006/02/24(金) 03:16:50 ID:???] >>155 過去にWEB+DB MAGAZINEに執筆したことのある人のところには 今週のはじめくらいに届いてる。 うちにもあるよ。
158 名前:nobodyさん mailto:sage [2006/02/24(金) 08:18:52 ID:???] >>157 なるほど。 じゃあもうすぐ発売されるのね。 楽しみに待っとく。ノシ