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

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

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001nobodyさん2005/08/03(水) 21:00:39ID:TuHx69hT
国産フレームワーク、Ethnaでいい意味で手抜きなプログラミングライフを。

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

SourceForge.jp: Project Info - Ethna
http://sourceforge.jp/projects/ethna/
08828782007/04/25(水) 02:12:08ID:???
>>880
2.3.0から$managerは使えません。
0883nobodyさん2007/04/28(土) 22:48:15ID:???
EthnaでSmartyのキャッシュ機能を無効にしたいんですがやり方がわからんとです。

$this->backend->ctl->getRenderer()->getEngine()->clear_all_cache();
とかをアクション、ビュー、コントローラ辺りに書いてみたんですが無効にならんとです。

Smarty単体なら
http://sky.freespace.jp/smarty/SmartyManual_2-6-7J_html/api.clear.all.cache.html
で出来るとですがEthnaが絡むと出来んとです。

どうかEthnaでのやり方を教えて欲しいとです。

0884nobodyさん2007/04/29(日) 12:40:34ID:???
俺も知りたい
0885nobodyさん2007/04/29(日) 12:46:44ID:???
>>881
セッションキーを指定せずに、session_start()してるならそのままEthna内でも使えるはず
恐らくEthnaが内部でセッションの保存先が元アプリのと違うんじゃない?
0886nobodyさん2007/04/29(日) 21:13:05ID:???
>>883
Ethnaのデフォルトはキャッシュ無効になってないか?
0887nobodyさん2007/04/30(月) 18:59:50ID:???
デフォは有効じゃないかな?
0888nobodyさん2007/04/30(月) 20:08:50ID:???
templates_cとcacheを勘違いしてない?
0889nobodyさん2007/05/06(日) 20:44:18ID:???
adodbを使っている場合ってAppObjectとかって使えないのでしょうlか?
0890nobodyさん2007/05/08(火) 03:03:53ID:???
AppObjectで対応してないDB使いたいからadodb使うとか、
AppObject使いたくないからadodb使うんじゃないの?
0891nobodyさん2007/05/10(木) 00:32:00ID:???
>>889
前に誰か挑戦してたなーと、ブックマークを漁ってたら出てきました。
http://riaf.org/Test_DB.phps
作者のriafさんも、途中であきらめたとか言っていたような気がするので、もしかしたら使えないかもしれません。
0892nobodyさん2007/05/13(日) 13:34:58ID:???
http://d.hatena.ne.jp/riaf/20070513/1178996357

helper_app_objectとか知らなかったんだが…
0893nobodyさん2007/05/17(木) 21:08:16ID:???
>>891
ごめんなさいごめんなさい。
それたぶんあまりうまく動かないです。。

>>892
BoBppさんのブログとかがそのあたり詳しいと思います。
(僕も普段は使って無いので。。。)
0894nobodyさん2007/05/18(金) 01:35:51ID:???
こういうの使う人ってマゾなんだろうか・・
0895nobodyさん2007/05/19(土) 13:56:15ID:???
>>894
kwsk
0896nobodyさん2007/05/21(月) 14:42:24ID:???
>>862
フォーム外部化ってどんな風にやってるんでしょうか。
kwsk plz
0897nobodyさん2007/05/22(火) 00:55:13ID:???
>>896
多分>>862って俺だったよなぁと思いつつポイントだけ
Ethna_ActionFormのコンストラクタが実行される前にフォーム定義をセットするように
Ethna_ActionFormを継承したクラスに書けばおkです
後は好きな形式からロードしてActionFormの定義配列を吐き出せるクラスなりを用意しておけば

俺の場合元々古いバージョンのEthna時代に作った物で、フォーム表示のsmarty関数とかも
作ってて、フォームの見栄えなんかも一緒に定義出来るようにしたりしてます。
0898nobodyさん2007/06/01(金) 22:56:49ID:???
ActionForm内のoption指定で
>>866
を参考にしてActionForm内にmethodを書いてリストを取得していたんですが、同じような処理が多くなってきたのでAppManagerを呼び出して取って来る方式にしました。

ところが、ActionForm内のmethodとして記述していた場合は最後に
return array(0=>'a',1=>'b',...);
と言う配列を帰していれば良かったんですが、AppManagerで同様にやろうと思いgetAttrList()にmethodの中身をコピペして使用すると上手く動きません。
で、ViewClassのコードを追っていったら404行から
// マネージャから取得
 $mgr =& $this->backend->getManager($split[0]);
 $attr_list = $mgr->getAttrList($split[1]);
 if (is_array($attr_list)) {
  foreach ($attr_list as $key => $val) {
   $options[$key] = $val['name'];
  }
  }
となっていたので、AppManagerから帰す時はgetAttrListで
return array(0=>array('name'=>'a'),1=>array('name'=>'b'),...);
と帰すと上手く行きました。

この形式じゃないと駄目なのってなにか歴史的経緯でもあるんでしょうか?
$options[$key] = $val;
だったら面倒がなくて良いんですが・・・
08998782007/06/02(土) 00:00:57ID:???
>>898
んー、あまり読んでなくてレスするけど。

ActionForm内のメソッドからAppManager呼ぼうとしてる?
それはできないヨ。Ethnaって、ActionForm→Backend→AppManagerって順にnewしてるから

だから、自分は、ActionFormのプロパティをセットするのは、prepare()内って決めてる。
で、POSTされてってChain時は、parent::prepare()でオートセット(もどき・・・自分に言い聞かす)。

違ったらソマソ
0900nobodyさん2007/06/06(水) 15:40:46ID:6likgS+I
Managerからは [Project]-ini.phpの値を普通には読み出せないようなんですが、
解決法どなたかきぼんぬ
09019002007/06/06(水) 15:54:31ID:???
$this->config->get('hoge')も
$this->backend->getConfig->get('hoge')も
両方だめぽです。
Call to a member function on a non-object
エラーがでます。
0902nobodyさん2007/06/06(水) 16:05:23ID:???
>>901
試してないけどEthna_AppManager見た感じではそれでいけそうなもんだけどなぁ
どっかで凡ミスしてない?
09039002007/06/06(水) 16:30:44ID:???
ミスはしていないっぽいです。

また、$this->session->get('hoge');
などもマネージャ内では機能しないようです
0904nobodyさん2007/06/06(水) 17:52:49ID:???
>>903
ちょっと嫌かもしれないけど
俺ならそういうケースはとりあえずEthna_AppManagerのコンストラクタに直接var_dumpとかで
値取れてるのか確認するかなw

これまたEthna_AppManager見ただけで未確認で申し訳ないけど
普通ならちゃんと取れてるはずだから
Ethnaの古いバージョンだから違うとかEthna_AppManagerを継承したマネージャ作ってて
Ethna_AppManagerのコンストラクタ実行されてないとかそれくらいしか思いつかない(;´Д`)
09059002007/06/06(水) 18:40:02ID:???
確認の前に500エラーでごわす
0906nobodyさん2007/06/06(水) 21:41:01ID:???
普通に読めますよ。
$this->backend->getConfig->get('hoge')はエラーで当たり前。

絶対凡ミス。
0907nobodyさん2007/06/06(水) 22:31:09ID:???
つーか、
var_dump(get_class($this->backend));
とかしてみないの?

09088782007/06/07(木) 00:18:01ID:???
>>901
>$this->backend->getConfig->get('hoge')も
getConfigはメソッド。

$hoge_config = $this->backend->getConfig()->get('hoge');
だよ。@PHP5

PHP4ならひとつかませて
$config =& $this->backend->getConfig;
$hoge_config = $config->get("hoge");


0909nobodyさん2007/06/07(木) 00:27:25ID:???
自力でnew HogeManager()とかやってそうだ。
09109002007/06/07(木) 14:58:11ID:???
>>908
再三チェックしましたが、誤りは無いようです。
PHP4で
$config =& $this->backend->getConfig;
$hoge_config = $config->get("hoge");
も試してみましたが、
$config =& $this->backend->getConfig; の行でエラーが発生します。
$config =& $this->backend->getConfig();
も試しましたが同じくです。

>>907
bool(false)
となりました。
backendの時点でだめっぽいです。

09119002007/06/07(木) 15:00:58ID:???
var_dump(get_class($this));
では
string(19) "project_hogemanager"
が表示されます。
0912nobodyさん2007/06/07(木) 21:56:08ID:???
Actionクラスから、$this->backend->getDB() とやると、何も表示されなくなってしまって
困っています。
echo get_class($this->backend) で画面に表示させた場合、ちゃんとethna_backendとかえってきています。
また、Ethna_Backendクラス内の、getDB()関数の最初の行に、 echo "a";と書きましたが、
$this->backend->getDB()の実行で表示されていません。

誰か助けてください。
0913nobodyさん2007/06/08(金) 00:20:17ID:???
みろ!この香ばしい書き込みの増え具合を。

Ethnaの普及具合を表しているようだ。
0914nobodyさん2007/06/08(金) 01:50:49ID:???
どうみても php-users です。
ほんとうにありがとうございました。
09159002007/06/08(金) 03:08:18ID:???
>>904
> Ethna_AppManagerを継承したマネージャ作ってて
> Ethna_AppManagerのコンストラクタ実行されてないとかそれくらいしか思いつかない

これっぽいんですが、
改善策が良くわかりません、あふぉの俺に救いの手を orz
09169002007/06/08(金) 03:22:16ID:???
あぁぁ、Ethna_AppManagerのソース見たらわかりました、、、、
HogeManagerでコンストラクタ作ってたのがだめでした、、、
あああ、はまりました、、、
0917nobodyさん2007/06/08(金) 13:28:59ID:???
>>916
そうやって成長するものだよ。

ま、とりあえずソースコード嫁。
0918nobodyさん2007/06/08(金) 15:29:48ID:???
>>899
>>898は出来てると思われ。
ただ、何故にnameで返すのかを聞いてるんじゃないか
0919nobodyさん2007/06/08(金) 15:32:34ID:???
>>916
parent::Ethna_AppManager呼べば、コンストラクタ書いてもいける
0920nobodyさん2007/06/09(土) 10:13:10ID:???
コンストラクタをオーバーライドするなら、スーパークラスのコンストラクタを呼ばなきゃ意味がないというのはオブジェクト指向の基礎だと思うぞ。
0921nobodyさん2007/06/09(土) 14:09:54ID:???
>>920
そんなことは自動的にやってくれる言語が大半だろ。
手動で呼ばなきゃいけないってのはどっちかっつーとPHPの基礎。
0922nobodyさん2007/06/09(土) 20:39:44ID:???
>>921
おまいはJavaのsuper()も知らんのかと(ry
0923nobodyさん2007/06/09(土) 21:09:43ID:???
逆にコンストラクタをオーバーライドした時に
super()相当のメソッドをコールしなくても
自動的にスーパークラスのコンストラクタが
コールされる言語ってある?その言語の場合、
オーバーライドしたコンストラクタだけをコールして欲しくて
スーパークラスのコンストラクタを呼び出したくない時はどうやってんだろう?
0924nobodyさん2007/06/10(日) 00:08:48ID:???
コンストラクタ以前に、オーバーライドしてるのに勝手に親呼ばれたら困るでしょ。
統合環境によっては、クラス生成時のテンプレで用意くらいはしてくれるかもしれんが。
0925nobodyさん2007/06/10(日) 12:00:49ID:???
>>924
まったくその通り。
0926nobodyさん2007/06/10(日) 14:04:30ID:???
>>923
あまりいろんな言語知ってる訳じゃないが、C++とかC#とか。
Javaは呼ばれないの?

>>924
コンストラクタ以外なら勝手に親を呼ばれて困るのは当然だが、
親のコンストラクタを呼ばれちゃ困るってのはカプセル化が上手く出来てないのと違うか?
親のprivateフィールドとかどうやって初期化するんだよ。
0927nobodyさん2007/06/10(日) 15:10:20ID:???
C++は、確かに親クラスのコンストラクタが自動で呼ばれるけど、オーバーライドしてるわけじゃない。
0928nobodyさん2007/06/26(火) 21:27:23ID:???
http://www.amazon.co.jp/Ethna%C3%97PHP-LL%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%83%AF%E3%83%BC%E3%82%AFBooks-%E8%97%A4%E6%9C%AC-%E7%9C%9F%E6%A8%B9-%E4%B8%80%E4%BA%95/dp/4774131393/ref=pd_bbs_sr_1/249-9902260-8715545?ie=UTF8&s=books&qid=1182839405&sr=8-1

↑これ買った人いる?
0929nobodyさん2007/06/26(火) 22:39:12ID:???
まだ売ってなかった
0930nobodyさん2007/06/27(水) 09:01:31ID:???
同じく。
0931nobodyさん2007/06/27(水) 11:06:55ID:???
あとで買いにいくばいー
0932nobodyさん2007/06/27(水) 11:35:05ID:???
今日見てくる。絶対買わないが。
0933nobodyさん2007/07/01(日) 00:19:17ID:???
Ethnaサイトのトップはいつまで「あけましておめでとうございます」なの?
0934nobodyさん2007/07/01(日) 10:27:50ID:???
次のバージョンが出るまで。
0935nobodyさん2007/07/01(日) 10:38:15ID:???
>>933
中国では一年中サンタクロースがでてるけど、そんな感じ。
0936nobodyさん2007/07/01(日) 17:02:00ID:???
>>933
それよりもドキュメントや使用例をもっといっぱい掲載してほしい。
サイト上の説明が適当すぎる。
0937nobodyさん2007/07/01(日) 21:16:09ID:???
>>936
たとえば、どのフレームワークのサイトくらい「使用例」「ドキュメント」が
あれば満足する?
0938nobodyさん2007/07/01(日) 23:45:37ID:???
> たとえば、どのフレームワークのサイトくらい「使用例」「ドキュメント」が
> あれば満足する?

mixi 位の規模のサンプルコードがないとダメだろ。
常識的に考えて。
0939nobodyさん2007/07/02(月) 20:57:37ID:???
ここは大規模なインターネッツですね
0940nobodyさん2007/07/03(火) 03:16:53ID:???
中規模プロジェクトのサンプル
Mixiまでは行かないが、そこら辺のBlogスクリプト規模とか
ぐらいがあれば、どうにでもなりそう。
0941nobodyさん2007/07/03(火) 08:05:26ID:???
そんな規模のサンプルはむしろ読みたくないな。
0942nobodyさん2007/07/03(火) 09:23:46ID:???
>>941
じゃあオマエは読むな
サンプルや使用例なんて多いに越した事はない

しかし、symfony.jpみたいにグダグダ書かれても読む気がウセるので
ちゃんとカテゴリや用途別にしっかりと纏めて読み易くすべき

フレームワークなんて楽する為にあるのに殆ど(っていうか全部?)のフレームワークが
わからんところはソース見てあたりまえの現状になってるのは本末転倒

ドキュメントの整備が追いつかないのであればEthnaに限らず
サイトに問い合わせコーナーを設けてどんなに下らん質問でも
ソース見ろとか言わずに誠心誠意真面目に答えるべき。
0943nobodyさん2007/07/03(火) 09:31:39ID:???
なんのために?
0944nobodyさん2007/07/03(火) 09:50:50ID:???
香ばしいね。
0945nobodyさん2007/07/03(火) 10:04:13ID:???
>>942
どんなに下らん質問でも 誠心誠意真面目に答える役はお前な。
0946nobodyさん2007/07/03(火) 14:46:10ID:???
サンプル読むならフレームワークのソース嫁。
0947nobodyさん2007/07/03(火) 18:37:19ID:???
>>942
> フレームワークなんて楽する為にあるのに殆ど(っていうか全部?)のフレームワークが
> わからんところはソース見てあたりまえの現状になってるのは本末転倒
そう思うならフレームワークなんて使わなければいいだけ。

他人がボランティアでやってることに商用サービスみたいなサポートを期待するのはお門違いだ。

0948nobodyさん2007/07/03(火) 20:54:16ID:???
> 他人がボランティアでやってることに商用サービスみたいなサポートを期待するのはお門違いだ。

それ本気で言ってるの?w
0949nobodyさん2007/07/03(火) 22:14:29ID:???
>>946
そういうのを見る度に何の為のフレームワークか
わからんようになるなぁ
0950nobodyさん2007/07/03(火) 23:03:58ID:???
なんで?
ソースコード=設計書だから、読むのが当たり前だと思うけど。

MFCのソースとかは読みたくないが。
0951nobodyさん2007/07/03(火) 23:25:16ID:???
サンプル無いと使えない奴らは使わなくてよいよwww
FWがカスだとユーザもカスしかいないなw
0952nobodyさん2007/07/03(火) 23:25:34ID:???
>>950
・MFCは読みにくいからソースは読まなくてよい
・Ethnaは読みやすいから読んで当然
・ソースコードは設計書である

(´ー`) ヤレヤレ
0953nobodyさん2007/07/03(火) 23:27:16ID:???
>>951
Ethnaってカスなん?w
0954nobodyさん2007/07/03(火) 23:33:46ID:???
カスだろw
他にももっと便利なPHPのFWいっぱいある中で
こんな旧式な設計のFW未だに使い続ける奴が不思議でしょうがない
0955nobodyさん2007/07/03(火) 23:34:13ID:???
>>951
アハハハハ・・・・・
漏れはEthnaなんて使わんけど
それを言い出したら厨から
作成者がカスだとマニュアルもカスなものしかないなぁ
とか言われるぞwwwww
09569532007/07/03(火) 23:35:18ID:???
>>954
>>他にももっと便利なPHPのFWいっぱいある中で

例えばどれ?
0957nobodyさん2007/07/04(水) 00:23:23ID:???
     /                /      ゙i,  ヽ
    j                ,ィ/        |  |
    lィ'             ,ィ/j/          | iリ
   |         /l /          '"` | j
   リ!      /,ノ           _,、-''''` /リ  __________
     |   _.._ l/   ,.--;==ミ 、 ___,.ノ /{.○-゙‐rV /
    ヽ,/`ヽヽト、 ´  {,.○-`‐‐ 、,.-ト|    ,ノ< ハッハッハ! 見ろ!
     ∧ ̄ ゙i,   `ヽ,r'´      ノ.  ゙、--‐''´| \  利用者も工作員もゴミのようだ!
     | | ̄ ゙i     ヽ、 __,,、-'" ,-、,:‐、〉  /   ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
     \\/. |          \\\  i
       \_'i       ___\\\|
           ヽ     `ー─''''"´\\\
            ヽ           j\\\".;":;"." :
 ".;":;"." :".;":;". \         / \\\".;":;"." :
  .;".;: .;"       \ ______ /´   \\\ ".;":;"." :
 :   ゴ オ ォ ォ …… ! !".;"     \\\   ;": ..;.;".;":
 ;"         .;".;": _.;.;_".;":       \\\   ド カ ァ ン !
  .;".;": ..;.;".; ζ /_.;_/| .;".;", _   \\\  .;".;.;".;":.
 .;".;": ..;.;".;": ;:'.;| ΓΓ | |;":从へ_/|   .  \\\"_.;__..:
 从へ从へへ从  ; ζ  | Γ从 | |;:.. |从Γ | |     从へ从∠___/|  :
     ( ⌒( ⌒ ) ζ | 从Γ | |.:;. |从Γζ.;".. .;. \ |ΓΓΓ| |     |
 (   ⌒ ⌒  ⌒ );  | ΓΓ | |.;;::|ΓΓ | |   ( 从へ ;: |从ΓΓ| |     |
  Σ( ⌒( ⌒ ) ζ  ( ( ) )⌒ ) ( 从へ从)_.;:.;
09589502007/07/04(水) 07:43:32ID:???
>>952
>MFCは読みにくいからソースは読まなくてよい
とは誰も言ってないけど。
読みたくないだけで、実際の開発時には読まないと進まない。

結局は、>>946-947 に落ち着いて、気に入らなければ自分で作れ、ってことになるよね。
OSSはGive&Takeだよ。
0959nobodyさん2007/07/06(金) 04:50:52ID:???
Ethnaユーザはレベルが低いでつね( ̄ω ̄)
0960nobodyさん2007/07/06(金) 08:57:54ID:???
あのー、 Ethnaって、mixi?
0961nobodyさん2007/07/06(金) 14:29:24ID:alBDTBo6
かなり無理して言えば
「EthnaってGREE」の方が正しい。
0962nobodyさん2007/07/07(土) 08:58:08ID:???
>>959
マニュアルがカス、サイトがカス、なんだからしょうがないんじゃない?

こっちにもマニュアルがカスなフレームワークがあるよ
http://pc11.2ch.net/test/read.cgi/php/1122105465/

>>960
日本語でおk
0963nobodyさん2007/07/08(日) 22:29:09ID:???
なんか黄色いEthnaの本出てたな。
中身なさそうだったけど。
0964nobodyさん2007/07/09(月) 08:55:47ID:???
Mojaviとかの世代のフレームワークって、難しいとういか、難解だよな。 
0965nobodyさん2007/07/11(水) 18:07:45ID:KXSxtuxB
動的なフォーム名の値を受け取るためには、
アクションフォームはどのように設定すればよいでしょうか?

例:
$_POST['hoge1']
$_POST['hoge2']
.
.
.
$_POST['hoge50']
↑ hoge1〜hoge50まで場合によって受け取る量が変わります
0966nobodyさん2007/07/16(月) 16:18:17ID:A1EZIdjb
2.3.2 リリースあげ
0967nobodyさん2007/07/16(月) 23:19:12ID:???
やっと正月が明けたか
0968nobodyさん2007/07/17(火) 00:08:51ID:???
Ethnaもこんなふうにマニュアルを整備しる
http://userguide.cilab.info/toc.html
0969nobodyさん2007/07/17(火) 01:08:24ID:???
言いだしっぺの法則
0970nobodyさん2007/07/17(火) 12:10:10ID:???
>>968
このマニュアルすげーな。
もうみんなCodeIgniter使えばいいと思う。
0971nobodyさん2007/07/19(木) 13:02:56ID:???
フォームヘルパで配列って定義できますか?
{form_input name="hoge"}
これにhoge[huge]を定義したいのですが。
0972nobodyさん2007/07/21(土) 05:03:10ID:???
>>968-970
コミッタも現状のマニュアルはまずいと思ってる。
再編成も考えてるみたいよ。
0973nobodyさん2007/07/24(火) 16:24:04ID:???
CodeIgniterくらいドキュメントが充実してればそれだけで大きな武器だよなぁ

つーか尼で注文したEthna本が発送予定日をトウに過ぎてるのに発送されんのだが・・・それで居てずっと在庫ありになってやがるし。
0974nobodyさん2007/07/25(水) 11:18:58ID:???
インストールしたはいいけどwebに公開できないです。。。

プロジェクト内のwwwディレクトリをどこにコピーしたらいいですか?
09759742007/07/25(水) 11:40:13ID:QgjOZ7Xo
プロジェクトはc:\の直下に作成しました
0976nobodyさん2007/07/25(水) 22:08:13ID:???
webに公開できるところにコピーすればいいです。
0977nobodyさん2007/07/25(水) 23:45:16ID:???
Ethna本ってなんつーか中身薄いね。
内容はうろ覚えやけど語訳説明とか、PHPはなぜ動くのか、等の
どうでもええ情報が多かった希ガス。

そんな説明をするぐらいなら
アプリケーションマネージャやアプリケーションオブジェクト等の
コアな使い方なんぞを説明して欲しかったなぁw


>>973
>> CodeIgniterくらいドキュメントが充実してればそれだけで大きな武器だよなぁ

禿同
0978nobodyさん2007/07/26(木) 09:02:48ID:???
>>976
Apacheのhtdocフォルダに貼り付けたのですが
ページが表示できませんとなってしまいます。
0979nobodyさん2007/07/27(金) 00:16:31ID:???
CIマニュアル翻訳コピペ厨はこんなところまで出張ってるのか・・・
0980nobodyさん2007/07/28(土) 00:13:47ID:jij/B/id
ethnaでajaxを使う時のいいサンプルってありますか?
0981nobodyさん2007/07/31(火) 15:39:01ID:UVoxTIIu
json対応希望
レス数が950を超えています。1000を超えると書き込みができなくなります。