トップページphp
982コメント331KB

【PHPフレームワーク】Ethna【スケルトン自動作成】

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2005/08/03(水) 21:00:39ID:TuHx69hT
国産フレームワーク、Ethnaでいい意味で手抜きなプログラミングライフを。

Ethna -PHPウェブアプリケーションフレームワーク-
http://ethna.jp/

SourceForge.jp: Project Info - Ethna
http://sourceforge.jp/projects/ethna/
0002nobodyさん2005/08/03(水) 21:01:00ID:???
関連スレ
【PHP】フレームワークMapleに舌鼓@WebProg
http://pc8.2ch.net/test/read.cgi/php/1122105465/l50
000312005/08/03(水) 21:02:18ID:???
Web+DB Vol.27 でEthnaとMapleの特集が
あって始めてみた奴は多いはず。

しかし、へたれな俺はいまだ初期サンプルすらうごかず。
Windowsでやるのはちょっと面倒らしい
0004nobodyさん2005/08/03(水) 21:17:01ID:???
>>1
Mapleスレも立ってないのに特集にあったからってスレたてるのもどうかと
000512005/08/03(水) 21:32:22ID:???
>>4
君は>>1-3すら読めないの?
000612005/08/03(水) 21:39:20ID:???
Smartyそのまま、インスコだと、フォルダ構成が違うんだな…
一応、動いた
000742005/08/03(水) 22:02:08ID:???
ごめん、MapleじゃなくてMojavi
Mojoviスレも立ってないのに特集にあったからってスレたてるのもどうかと
大体、藤本スレがあるじゃんエスナ。
000812005/08/03(水) 22:08:43ID:???
>>7
藤本スレってどれ?
フレームワークって一つのスレでやるわけにもいかないし
Mojaviがいるならそれを立てたらいいんじゃない?

糞スレがいっぱいあるんだし、下のほうで落ちかけてる
糞スレよりマシなら新スレはありだとおもうけど。

あと、新しい技術とかネタは、資料が少ないので枯れた技術より
スレの価値はあると思うけどな
0009nobodyさん2005/08/04(木) 10:24:38ID:???
>>1
Phrame スレが実質的フレームワーク総合スレみたいになってるから、そっちでやると良いよ。
多分次スレは、総合スレにすると思うし。
0010nobodyさん2005/08/04(木) 14:15:11ID:???
オリフレ
0011nobodyさん2005/08/05(金) 00:59:30ID:???
いちいちコマプロ起動すんの邪魔くさいので、
ブラウザから骨作成できるようにかえてみた
0012nobodyさん2005/08/07(日) 10:44:22ID:haxCMb+Y
DBアクセスがよくワカンネ('A`)

Ethna -PHPウェブアプリケーションフレームワーク-
http://ethna.jp/ethna-db.html

をどこに書いたらいいのかよくわからん。
0013nobodyさん2005/08/07(日) 15:34:24ID:???
PHP使いのレベルの低さを露呈するスレですか?
0014nobodyさん2005/08/07(日) 23:24:22ID:???
>>13
10レス程度しかないスレの判断が自分でできないの?
0015nobodyさん2005/08/08(月) 00:01:58ID:???
>>14
10レス程度しかないから判断に困ってるんじゃないのか?
日本語おかしいぞ。
0016nobodyさん2005/08/08(月) 00:51:37ID:???
PHP使いの日本語のレベルの低さを露呈するスレのようだな。
0017nobodyさん2005/08/08(月) 01:04:16ID:???
>>13-16
つまらん会話は他でやれよ
0018nobodyさん2005/08/08(月) 02:36:56ID:5eB+RryD
>>17
他スレの内容もよく確認せずに立てるからこういうことになる。

>>9で誘導された以降は埋めに入っているだけだ。
0019nobodyさん2005/08/08(月) 02:42:52ID:???
>>18
埋めずに放置したほうが早いと思うが・・・
0020nobodyさん2005/08/08(月) 23:04:04ID:???
FFの魔法?
0021nobodyさん2005/08/09(火) 07:49:38ID:???
$res1 = new m9('a')->("プギャァ~");
0022nobodyさん2005/08/09(火) 15:28:16ID:???
>>21
お前が考えたとしたらすごい
0023nobodyさん2005/08/19(金) 16:22:35ID:G4tV6ApK
保守
0024212005/08/20(土) 03:45:36ID:???
>>22
一応自作
md5('a')がプギャーに見えると誰かが言っていたのが元ネタ
0025nobodyさん2005/09/07(水) 08:13:27ID:mmk2nS5q
GREEがEthnaに全面移行だって。
Ethnaの波がきそう。
0026nobodyさん2005/09/07(水) 11:28:40ID:???
Ethna見たけどPEAR::DB前提なのがなぁ
0027nobodyさん2005/09/08(木) 03:02:26ID:rKSNVtMq
>>25
オープンソースものができないと波は来ないと思われ
GREEの中の人が作ってるものがGREEに適用されるだけでは
たいした変化は無いと思われ

あ、更新はもうちょっと盛んになるかな
0028nobodyさん2005/09/09(金) 17:40:26ID:???
>>27
GREEで使われている→OSSで使われる→浸透
ってなるかもしれないし,採用されること自体は良いことだと思うなー
何しろEthnaの開発者自身が使うんだし.
0029nobodyさん2005/09/20(火) 11:50:19ID:???
http://ethna.jp/doc//__filesource/fsource_Ethna__classEthna_AppObject.php.html#a814
このメソッドではき出されるインサート文、
動くデータベースサーバって、MySQLだけ?
0030nobodyさん2005/09/30(金) 00:46:01ID:???
>>29
今のところEthna_AppObjectがMySQLの場合の処理しか書いてないから
そうみたいだね。

あと、Ethna_AppObjectがPEAR::DBに結構べっとりなんで、orz。
0031nobodyさん2005/10/19(水) 03:41:02ID:???
GREEってめちゃくちゃ負け組だし。
0032nobodyさん2005/10/20(木) 00:10:46ID:???
>>30
creole使ったアプリが出てたぞ。
0033nobodyさん2005/10/20(木) 20:17:48ID:gGHMowG8
http://japan.cnet.com/interview/story/0,2000050154,20088792,00.htm
キタコレ
やはりスクラップ&ビルドしたみたいだね
0034nobodyさん2005/10/20(木) 20:44:36ID:CoKHMuIL
>ちなみに、CTOの藤本は一部で「PHPの神」とも呼ばれている人物です。
ふじもと神カッコヨス!
0035nobodyさん2005/10/20(木) 21:48:12ID:???
>>34
一部が馬鹿すぎるだけかもしれんぞ?
0036nobodyさん2005/10/29(土) 00:45:05ID:cpVuZiEl
>>30
PEAR::DB以外でも使えます。
たしかにEthna_AppObject.phpのDBオブジェクトを格納しているメンバ変数名は
my_dbなのでMySQL限定にみえますが、getDBListでもってきているので
Controller側で設定されたDBオブジェクトが格納されるようになっています。
さらに、SQL生成部分も抽象化されているのでPEAR::DBよりも手前のレイヤー、
getSQL関連の部分をQueryBuilderなどに置き換えることで他のライブラリに対応させることも可能です。

ただJOINとかには'まだ'対応していません。(設計上は実装可能ということです)

とりあえずimportForm,exportFormが便利なのでオススメ。
0037302005/11/02(水) 01:11:18ID:np1WZqZr
いやー、詳しい説明ありがとう。

自分が、Ethna_AppObjectが結構PEAR::DBにべっとりだなって思ったのは、
Ethna_AppObject::searchPropで
-------
$r =& $this->my_db_ro->query($sql);
if (Ethna::isError($r)) {
return $r;
}
$n = $r->numRows();
-------
ってところ。
$rにnumRowsメソッドを期待してるところからです。

なんで、Ethna_DB_PEAR以外にEthna_DB_HOGEってのを使おうと思って、
class Ethna_DB_HOGE extends Ethna_DB
ってのを作ったのですが、これだと少なくともsearchPropで上手く行かないので、
PEAR::DBと同じようにPEAR::DB_Resultと同等のメソッドを持つラッパー的に
class HOGE_DB_Result
ってのを作りました。

ドキュメントには、「Ethna_AppObjectは自分による自分のためだけの・・・」
なんて書いてますが、Ethna使ってて他のORマッパー使おうとは思えないんで。

テーブルJOINは
function _SQLPlugin_SearchTable(){return "";}
を見て、ややコケました。
なんで、なんかかなり強引にやった気がする。


importForm/exportFormは便利ですね。EthnaはDB/Formが明確に分かれて扱えながらも
接着は容易という点で使いやすいです。
0038nobodyさん2005/11/03(木) 22:06:06ID:???
今日はじめてEthna使ってみたけど、
O/RマッピングはJOINが出来ないって書いてあったから
最初から使う気無かった。
JOIN使わないSELECT文ってほぼ有り得ないだろうと思うんだけど。
PDOを使ってDB接続、SQL発行管理用にクラス作ってControllerクラスでincludeしてるよ。
Ethnaってかなりいいなぁと思うけど、更新の遅さがちょっと気になる。
0039nobodyさん2005/11/03(木) 23:10:11ID:???
そこで予めJOINしておいたVIEWを使うのですよ。
0040nobodyさん2005/11/04(金) 09:24:45ID:???
>>39
び、びゅ〜が使えないDBの場合はどうすれば・・・
0041nobodyさん2005/11/04(金) 15:59:09ID:Rgaz27bJ
>>40
AppObjectにこだわる必要はないし使わなければいいのでは?
自分は実務ベースではAppObjectは使ってない。
0042nobodyさん2005/11/04(金) 19:00:15ID:???
>>40
マイエスキューエルの事かぁぁぁああ!
0043nobodyさん2005/11/04(金) 19:05:09ID:???
MySQL 5.0! MySQL 5.0!
0044nobodyさん2005/11/04(金) 19:44:28ID:???
MySQLは4.0系で終了してます。
0045nobodyさん2005/11/05(土) 19:56:47ID:???
>>44
4.1 系、 5.0 は怖くて使ってないです。
マルチバイトの問題をまとめて本家に伝えるみたいなのはどうなったんだろう。
0046nobodyさん2005/11/06(日) 16:38:43ID:???
自動変換をやめるオプションの記事を
どこかのブログで読んだ記憶がある
0047nobodyさん2005/11/09(水) 22:28:17ID:???
>>45
http://www.mysql.gr.jp/mysqlml/mysql/msg/12372
0048nobodyさん2005/11/29(火) 01:43:21ID:???
コミッターにhaltタソが加わりました。
少し動きが出ればいいんですが。
0049nobodyさん2005/11/29(火) 11:43:19ID:???
Web+DB Vol.27 を見て興味を持ったんだけど、サイトにある最新版は 0.1.5 ですね。
0.2.0 はどこか別の場所にあるんですかね?
サイトには8月中には出したいと書かれているけど?
0050nobodyさん2005/11/29(火) 13:04:14ID:???
>>49
俺も見つけられなかった・・・たぶん無いんじゃないかな
sourceForgeのCVSからとってくるのが一番マシかと。
0051nobodyさん2005/11/29(火) 16:48:34ID:???
>>50
そうなんだ・・・。
記事に 0.2.0 を落とせって書いてあったので、てっきりどこかにあるのかと。
CVS版で始めてみます。
0052nobodyさん2005/11/30(水) 14:21:21ID:???
あまり盛り上がってないようですが質問です。

Ethnaの出力ってEUC-JP固定なのかな?
UTF-8で出力(できればphp、tplファイルなんかも)したいんだけど、
EthnaのソースをUTF-8にコンバートして、
skel\template.index.tpl
tpl\info.tpl
のメタタグ書き換えて、class\Ethna_SmartyPlugin.php の一部機能を
あきらめればいいのだろうか?
それともなんかもっとスマートな方法ありますかね?
0053nobodyさん2005/11/30(水) 14:34:19ID:???
事故レス

Ethna_I18NクラスにsetLanguageメソッドがあるから
なんとかなるのかも。
すれ汚しスマソ
0054nobodyさん2005/12/01(木) 00:58:58ID:???
>52
http://project-p.jp/halt/anubis/blog_show/376
0055nobodyさん2005/12/01(木) 01:09:34ID:???
>>54
なるほど。参考になりました。

私の場合はデータもUTF-8化してしまっているので
(人名をなるべく忠実にとの依頼を断りきれず)、それを取り扱う
ファイル自体もUTF-8化しておきたかったりします。
もう少しソース読んでみますです。
0056nobodyさん2005/12/01(木) 12:44:15ID:KQRT48SC
>>53
それはgettext関係のだから今回とはちょっと関係ない。

>>55
DBとかファイルのデータがUTF-8ってことかな。
EUC-JP使うよりはUTF-8の方が良い。自分もUTF-8でやってる。
しかしEthnaでUTF-8するには日本語が使われてる部分を片っ端からUTF-8に
変更するしかないかも。
最低限の構成だと、エラーメッセージとか、
外部に日本語が表示されるファイルだけUTF-8にして
UTF-8で作ったスケルトンを用意しておいて普通に開発すればいい
(けど面倒くさいよね)
0057552005/12/01(木) 13:45:00ID:???
> DBとかファイルのデータがUTF-8ってことかな。

そうです。
internal_encoding も http_output も UTF-8 化してしまってるんで
コンバート処理をはさみたくないなと。
PHP も 6.0 からはユニコードが標準になるみたいですし、Ethnaの方も
対応してくれるとありがたいですね。

ちなみに >>52 の方法でもとくに問題ないようです。
0058nobodyさん2005/12/05(月) 11:33:30ID:???
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です。
0059582005/12/05(月) 12:01:45ID:???
>>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の書き方を禁止する意味って何なんだろうか?
うーむ。さっぱりわからないです。
0060nobodyさん2005/12/05(月) 23:50:42ID:???
>>59
禁止っていうか、作りかけなだけでは?
getAll とか getRow getCol とかのメソッドもないし。
めんどいけど、いっこいっこ追加していくか。
0061582005/12/06(火) 00:35:05ID:???
>>60
> >>59
> 禁止っていうか、作りかけなだけでは?

そうですね。反省。
Ethna使いの皆さんはここらへん独自に拡張して使ってるんでしょうか?

追加していくのは構わないのですが、バージョンアップの度に独自に追加した部分の
整合性をとるのがめんどいなぁと思ったもので。
0062nobodyさん2005/12/07(水) 01:29:57ID:???
>>61
fujimoto神はかまってもらえなそうだから、haltたんにお願いして
自分が加えた分をcommit してもらえばいいんじゃないかな。
0063582005/12/07(水) 22:40:05ID:???
>>62
まだまだ勉強中の身でして、fujimoto神のソースに取り込んでもらうなど
恐れ多いことでw

最近やっとEthnaの概要が見えてきた。
0064nobodyさん2005/12/09(金) 01:28:44ID:???
ethnaってactionのforwardみたいなのある?
actionの中で別のactionを実行したいときはリダイレクトするの?
0065nobodyさん2005/12/10(土) 21:36:33ID:???
>>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
の人がやってるから参考にするといいかも。
0066nobodyさん2005/12/11(日) 00:43:38ID:???
>>65
自分で書いているとおりじゃないの?
0067nobodyさん2005/12/11(日) 17:44:23ID:lCfSK4rb
ぼくは
    ノ^ヽ, ___ i┐  ヘ _____.   ,ヘ  ,ヘ  ,ヘ       ,¬,      ┌───┐
  /∠ゝ,,ヽ! | | |   ノ/└┐i-i┌-! ┌ゝムゝム!∠-i    ノ ヘ,.ヽ.,,     |__!三三!__|
 くイ'三三┐| | | |  / |'┌┘!-!└┐ | |二二二二マ |  ,.-''" ∠--ゝ ,"フ  i'''i二二二i'''i
  | ,二二, | | | | |  <,. | | n n n |  ̄ !---'ゝ/└┘ 丶-'======='=   |.,二二二', |
  | i三三┘| | | |   | | | || | | | | | ┌----! '----┐ └--, ,-,..---┘  | 二二二,. |
 丿,. ┌┐"|U | |   | | | U U U |  " ̄ ̄] | ̄ ̄"  _/ ∠,..ゝ\     |__, ̄二 ̄__|
 'V |__二_| エ_|   |_| |__i-----i__|    匸_.」      !,. ----''''"ヽ,ゝ   i二ノ  \_
0068nobodyさん2005/12/15(木) 18:49:24ID:???
ttp://ethna.jp/ethna-tutorial.html

↑の、チュートリアル→(2) howto→フォーム定義の6番目、
6.フォーム値の自動検証を行う(複合チェック編)

ここまだ空欄だけど、どういう内容になるのかな?
こういうことをやったことある方、ヒントをいただけないでしょうか。
0069nobodyさん2005/12/16(金) 10:40:08ID:???
200文字を超えたら、「なげーよ」 表示とか。
0070nobodyさん2005/12/16(金) 20:13:39ID:???
6.フォーム値の自動検証を行う(複合チェック編)
と書きつつ、よく読むと自動検証は行わないみたいね。

>>69
3.フォーム値の自動検証を行う(基本編)
それは、これでできるから複合チェックではないよ。
ただ、複数のテキストボックスで合計の文字数200文字とかは、6番だね
0071682005/12/16(金) 22:23:13ID:???
ちょっと長めの入力フォームを作っていて、ラジオボタンで入力内容を切り替え
ようかと思ってます(ラジオボタンをチェックするとjavascriptでフォームの一部を
チェンジします)。

このようなフォームだと、Aに値がセットされているときは、BとCは必須という
感じのチェックが必要になり、そういうチェックが簡潔に書けるのかなと。
まあ、場合分けしてごりごり書いても良いんだけど、フジモト氏やhalt氏なら
どう書くのか参考にしたいんですよね。

0072nobodyさん2005/12/16(金) 22:31:54ID:???
>>71
フォーム間のチェックは_validateplusメソッドですが、そういうことではなくてですか?
このメソッドは泥臭く書く以外ないですが。
0073682005/12/16(金) 22:37:55ID:???
>>72
お、ヒントありがとうございます。早速調べてみます。

泥臭く書くしかないのは理解してますが、Ethnaの流儀に従えば少しは
楽できるのかなと期待してるんですがw
0074722005/12/17(土) 02:51:25ID:???
たとえば、「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を使うならこうするかな。
0075682005/12/18(日) 14:23:11ID:???
>>74
ありがとうございます。
なるほどこういう書き方ができるんですね。もっと泥臭い処理を考えてました。
細かいチェックをしたい場合は同様にフィルタをセットすればいいのかな?
(後で試してみます)

よくできてるなぁ。
0076722005/12/18(日) 21:49:38ID:???
少なくとも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とか参考に。
0077682005/12/18(日) 22:29:36ID:???
>>76
すみません。フィルタじゃなくカスタムチェックでしたね。
いいかげんな事書いちゃいました。

これだけできれば十分ですね。非常に簡潔ですし。
Ethna_ActionForm::checkURL も参考にします。

#Ethnaのバージョンが低いうちにソースに目を通しておかねば。
0078nobodyさん2005/12/25(日) 00:41:18ID:???
ethna、便利なんだけど、 ActionFormの定義と、AppObject の定義を書くのがすげー面倒。
フォームの内容がたくさんあったりするとシコシコと $form の配列を書かないといけないから。
みんなどうしてるんだろう。
0079nobodyさん2005/12/25(日) 01:27:44ID:???
>>78
面倒だけどシコシコ書いてる。
省略もできるんだろうけど、後から見直す場合は全部書いておく方が
見通しがいいと思うので。
0080nobodyさん2005/12/25(日) 11:15:24ID:???
>>78
AppObjectは、先にDBでテーブル作って自作のtoolでテーブル定義→オブジェクト定義を
コピーするスケルトン作成。

・・・・・って方法はどう?作ってリリースしてくれ。

ActionFormはどうしようもないね。画面設計に依るから。
0081nobodyさん2005/12/28(水) 21:20:52ID:???
Javascriptなどでフォームの数が動的に変化するページがある場合、
ActionFormクラスの$form定義をどう書いてますか?

inputタグのname値を配列としてsessionに記録していますが、
ActionFormクラスではsessionにアクセスできないし、ActionClassの
prepareメソッドで$formを追加してもvalidate()メソッドを呼ぶとエラーになります。

あきらめて$_POSTを直接参照してもいいのだけれど、解決法があるなら
Ethnaの流儀にそって書いておきたいです。
このようなページを処理した事がある方、ヒントをいただけないでしょうか。
0082nobodyさん2005/12/29(木) 01:38:55ID:???
Ethnaを使って、一般配布されているスクリプトってありませんか?
勉強のため参考にしたいのですが、中々見つかりません。
もちろん付属のSampleもいじっています。
0083nobodyさん2005/12/29(木) 01:56:13ID:???
>>82
MLにYahoo検索の話題がでてるね。
0084nobodyさん2005/12/30(金) 01:18:15ID:???
[ethna-users:0155]のhaltタソのコードは参考になるなぁ。
Ethna_Controllerクラスでマネージャを登録することで、ActionClassで
初期化作業をすっ飛ばして直接呼び出せるようになるんだね。

ところで、Ethna_Controllerクラスでは、
'Yjs' => 'Query'
としているのだけど、この'Query'にはどんな意味があるのだろう?
0085nobodyさん2005/12/30(金) 14:13:37ID:???
>>83
あ、出ていましたね。ありがとうございます。
早速DLして見てます。
0086nobodyさん2006/01/04(水) 01:59:43ID:ST4/dfIz
ロゴが変わったな。
0087nobodyさん2006/01/04(水) 02:20:39ID:???
ほんとだ、前の覚えてないけど、新しいのイマイチな気がする。
と言うより、デザインは良いけど、罫線ないほうがシックでかっこいい。
ミニサイズのバナーとおそろいに青系一色とか。
0088nobodyさん2006/01/04(水) 21:26:29ID: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
0089nobodyさん2006/01/05(木) 10:58:02ID:???
おおざっぱだな。
0090nobodyさん2006/01/06(金) 15:01:06ID:???
EthnaでSmartyの'hierselect'を利用するにはどうしたらいいのでしょう?
ヒントいただけませんか?
0091nobodyさん2006/01/06(金) 17:06:34ID:EEplBUgD
>>90
smartyにも hierselect ってあるんだ。プラグイン?
0092902006/01/06(金) 17:19:54ID:???
>>91
デフォルトで組み込まれてますよ。

Smartyオブジェクトにアクセスできればいいんじゃないかと思うけど
その方法がわからん・・・
0093nobodyさん2006/01/06(金) 21:04:38ID:???
>>92
ActionClassからなら
$smarty =& $this->backend->ctl->getTemplateEngine();
で使用中のSmarty取れる。

何したいかよくわからんけど、とりあえずそんな感じ.
0094902006/01/06(金) 22:15:02ID:???
>>93
ありがとうございます。
助かりました。
0095nobodyさん2006/01/06(金) 23:37:29ID:???
いやSmartyにhierselectはないでしょ
0096902006/01/06(金) 23:49:52ID:???
>>95
・・・・・・・。

すんません。HTML_QuickFormでした。
休みボケでした。お恥ずかしい・・・orz
0097902006/01/07(土) 00:04:03ID:???
あ、でも renderer に Smarty を使っていて、renderer のインスタンスを
作るときに Smarty のインスタンスを渡す必要があるので、>>93 さんの
情報は役に立ちます。ありがとうございました。
また、スレ汚しすみませんでした>皆様
0098nobodyさん2006/01/07(土) 00:22:07ID:vbU0E729
僕は ethnaでは quick_form の必要性を感じないけどなぁ。
ActionForm でも $form を定義して、 quick_form でも form のエレメントを作成して、
って2度手間な気がします。
validateも ethnaのvalidateでいいし。

javascriptを自動生成してくれるのは便利だけど。
0099nobodyさん2006/01/07(土) 01:35:07ID:???
hierselectを使いたいんでしょ
0100nobodyさん2006/01/12(木) 01:26:04ID:F7HO2NXc
Ethnaいいんだけど、ファイルの階層構造が深くなるのがちょっとやだな。
0101nobodyさん2006/01/12(木) 08:09:50ID:???
階層は深くなるけど見通しは良くなった。
Ethna使う前の設計が拙かっただけだけど。

階層が深くて困ることってなに?
■ このスレッドは過去ログ倉庫に格納されています