【PHP】Ethna part.2【国産フレームワーク】
■ このスレッドは過去ログ倉庫に格納されています
国産フレームワーク、Ethnaでいい意味で手抜きなプログラミングライフを。
Ethna -PHPウェブアプリケーションフレームワーク-
http://ethna.jp/
SourceForge.jp: Project Info - Ethna
http://sourceforge.jp/projects/ethna/
クラスドキュメント(phpDocumentor)
http://ethna.jp/doc/
前スレ
【PHPフレームワーク】Ethna【スケルトン自動作成】
http://pc11.2ch.net/test/read.cgi/php/1123070439/ >>212
おまいの自作自演だったりして、このレスもw 過疎化しているようなので、レスがつくか不安ですが質問です。
$this->backend->perform() でサブアクションを実行したいのですが、
$form要素は呼び出し側のものしか反映されていないようです。
サブアクションのアクションクラスで$form要素を定義したいのですが
どのように書けばいいのでしょうか? 間違えた
>サブアクションのアクションクラスで$form要素を定義したいのですが
>どのように書けばいいのでしょうか?
サブアクションのアクションフォームクラスで$form要素を定義したいのですが
どのように書けばいいのでしょうか?
です。
よろしくお願いいたします。 >>215
そもそもチミは$formの定義をなんだと思ってるのかね・・・。
ActionClassと一対一なんだよ。
サブアクションとか勝手に言っても、それは勝手に言ってるだけだから
自分でちゃんとActionformもnewして_setFormDefしたまえ。 >>219
なにつかってる?
最近乗り換えけんとうちう RSSパーサーってみなさんはpear使ってますか? GREEの腐ったCMのおかげで
Ethnaも腐ったフレームワークと見られるようになりました
http://labs.gree.jp/Top/Document/20060707.html#d1ddfba7
手始めに↑を動かしてみたんですが、
エラーメッセージが2重に出てしまっています。
例えば、全ての項目を空にして送信ボタンを押した場合に
以下のようなエラーメッセージが表示されてしまいます。
* メールアドレス が入力されていません
* パスワード が入力されていません
* パスワード(確認) が入力されていません
* メールアドレス が入力されていません
* パスワード が入力されていません
* パスワード(確認) が入力されていません
2重のエラーメッセージが表示されないようにするには、
$errorsを自前で処理にしないといけないのでしょうか?
環境:
Ethna 2.5.0-preview3 すみません、こちらのミスでした。
prepare()メソッドにvar_dump($this->af->validate());を書いていた為に
エラーが2重で出力されていたようです。
function prepare()
{
if ($this->af->validate() > 0) {
var_dump($this->af->validate());
return 'index';
}
return null;
}
var_dump($this->af->validate());を削除したら2重で表示することはなくなりました。 ethnaでサイト作ってあるんですけど、メンテのときだけ
どのページにアクセスしてもメンテ中画面に飛ばす方法ないですか? あげ!
・・・って前の書き込み5ヶ月前かよ・・・。 >>226
決まったActionしかしないってことにさせればいい。
エントリポイントを1つにルーティングしてるなら、そのエントリポイントの
main()の第2引数をarray('undermaintainance')にしちゃえば。
たくさんエントリポイントがあるなら、Controllerの
getActionFormNameをoverrideして、つねに'undermaintainace'の
Stringを返すようにすれば良いんじゃない?
Webサーバの方でリダイレクト設定するとかでもいいんでない?
Apacheなら.htaccess一個書けば済む 誰かまだ使ってるの?
これ使って作られたオープンソースものがあれば教えて欲しいと思ったんだけど 誰か見てますか…此処。
質問とかしていいのかな?
<select name="aaa" id="aaa" size="7" multiple class="bbb">
{foreach from=$app.hoge item=item}
<option value="{$item.hoge}">{$item.fuga}</option>
{/foreach}
</select>
と、tplで書いています。
ここに出されたデータをアクションの方で
$this->af->get('????');
って風に取り出したいんです。
やってみた事↓
[action側]
'aaa'=>array(
'type'=>array(VAR_TYPE_INT),
'name'=>'ほげ',
),
[tpl側]
上のname="aaa"をname="aaa[]"に
[action側]
$this->af->get('aaa');
結果はNULLでした…。
<input type=~.....
のつもりでやってたんですけど…どうにかしてselectに入ったデータって取り出せないですかね。 とれるが、ちゃんと調べて説明する暇がないのでがんばってくれ
そもそもとれないとプログラムとしておかしいだろ? actionフォームの方からテンプレートのラジオボタンとか…弄れないかなあ…。
検索前の画面でラジオボタン1、2とテキストボックスがあって
2を選んだ場合はテキストボックスが使えなくなる(disables)
検索する前に、2のラジオボタンが選択されてたら、検索後の画面で2のラジオボタンが選択されたままになってて、
テキストボックスは使えないまま表示される。
って事がしたいんですけどね。
現在は最初の読み込みでラジオボタンどっちも選択されてないし、検索後もどっちからも外れ、
テキストボックスの使用不可もはずれちゃう状態…。
1のラジオボタンに<input.......checked = true />って入れてみたら
最初の読み込みではラジオボタン1にチェック入るようになったのは良いんだけど、
2を選んで検索した後も1が選択されてるんですよね…。
誰か解決策知ってる方いらっしゃったらよろしくお願いします。 すみません。ラジオボタンの問題は自己解決しました。 すみません。ラジオボタンの問題は自己解決しました。 書き込めない…?
ラジオボタンの問題は自己解決しました。 >>235
うーん、ActionFormからHTMLにdisabledを入れるのって
今時のやり方じゃない感じがする。
disabledってあくまで補助だから、補助は補助らしくjavascriptで後付け設定かなぁ。
しかも、radioとtextの連動だからなおさらその感じがする。
自分だったら、適当にradioとtextにid振って
$(function(){});
か
Event.observe(window, 'load', function(){});
するかなぁ。
これ面白そうだな。
いまやってるDrupalが落ち着いたら手を出してみたい。
CMSはページ管理には便利だけど、ハマると結構てこずるや。
ZFWとどっちがMVCの分け方判りやすいかな Fatal error: Call to a member function getAll() on a non-object in
…というエラーが出ます。
getAllを用意した__DB_PEAR.phpもlibに入れてControllerからincludeしてるのに…。
Ethnaは最新バージョンです。
何故飛べないのか原因がさっぱりです。 MySQLの設定で何か問題があったようです。
詳しくは分かりません。 ethnaにPEAR::PAGERのようなページング用のメソッドは
用意してありますでしょうか?
ご存知の方が居られましたらご教授よろしくお願いいたします。
つttp://ethna.jp/
Ethna > ドキュメント > 開発マニュアル > デモ > ページャを作成する http://hoge.com/ethna/?hoge=1&peko=1
というURLがあったとして、hogeとpekoが入れ替わることもあるとするとき、
1つ目の引数がhogeであるかpekoであるかを知る方法ってありますか?
$this->af->get(name[0])
とかで、hogeって入ってるとか。
今のところpathinfoあたりから自分で分解するしか思いつかないです・・・
>>246
$_SERVER['QUERY_STRING']からとるしかねーじゃん。 >247
やっぱそうなりますか。
ありがとうございますた アクションloginのフォーム表示画面でsubmitするとURLがindex.phpになってしまうんですけど
これを同じloginにするにはどうしたらよいでしょうか?エントリはindex.phpです。 >>249
hogehoge.tpl
<form action="login.php" method="post">
<input type=hidden value=1 name=action_login_do>
<input name=id>
<input name=pass>
<input type=submit>
</form>
login.php
<?php
include_once Hoge_Controller.php
Hoge_Controller::main('Hoge_Controller', array('login', 'login_*'), 'login'); クエリエラーが発生したとき、画面上に
***[508](ERR): Ethna_DB_PEAR._query(\class\DB\Ethna_DB_PEAR.php:306): Query Error SQL[〜〜]
みたいな感じで表示されるんだが、これを止める方法ってない?
一応、ロジックで
$res = $db->query($sql);
if (Ethna::isError($res)) {
return Ethna::raiseNotice('登録エラー',E_DATA_REGIST);
}
みたいな感じにはしてるんだけど・・・・。 EthnaってもうちゃんとO/Rマッピング対応してんの?
joinとかサブクエリーとか、Postgresとか使える? アダルトサイトなんてXOOPSか下手するとブログ程度かと思ってたのに。
進んでんな。 {form_input name="hoge"}
の形でcheckedフラグ入れれる方法知りませんか?
最初からchecked=trueにしておきたいのですけど…。
型はチェックボックスでoptionに連想配列入れてるので<input...の形にはしたくないのです。
actionで$formに何か指定できるとか、{form_input...に何か付け足すとか
ご存知の方いらっしゃいましたらお願いします。 >>252
if (Ethna::isError($res))を何処に書いてるのか分からんが
Managerに書いてるんだったら処理全体をtryで囲って、
エラーの場合はcatchにthrowしてfalseを返す仕様にしたらどうだろう
呼び出し元の方で$this->ae->addObject();を使う 自己解決しました。
$this->af->set('hoge', "valueの値");
とすることによって、指定の箇所へチェックを入れれました。 そもそも何でCakePHPとかsymfony使わずにEthnaをなのか
そこから教えて欲しい。 グリイが使ってるという安直な理由だけだろう。サポートも無いのにね。
そのグリイもエスナ導入のために、メンテナを技術部長待遇で飼うほど維持コスト描けてる現実。年間1000万以上? pear-local でethnaインスコしたらエラーが出る件。 大して出来の良いとは言えない俺俺フレームワークを
使ってもらって年収1000万円ももらえるのかよ。
羨ましすぎる。 出来はいいと思う
aoとamが同じファイルでapp直下のディレクトリっていうのは駄目だけど
あともうちょい更新頻度が高ければ… これってwwwのディレクトリだけを777にして後はアクセス拒否してもいいの?
天才さん、運用時はどうしてるかおすえて>< Ethnaで複数のレコードをとってくるにはどうしたらいいの?
AddObjectを使って出来る? 2ヶ月近く誰も書かないけど、新規案件とかでethnaて使ってる?
2年前にケータイ案件で遭遇だけはしたけど、受注しなかったし、
GREEとかmixiとか出てくると臭くて使わないんだが・・・。 >>273
なに使う?ZendFrameworkかCakePHP?
MapleはNetCommonsで見てダメだと思った。 俺は個人だから大した案件は取れないけど、
小さいところはYiiなんで攻めても良い鴨。
Cakeは一通り慣れたけど、なんつーかAccessのPHP版て感じ。
言語仕様もあるけど、ビューのソースは荒れるし、
コントローラにグダグダ書くし、金になる(既存和製の)業務システムと
RoRの相性がイマイチな感触も受けてる。
余分な予算が取れない時代にRoR的に書き換える手間を
クライアントは甘受するのかな、出来たらおめでとうってとこか。 そんな苦しい案件は受けないほうがいいだろw
仕事選べよwww
greeは必死に人募集してるね。ethnaじゃやっぱり苦しいのか? ethnaで作られた見本になるような
サンプルアプリってないでしょうか?
なんか自分はセンスないような気がして
参考にさせていただければありがたいです。 え、付属?すいません。見てみます。
一応、いくつかWEB上にサンプル見つけました。
参考にしてみます。 まぁこれから本格派はYiiでいいな。英語pdfを13ポンドで注文するか否かを迷う俺 フレームワークはYiiで決定?
これからethna触ろうと思ってたんだけど、
Yiiにしたほうがいい? EthnaのログってエラーのURLとか記載されていませんが、みなさんこれどうされているのでしょうか? アクション名とかもないんだっけ。
なんてか、かそっぷりがはなはだしいね。 >290
そうなのです。業務を引き継いで初めてEthnaを触り色々見ているんですが
正直、Ethna酷いですね。こんなのが皆から賞賛されてるってのが理解出来ないです。 デバッグログを有効にすればいいんじゃないのかな。
運用中にエラーログでることある? >294
エラーログ出てますね、、、、詳細はわからないのですが・・・
logtype、debugは考えましたが出力されるログサイズの見積もりもしないといけないので
たくさん、ログが出過ぎるのも良くないなと思いまして・・・・
正直、私自身のEthnaに対するナレもまだまだな部分もあり、
最適なサイト運営の設定に迷っている状態です。。。
たとえばどんなエラーが出てるんだろう。
部分的に伏せていいから1行見せて欲しいかも。 というのも、そのエラーログを出力してるのがアプリなんじゃないかと思ったから。 賞賛されてるのはsymphonyやcakeとかsmartyやpearぐらいでしょ。 なんでZendをいれてくれないの。。。
Zend使ったこと無いけどさ。smartyやpearをその流れで入れるなら、せめて。 zendって賞賛されてるか?
まだ中途半端だろう。 サポートが無い。放置状態だし。
作者は本業のグリイの開発部長で忙しいし。グリイに金払えばサポートしてくれるサービスが有る訳でもない。 Ethnaでできた2ch携帯ブラウザ
http://m2ch.biz/ PHP5.3に対応した2.6の状況がこんな感じらしい。
> Ethna 2.6.0 beta 2 リリース (2011/1/4)
何が理由で頓挫してるのかは不明。
手軽なフレームワークだったからもったいないといえばもったいないな。 > Ethnaフレームワークは実用的なフレームワークであり、実際にさまざまなサイトの運用に利用されています。
> その一つが日本発のSNS(ソーシャル・ネットワーキング・サービス) GREEです。
> ユーザ数2,125万人以上、月間ページビュー数百億PVの非常に大規模なウェブアプリケーションであるGREE*1は、
> Ethnaフレームワークを用いて全面的に構築されています。Ethnaのバージョンアップ、バグフィックスなどはGREEでの
> 運用事例を踏まえて行っています。また、Ethnaの改良はGREEの構築・運用にも反映されます。
>
> 実際の運用を通して改良されていくということは、Ethnaの大きな特徴のひとつでもあります。
まだこの記述残ってるけど、GREEの運用を通して改良される点はもはやないということだろうか。
Ethna捨てたなら捨てたって書かないとおかしい気もするし。 今更仕事で使うことに。
モデル周りが貧弱すぎて泣きそう、はぁ・・・。 ま、Ethnaだな
http://pideo.biz/index.php?action_item_amazon_list=true&text=%E5%8D%83%E4%B9%83%E3%81%82%E3%81%9A%E3%81%BF 誰でも簡単にネットで稼げる方法など
参考までに、
⇒ 『半藤のブブイウイウレレ』 というサイトで見ることができます。
グーグル検索⇒『半藤のブブイウイウレレ』
6ZDPJY0AY1 ☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆ ■ このスレッドは過去ログ倉庫に格納されています