フランチョスとsymfony
- 221 :nobodyさん:2008/07/05(土) 11:47:42 ID:???
- なんでsymfonyってこんなに落ちぶれてんの?
- 222 :nobodyさん:2008/07/07(月) 16:59:32 ID:???
- >>221
2日も釣られる人が居なくてあまりにもかわいそうだから、釣られてあげるよ
- 223 :nobodyさん:2008/07/07(月) 17:00:39 ID:???
- 二日も話題無いなら十分落ちぶれてると思うけどな
- 224 :nobodyさん:2008/07/07(月) 20:06:39 ID:???
- 話題がないんじゃない!
ネットに情報があふれかえっているから、
こんなところで話す必要がないのだ!
- 225 :nobodyさん:2008/07/07(月) 23:17:20 ID:???
- 二日レスがないくらいで落ちぶれてるなら、この世に落ちぶれてないWebアプリフレームワークは
存在しないな。
毎日2ちゃんねるへ来てしまう重度の人でなければ、なかなかそういう発想はできない。
- 226 :212:2008/07/12(土) 16:05:19 ID:???
- >>213
俺もチラッと読んだことがあっただけだったので、詳しく書けなかった。
日付が去年の一月なので、今でもこのとおりいくかどうかわからんけど、ここ読んでみて。
http://blog.symfony.jp/2007/01/09/phpcode_in_yaml/
- 227 :nobodyさん:2008/07/14(月) 01:54:26 ID:???
- symfony1,1試してみているんだけど、
あいかわらず外人の作るフレームワークは確認画面を考慮してないな。
HTMLQuickFormで例えると$form->freeze()的な処理はどうやったらできるんだろう。
これを解決しないと日本じゃつまずくと思う。
- 228 :nobodyさん:2008/07/14(月) 10:24:12 ID:???
- >>227
もう既に何度も話題に上がって解決された話題を、今更穿り返すな。
- 229 :nobodyさん:2008/07/14(月) 11:00:59 ID:???
- >>228
少なくともこのスレと前スレを読み返した範囲では、
どこを探しても1.1のフォームフレームワークで確認画面をどう実現するか、
という話題は見当たらないんだが。
前スレ934はフォームヘルパ使っているからcompat_10モードだよな?
「解決された」と言い切れるほど自信があるならポインタくらい示せよ。
- 230 :nobodyさん:2008/07/14(月) 11:24:38 ID:???
- 誘い受けですね、わかります。
- 231 :nobodyさん:2008/07/14(月) 11:32:13 ID:x4hcg1ov
- 確認画面なぞ、確認画面Success.php作るってだけの話だろ?
HTMLQuickFormを使いたいってんならその画面でHTMLQuickFormを使えばいいだけだと思うんだが・・・
何が不満なんだい?
- 232 :nobodyさん:2008/07/14(月) 12:00:50 ID:???
- >>229
なんでこのスレなんか見てるの?その前にまず公式のドキュメント見ればわかるだろ…
あんなにでかでか書いてあるのにポインタ示せとか、盲目すぎ
- 233 :nobodyさん:2008/07/14(月) 12:13:15 ID:???
- ゴミクズども口から糞垂れる前に胸に手を当ててバリデーションをしろ
- 234 :nobodyさん:2008/07/14(月) 12:44:18 ID:???
- >>227
今ざっとコードを見てみたんだが freeze() にあたる処理を入れる余地はないなこれ
あるタイプの Widget はそれ本来のタイプの HTML 出力をする機能しかないわけだから
sfForm(を extends したユーザフォームクラス)のレベルで
入力画面用の Widget と確認画面用の Widget を切り替えるような仕組みを作る必要があるのかな……?
いま公式ドキュメント読みつつ脱線して fabien が sfForm の MVC 適合を解説してるブログとか読んでるところだけど
手間を省くためにも >>232 がでかでか書いてある箇所の URL を挙げてくれるとありがたい
- 235 :nobodyさん:2008/07/14(月) 12:51:42 ID:???
- 1.1版The Definitive Guide to symfonyの読み込みが足りてないのは素直に認めるとして、
>>231がsfForm使ってないのに適当に答えてるらしいことはよくわかった。
- 236 :nobodyさん:2008/07/14(月) 13:21:01 ID:Bo+zcAFi
- FWって初めて使ったんだが、覚えることが多いな
慣れれば便利そうなんだが
他のFWもこんな感じ?
- 237 :nobodyさん:2008/07/14(月) 13:27:46 ID:???
- >>>231がsfForm使ってないのに適当に答えてるらしいことはよくわかった。
それ今のお前まんまじゃんw
もっとよく読め。
- 238 :nobodyさん:2008/07/14(月) 13:32:55 ID:???
- >>234
Thank You Pageにあたる部分にsetFlashを使ったアクションを一枚噛ませれば良い。
そして最後にgetFlashして登録
- 239 :nobodyさん:2008/07/14(月) 14:05:34 ID:???
- >>238
setFlashじゃリロードされた時に消えないか?
- 240 :nobodyさん:2008/07/14(月) 15:43:56 ID:x4hcg1ov
- >>235
もし、HTMLQuickFormを念頭に置いて文句を言ってるんだとしたら、たぶん、こういう事でないかな?
「HTMLQuickFormとsymfonyではパラダイム自体が違う。」
確か、HTMLQuickFormだと
if (なんたら) {
formの処理
} else {
formのフリーズ
}
フォームの出力
という感じのコードになったと思うが、symfonyだと、そもそも分岐自体をFWが受け持ってしまっている。
ので、ワカランと言ってるのではないか?と思う。
>>236
他のFWも覚える事は多いだろうと思う。
というか、FWは、FWだけ覚えればOKっていうもんじゃなくて、あくまでPHP+FWだからな。
PHPがまともに使える(それこそFW使わんでも同じだけの機能を作れる)ような人が、楽できるように出来てるもんなんだ。
今までPHPを勉強してなくてFWから勉強する・・・は、止めた方がいいだろうな。
(もし、そういうつもりで言ったのでなかったとしたらスマン。)
- 241 :nobodyさん:2008/07/14(月) 16:16:59 ID:???
- 現場でんなこと言ってられる分けないだろワナビー死ねよかし
- 242 :nobodyさん:2008/07/14(月) 16:33:30 ID:???
- いつ現場って出てきたんだよ(;´Д`)
現場の話なら現場の話って最初から言え、っつーか、後だしで条件出してくるんじゃねぇよ。
- 243 :nobodyさん:2008/07/14(月) 19:25:18 ID:???
- >>239
リロードされて消えるからいいんじゃん。
消えたら登録せずにエラー出せばよい。
リロードでの連投許可するってなら別だけどね。
ぎゃくにquickformだとhiddenだからバリデーション2回走らせたり効率悪すぎるだろ?
- 244 :nobodyさん:2008/07/15(火) 12:18:49 ID:???
- 確認画面でリロったら入力値が消えるってどんなクソ仕様だよwww
- 245 :nobodyさん:2008/07/15(火) 12:21:34 ID:???
- 流れぶった切って質問
symfony1.1 + compat10
動的に個数が変わる
data[0][aaa]
data[0][bbb]
data[1][aaa]
data[1][bbb]
data[2][aaa]
data[2][bbb]
のような、3次元配列のバリデーションはどうやればいい?
validateXXX()メソッドでゴリゴリやるしかない?
- 246 :nobodyさん:2008/07/15(火) 14:51:17 ID:???
- >>244
お前ばかか?誰が確認画面で消えるなんて言った?
- 247 :nobodyさん:2008/07/15(火) 14:58:39 ID:???
- >>245
sfForm
- 248 :nobodyさん:2008/07/15(火) 22:05:00 ID:???
- sfFormってsymfonyのオリジナル?
escapingOutputもパクリ元のRailsにないし
symfonyもまぁまぁがんばってるね
- 249 :nobodyさん:2008/07/15(火) 22:41:00 ID:???
- 別のスレで違ってたのに今気づいたので
こっちで質問させてください。
symfony1.1をちょっと触ってみようと思いテストしたのですが、
%PEAR_DIR%\phing\Phing.php
内の printVersion() は、 static なのに
%PEAR_DIR%\symfony\plugins\sfPropelPlugin\lib\task\sfPhing.class.php
では、上記 phing/Phing を継承しているにもかかわらず
printVersion() をただの function として定義しているため
symfony propel:build-model などで
Cannot make static method Phing::printVersion() とエラーが出ます。
sfPhing.class.php 内の printVersion() を static にすれば解決はするんですけど、
正しくは、どうすればよいのでしょうか?他の方はエラー出てませんか?
ちょっと気持ち悪いので、どなたか教えてください。
Phingのバージョンは最新だと思っています。 @version $Revision: 1.51 $
- 250 :249:2008/07/16(水) 09:13:54 ID:???
- 他スレでアドバイス頂いて解決したので一応書いておきます。
通常の pear とsymfony にバンドル版とでソースが違ったようです。
pear のものを uninstall したら動くようになりました。
- 251 :nobodyさん:2008/07/16(水) 11:18:16 ID:???
- symfonyで使うのにPropelじゃないO/Rマッパでよさげなのがあるという噂を聞いたのだが、心当たりある人いるかい?
- 252 :nobodyさん:2008/07/16(水) 11:20:57 ID:???
- s2だお
- 253 :nobodyさん:2008/07/16(水) 11:21:50 ID:???
- Timpopelopeloのこと?
- 254 :nobodyさん:2008/07/16(水) 13:14:31 ID:???
- >>251
doctrine じゃなかったっけ?
使ってる人いたら報告希望
- 255 :nobodyさん:2008/07/16(水) 14:38:58 ID:???
- >>247
sfFormを使わずにやりたいからCompat10プラグインなんだ。
- 256 :nobodyさん:2008/07/16(水) 19:22:49 ID:???
- Doctrine使ってるよ。
クラス定数を書かなくていいので楽だよ。
でも、使おうと思ったらどんなORMでも使えるよね。
- 257 :nobodyさん:2008/07/16(水) 20:01:51 ID:???
- 俺もTimpocorine使ってる
- 258 :nobodyさん:2008/07/17(木) 01:53:41 ID:r8Tb5l59
- FWを覚えるのて長く使えないから、無駄だよな
C++,C#覚えてた方が無駄じゃないよな
- 259 :nobodyさん:2008/07/17(木) 09:27:50 ID:r8Tb5l59
- おまいらがsymfonyを習得できた頃には
また新しい超人気のFWが登場するだろうw
短期で習得しないと回収できないよ、この業界はね
- 260 :nobodyさん:2008/07/17(木) 10:55:21 ID:???
- C++というか、Cを勉強しておくのは役に立つぞ。
symfonyを勉強しておくのもCを勉強おくのと同じくらい役に立つが
とりあえずCを勉強しておけ。
- 261 :nobodyさん:2008/07/17(木) 13:50:12 ID:???
- PHP
C++
C#
C
そして、いよいよsymfonyの出番だ!
おかしくね?
- 262 :nobodyさん:2008/07/17(木) 19:13:50 ID:6/yjc+oz
- 逆だよ、逆。
Cってのはどっちかというと、コンピュータ(ハード側)に則した言語なんだ。
考え方が異質だけと単純。
それに対して、PHPとかsymfonyになってくると人間側の「もっと簡単に、省ける事は空気読んで省けいて書けた方がいいよね」になってくるんだよ。
その為、見た目は簡単だけど、複雑になってる訳。
単純な方から複雑な方へ勉強していった方が理解が早い・・・はずだと思うんだ。
- 263 :nobodyさん:2008/07/17(木) 22:47:02 ID:???
- C++なんか覚えるなよ…
あんな欠陥言語は早いとこ絶滅させないと
- 264 :nobodyさん:2008/07/17(木) 23:47:00 ID:???
- Cなんてとうの昔に忘れました
- 265 :nobodyさん:2008/07/18(金) 10:09:26 ID:???
- >>263
なぜ、そう考えるのかは分かるんだが・・・
もし、C++を理解しながら、ありゃダメだって思ってるんなら、一度boost::spiritとかいじってみるといいかもよ?
言語というより、パズルとして楽しめるw
- 266 :nobodyさん:2008/07/18(金) 20:46:09 ID:???
- テンプレートが出てきたところからC++はカオス化してしまったな。
auto_ptrとその仲間の機能をすべて答えなさい。
とかやったら輪ロスすぎるww
- 267 :nobodyさん:2008/07/18(金) 22:11:51 ID:???
- PHPなら仕事ないな。C++ならまだ仕事はある。
- 268 :nobodyさん:2008/07/25(金) 12:10:11 ID:???
- sfWidgetFormSelectRadioなんですが、
選択項目をタグ単位では取り出せない仕様なんですか?
ラジオボタンによくある
◎個人
苗字[ ]名前[ ]
◎法人
法人名[ ]
担当者名[ ]
みたいなものを実装したいのです。
個人/法人区分じたいもDBに保存したいので、
フォームクラスとは別に生成するわけにも行きませんし……
横並びと縦並びになる場合は自作のformatter()関数を作って対処したのですが、
これもデフォルトではulタグ前提になっていて、なんか不便ですよね。
- 269 :age:2008/07/28(月) 21:14:47 ID:L1kOSCp5
- sfWidgetFormSelectRadioのcheckedと
sfWidgetFormSelectのselectedの指定って
どうやってやるんですか?
ググっても見つからないんで1.1使ってる人教えてください
- 270 :nobodyさん:2008/07/29(火) 13:28:16 ID:???
- >>269
アクションクラスで
$this->form->setDefault('name', 'value');
したら自動で入らない?
フォームクラスでsetDefaults([連想配列A])して
アクションクラスでもsetDefaults([連想配列B])していたら、
Bだけが有効になるっていうハマりがあったな。
sfFormの定義を見たら、
setDefault()は$nameと同じ要素だけ上書きしているが、
setDefaults()だとマージしないで配列ごと上書きしていた。
自前でgetDefaults()してからarray_merge()するか、
setDefault()使っとくか。
- 271 :age:2008/07/29(火) 17:50:14 ID:???
- >>270
できました、ありがとうございます。
もう一つ質問させてください。
1.0での
<?php echo select_tag('hoge', options_for_select(array('a', 'b', 'c'), null, array('include_custom' => '選択してください'))) ?>
みたいな選択する配列ではない文字(ここでは選択してください)
をデフォルトで表示するにはどうやって設定するのですか?
- 272 :nobodyさん:2008/07/29(火) 19:15:55 ID:???
- >>271
sfWidgetFormSelectを追いかけてみたけど、
include_customに相当する機能はないね。
array(''=>'選択してください')を連結しとくしかないんじゃ?
- 273 :age:2008/07/31(木) 09:43:53 ID:???
- >>272
ありがとうございます。
やっぱりできないんですね、仕方ないので言われた通り連結しときました。
FormやMailに関しての参考が少ないのもあるんですけど1.1になって
使い勝手が悪くなったと思うのは俺だけですかね
- 274 :nobodyさん:2008/07/31(木) 14:58:57 ID:???
- OOPのデメリットだろうね。
保守性はあがるけど、開発効率はさがる。
とくに一人とか少人数でやってる場合。
一人でやってるなら無理にsfForm使わなくて独自orQuickFormとかを使ったほうが
効率はいいんじゃないかな。
- 275 :nobodyさん:2008/07/31(木) 15:45:33 ID:???
- >>274
それもフォームの形式や頻出度合いによる
- 276 :nobodyさん:2008/07/31(木) 16:41:47 ID:???
- sfFormってモデルとかならず結びついてんの?
テラ糞フォームwww
- 277 :nobodyさん:2008/07/31(木) 17:06:00 ID:???
- >>276
何railsと勘違いしてんの?
頭悪いにもほどがあるだろ…
- 278 :nobodyさん:2008/07/31(木) 18:44:32 ID:???
- >>275
DBの構造とフォームの内容が一致している場合の
手間の少なさは特筆物だけど、
欄Aに入力があったら欄Bを格納、無しなら欄Cを格納、
のように場合わけの必要があると、
とたんに自作ValidatorSchema作らされたりして難しくなるよな。
- 279 :nobodyさん:2008/07/31(木) 19:23:28 ID:???
- >>278
sfFormの構造理解してなくねぇ?
- 280 :nobodyさん:2008/07/31(木) 19:28:10 ID:???
- 汎用性の無い例外的な処理なら、わざわざValidatorSchemaつくらんでも、
Formクラス内に実装しちゃえばいい。
QuickFormなんか使うよりはよっぽど楽。
DBの構造とフォームの内容が一致は大して関係ない。
どちらかというと、フォーム同士の組み合わせが複雑に絡み合うエンタープライズ分野向きだわな。
- 281 :nobodyさん:2008/07/31(木) 19:30:23 ID:???
- ActiveRecordとAdminGeneratorとsfForm混同してごっちゃになっちゃったんだねきっと
- 282 :nobodyさん:2008/07/31(木) 19:40:00 ID:???
- propel:build-forms=sfFormだと思ってるんだろ
- 283 :nobodyさん:2008/07/31(木) 19:44:40 ID:???
- >>279
たしかに理解できてないのかもしらんが、
[×]←チェックボックスA
[ ]←チェックボックスB
「 」←テキストボックスB
[ ]←チェックボックスC
「 」←テキストボックスC
たとえばこんな状況で、
・AがチェックされてなければBやCの状態は問わない
・AがチェックされていたらBまたはCのいずれか一方に少なくともチェックが必要
・BおよびCにチェックが入っている場合のみ、対応するテキストボックスの中身を評価する
こんな記述をしようとしたら、
入力値評価用のバリデータ自作した上で、
ポストバリデータがsfValidatorAndとsfValidatorOrでスパゲッティになるんだが、
漏れが気が付いてないだけで、もっと上手いやり方があるのかい?
- 284 :nobodyさん:2008/07/31(木) 19:46:04 ID:???
- >>283
具体的にQuickFormでのコード書いてくれない?
おれsfFormで書くから
- 285 :283:2008/07/31(木) 19:46:41 ID:???
- ×・BおよびCにチェックが入っている場合のみ、対応するテキストボックスの中身を評価する
○・B and/or Cにチェックが入っている場合のみ、おのおの対応するテキストボックスの中身を評価する
- 286 :283:2008/07/31(木) 19:50:06 ID:???
- >>284
>>274に頼んでくれ。
少なくとも漏れはHTML_QuickFormには戻りたくないよ。
- 287 :nobodyさん:2008/07/31(木) 19:54:38 ID:???
- >>286
なるほど。じゃぁどう作ってる?Helper駆使?
- 288 :nobodyさん:2008/07/31(木) 20:00:59 ID:???
- >>283
>入力値評価用のバリデータ自作した上で、
要はバリデータスキーマクラスが1個増えるってことだよね?
条件上ごちゃごちゃするのはしょうがないが、バリデータ増やさなくても
isValidやbindオーバーライドしてそこに書いてやれば良くない?
- 289 :283:2008/07/31(木) 20:04:41 ID:???
- >>288
sfValidatorSchemaCompareをパクって、
フィールドとオペレータと値を引数に取るバリデータクラスmyValidatorSchemaIfを作って、
$this->validatorSchema->setPostValidator(new sfValidatorAnd(array(
$this->validatorSchema->getPostValidator(), // 親クラスのポストバリデータも動くようにするためにAnd
new sfValidatorSchemaCompare('email', sfValidatorSchemaCompare::EQUAL, 'email_confirm',
array(),array('invalid' => 'メールアドレスが一致しません。')
),
new sfValidatorOr(array(
new sfValidatorAnd(array(
new myValidatorSchemaIf('A', myValidatorSchemaIf::EQUAL, 'on', // チェックされている
array(),array('invalid' => ' ')
),
new sfValidatorOr(array(
new myValidatorSchemaIf('B', myValidatorSchemaIf::NOT_EQUAL, '', // チェックされていない
array(),array('invalid' => ' ')
),
new myValidatorSchemaIf('C', myValidatorSchemaIf::NOT_EQUAL, '', // チェックされていない
array(),array('invalid' => ' ')
),
)),
)),
new myValidatorSchemaIf('A', myValidatorSchemaIf::EQUAL, '', // チェックされていない
array(),
array('invalid' => '少なくとも1つをチェックしてください。')
),
)),
)));
テキストボックスの処理が入ってない状態でこうなっちゃうんだけど。
- 290 :nobodyさん:2008/07/31(木) 21:03:55 ID:???
- テキストボックス無い状態なら、こんな感じじゃない?
public function isValid()
{
$r = sfContext::getInstance()->getRequest();
$nf = $this->getWidgetSchema()->getNameFormat();
if($r->getParameter(sprintf($nf, 'A')))
{
if(!$r->getParameter(sprintf($nf, 'B')) and !$r->getParameter(sprintf($nf, 'C')))
{
$r->setError(sprintf($nf, 'A'), "AがチェックされたらBかCもしくは両方をチェックしてください");
$this->isBound = false;
}
}
return parent::isValid();
}
- 291 :nobodyさん:2008/07/31(木) 21:43:21 ID:???
- $r->setErrorのとこは
$this->getErrorSchema()->addError(
new sfValidatorError(
new sfValidatorPass(),"AがチェックされたらBかCもしくは両方をチェックしてください"
)
, 'A');
こっちにするべきか
- 292 :nobodyさん:2008/07/31(木) 22:13:12 ID:???
- $r->getParameter()のところは$this->getValue()で取れるわ
- 293 :nobodyさん:2008/07/31(木) 23:01:29 ID:???
- >>290-292
ありがとうございます。
比べて見たら漏れって馬鹿だなってまるわかりだね。
でも4章までしかないフォームガイドじゃさっぱりわからないことだらけで。
- 294 :nobodyさん:2008/07/31(木) 23:12:36 ID:???
- >>293
sfFormのパブリックメソッドを見渡して、どんな動作するか予測したり試してみたりすると良いよ。
- 295 :nobodyさん:2008/08/01(金) 00:11:12 ID:???
- >>277
言い訳乙ww
- 296 :nobodyさん:2008/08/01(金) 02:48:41 ID:???
- ここまでの流れで随分分かりやすく解説されたのに、
言い訳だと思える>>295の知能に同情
- 297 :283=293:2008/08/01(金) 11:00:00 ID:???
- 残念、その通りやってみたのですが、
エラーが上手く設定できていません。
parent::isValid()の位置を変えてみたりしたのですが、
通常のバリデータが通過したときだけオーバーライドした内容が評価されているようです。
ttp://groups.google.co.jp/group/symfony-devs/browse_thread/thread/a7a7ad2dd3ae1621
ここを読むと似たような罠にはまっていて、
返事に
「(カスタムバリデータ強制してるのは)再利用性とユニットテストしやすさのためだよ」
と書かれた後にFabienが「限定用途ならバリデータ作らないでsfValidatorCallback使えるよ」
とか書いてるんですが……
やっぱりポストバリデータで書くのが1.1流なんでしょうか。
- 298 :nobodyさん:2008/08/01(金) 11:23:31 ID:???
- sfFormって便利なの?
- 299 :nobodyさん:2008/08/01(金) 13:01:18 ID:???
- >>297
それは無い。動作検証してるし。
逆にsfValidatorCallbackでやると、$this->getValueで値がとれないから無理。
ちょっとコード晒してみなよ。
- 300 :283:2008/08/01(金) 13:56:08 ID:???
- 293のフォームとは違うのですが
public function isValid()
{
$result = parent::isValid();
print_r($this->getValue('a'));
if($this->getValue('a') == '2') // Aが2かどうか
{
if($this->getValue('b') === '')
{
$this->getErrorSchema()->addError(
new sfValidatorError(new sfValidatorPass(), "bが空欄です。"),'b');
$this->isBound = false;
}
}
else
{
if($this->getValue('c') === '' || $this->getValue('d') === '')
{
$this->getErrorSchema()->addError(
new sfValidatorError(new sfValidatorPass(), "cまたはdが空欄です。"),'c');
$this->isBound = false;
}
if($this->getValue('e') === '' || $this->getValue('f') === '')
{
$this->getErrorSchema()->addError(
new sfValidatorError(new sfValidatorPass(), "eまたはfが空欄です。"),'f');
$this->isBound = false;
}
}
return $result & (0 == count($this->errorSchema));
}
- 301 :283:2008/08/01(金) 13:56:54 ID:???
- print_r()している箇所で、
parent::isValid()がtrueの場合でないと、
$this->getValue()の値が取得できていないようです。
- 302 :283:2008/08/01(金) 14:14:21 ID:???
- sfForm::bind()を読むと、
$this->validatorSchema->clean()でsfValidatorErrorSchema例外が起きたら
$this->values = array()されちゃってますね。
bind()にセッション変数に格納した値を渡すような場合もある以上、
getParameter()を使うのも問題があるので、このやり方は使えないようです。
- 303 :nobodyさん:2008/08/01(金) 14:38:20 ID:???
- >>301
ていうか、configureでの設定間違えてる。
ソース全体晒すか、sfFormのソースよく読みなおしてごらん。
- 304 :283:2008/08/01(金) 14:56:54 ID:???
- >>303
configure()ですか?
propel:generate-crudしたものに
・widgetの追加
・validatorの追加
・setPostValidator()
・setDefaults()
してるくらいです。
先に上げたポストバリデータ方式だと、
動作自体は期待通り動いているので、
バリデータの記述に問題があるとも考えにくいのですが……
- 305 :nobodyさん:2008/08/01(金) 15:17:28 ID:???
- まず290-292のコードは動いたの?
>293のフォームとは違うのですが
とか勝手にフォーム変えて、動かないコードの一部を晒されて、
他人が理解できると思ってるの?
- 306 :283:2008/08/01(金) 16:00:11 ID:???
- >>305
なるべく忠実にやってから上手く動かないので、
他のフォームで試行錯誤していたっていう流れだったのですが、
確かにわかりにくかったとは思います。
しかし挙動は同じです。
public function isValid()
{
print_r($this->getValue('A'));
if($this->getValue('A'))
{
if(!$this->getValue('B') and !$this->getValue('C'))
{
$this->getErrorSchema()->addError(
new sfValidatorError(
new sfValidatorPass(),"AがチェックされたらBかCもしくは両方をチェックしてください"
)
, 'A');
$this->isBound = false;
}
}
return parent::isValid;
}
- 307 :nobodyさん:2008/08/01(金) 16:42:35 ID:???
- bind()の時点でバリデーションは終わってるのだから、
isValid()はバリデーション結果を返すだけの役目のはず。
isValid()に書くのはお門違いちゃう?
- 308 :nobodyさん:2008/08/01(金) 16:51:42 ID:???
- $this->getValue('A')
('A')が顔に見えるww
- 309 :nobodyさん:2008/08/04(月) 12:56:39 ID:???
- ああ…そうだな…
- 310 :nobodyさん:2008/08/04(月) 14:55:45 ID:???
- コマンド:
symfony generate:module frontend hoge
再生されるモジュール:
modules/hoge/actions/actions.class
URL:
http://example.com/hoge/index
http://example.com/hoge/poge/index
みたいな下の階層のURLに対するアクションに対応するにはどうすればいいですか?
symfony generate:module frontend hoge/poge
は駄目でした・・・
- 311 :nobodyさん:2008/08/04(月) 15:12:27 ID:???
- routing.ymlでしこしこしろってことかな
- 312 :nobodyさん:2008/08/04(月) 16:13:19 ID:???
- routingいじってもできるだろうけど、
もっと原始的に、
symfony generate:module frontend poge
にして
DOCUMENT_ROOT/hoge/
掘ってindex.php置いて相対位置書き換えるんじゃだめなん?
- 313 :nobodyさん:2008/08/04(月) 16:17:03 ID:???
- なるほど、そういう手もあるか。
railsだと、generate controller hoge/poge
みたいにやると、ちゃんと階層化されたコントローラ(モジュール)ができるんだけど
フランチョス的には階層深くするなってことなのかな。
それならそれでフランチョスの意志に従っても良い気がしてきた。
- 314 :nobodyさん:2008/08/04(月) 19:43:39 ID:???
- routing.ymlに
mobulea:
url: /modulea/:param1/*
param: { module: modulea, action: index }
moduleb:
url: /moduleb/:param1/*
param: { module: modulea, action: index }
と記述すると、modulebのルーティングルールが呼ばれないんだけど、
どうしたらいいんでしょう?moduleaは呼び出されます。
ちなみに、上の二つを消し、以下のように書き換えると
そのルールすら呼び出されません。
hogemodule:
url: /:module/:param1/*
params: { action: index }
使ってるsymfonyのバージョンは1.0.16です。
ルールの呼ばれる、呼ばれないはdevの画面右上のlogs & msgsで確認してます。
- 315 :314:2008/08/04(月) 20:31:46 ID:???
- ごめんなさい。できました
ただのyamlの記述ミスでした。
吊ってくる
- 316 :nobodyさん:2008/08/05(火) 09:27:37 ID:???
- 1.1ではswiftMailerを使うようだけどここの記事
ttp://www.thinkit.co.jp/article/71/1/3.html
を見たらISO-2022-JPが上手く動作しないらしいんだけど
他の人はどうしてるんですか?UTF-8を使うんですか?
- 317 :nobodyさん:2008/08/07(木) 17:00:25 ID:???
- 気づいたら symfony-1.1.1 出てるなあ
- 318 :nobodyさん:2008/08/10(日) 03:35:56 ID:zn9kEIVJ
- 1.0系たけど
各Loggerじゃなくて
それらに指令を出すトップレベルのsfLogger自体をオーバーライドしたい時は
どう書けばいい?
- 319 :nobodyさん:2008/08/10(日) 03:43:09 ID:???
- sfLoggingConfigHandlerで
$data .= "\n\$logger = sfLogger::getInstance();\n";
とハードコーディングしてた・・
ほんと使えないフランチョスだな
- 320 :nobodyさん:2008/08/10(日) 04:21:55 ID:???
- 1.1ではsfAggregateLoggerになってるのか
そりゃそうだよな
何か変な実装だもん
- 321 :nobodyさん:2008/08/11(月) 21:00:04 ID:???
- >>273
compat10を有効にしてフォームウィジェットを使わなければいい
- 322 :nobodyさん:2008/08/11(月) 22:25:50 ID:jwJ3rV7r
- 1.1でpropel:init-adminしたんだけど、一覧から編集用画面へのリンクのコントローラ名が消えてる。
具体的にいうと、
http://localhost/hogeProject/web/backend.php/member/edit/id/1
ってなってほしいところが
http://localhost/hogeProject/web/member/edit/id/1
って生成されてる。開発用コントローラからは
http://localhost/hogeProject/web/backend_dev.php/member/edit/id/1
って生成されてるところを見ると、本番用コントローラでなんか設定を忘れてるのかな?
ちなみに、
http://localhost/hogeProject/web/backend_dev.php/member/edit/id/1
を直接入力したらちゃんと呼び出せたので、propel:init-admin自体は多分成功してる。
cache:clearも実行したけど変化なし。
ちなみにWindows XP+XAMPPで実行中。
何が足りないのかな?
- 323 :322:2008/08/12(火) 13:06:13 ID:???
- >>322
自己解決。settings.ymlのno_script_nameがonになってた。申し訳ない……。
でもこれ、何個アプリケーション作ろうともデフォルトはonなのな。
- 324 :nobodyさん:2008/08/13(水) 14:28:50 ID:ccVg322Y
- The defenitive Guide to symfony
ってマンモス本より役に立つ?
- 325 :nobodyさん:2008/08/13(水) 18:51:17 ID:???
- form_remote_tagでは、引数の配列のurlに?〜でパラメータを入れて、
remote_functionでは、引数の配列のwithにパラメータを入れるっていうのが
紛らわしいというか奇妙というか
1.0の話だけど
- 326 :nobodyさん:2008/08/13(水) 23:47:37 ID:???
- パラメータをurlエンコードして
/module/action/word/%E3%82%A8%E3%83%B3%E3%82%B3%E3%83%BC%E3%83%89
って感じにしたパスをlink_toに渡してリンクを作っていたんだが
link_toがエンコード文字部分を勝手に書き換えてたせいで変なバグに悩まされた ('A`)
- 327 :nobodyさん:2008/08/14(木) 18:22:05 ID:???
- ttp://symfony.xrea.jp/1.1/forms_book/02-Form-Validation.html
を参考にアップロード処理作ったんだけど、
ローカルでxampp上だとうまく動くのに
サーバー上だとアップロードできない。
$file->isSaved()
もtrue返すのに、、。
アップロードフォルダーのパーミッションも大丈夫だと思うし、
それ以外に気をつける点ってあればどなたかご指摘下さい。
てか、isSaved() が true 返してるが気に入らない。なんで?
- 328 :nobodyさん:2008/08/15(金) 01:40:17 ID:YW2vuQsP
- Internal Server Error画面を独自のものにするには
どうしたらいいですか?
- 329 :nobodyさん:2008/08/15(金) 23:29:09 ID:???
- マンモスSymfony本を見て、実際に手を動かし始めたところですが、以下の二点で詰まってしまいました。
アドバイスを頂ければ幸いです。
(1)バリデータのエラーメッセージをデフォルトで日本語化することはできないのでしょうか?
(2)メッセージの一部パラメータ化(例:「$a1は$a2文字から$a3文字までの長さで入力してください」)って出来ないのでしょうか?
アクションごとにバリデータのメッセージを設定する方法は検索できました
(ttp://develop.ddo.jp/symfony/book/jp/1.0/validate_form.htmlの「名前をつけたバリデーター」以下の方法で、日本語を設定していけばいいんですよね?)
が、これをアクションごとに記述していくのはやはり手間です。他に方法はないのでしょうか?
- 330 :nobodyさん:2008/08/16(土) 16:52:57 ID:z7m75dUv
- propelで、SQLの確認の仕方おしえてください
- 331 :nobodyさん:2008/08/16(土) 21:05:40 ID:???
- dev
- 332 :329:2008/08/17(日) 16:02:07 ID:IR0jQIbG
- >>329
自己res。今のSymfony1.1では、>>329のやり方って古かったんですね。
今のsfFormなら、少なくとも(2)は出来る事がわかりました。ただし(1)(デフォルトでの日本語化)はまだ方法がわかりません。
まぁ、各バリデータのconfigureだけをオーバーライドしたクラスを作ってしまえばいいのかもしれませんが、なんとなくスマートではない気がしますし、メッセージを管理する場所がバラけてしまうのも少々厄介です。
何か他にいい方法はないでしょうか?
- 333 :nobodyさん:2008/08/18(月) 13:56:03 ID:???
- Propel:getConnection()->getLastExecutedQuery();
だったっけ
- 334 :nobodyさん:2008/08/18(月) 16:19:58 ID:jvpRje/g
- >>332
sfFormを継承して、configureの後にValidatorSchemaを全部ナメてってsetMessageしてやれば何とかなりそうだけど・・・
これってやっぱ車輪の再発明?
- 335 :327:2008/08/18(月) 17:12:57 ID:???
- 327の自己レス
サーバーとローカルの構成を変えていたのが原因で、
違う場所に保存されていました。(^^;
- 336 :nobodyさん:2008/08/18(月) 17:25:52 ID:???
- 場違いな疑問なんだが、なんで例えが車輪になったんだ。
よくあるものならなんでも良かったってことか?電球とかオナホールとか
- 337 :nobodyさん:2008/08/18(月) 19:35:03 ID:???
- この後、「車輪の再発明」の語源スレになります。
- 338 :334:2008/08/18(月) 22:24:47 ID:jvpRje/g
- >>334
いちおー出来たっぽいが、誰か見てみる?
Symfonyいじり始めて一週間&実質20行のコードだから、あまり過度な期待はしてもらっても困るけど。
でもこの程度のこと、絶対誰かやってると思うんだけどね。
- 339 :nobodyさん:2008/08/19(火) 19:33:45 ID:???
- 洋梨のようです
- 340 :nobodyさん:2008/08/19(火) 20:41:23 ID:8DZ4PLH3
- getメソッドで、
form_tagを使った時の遷移先に
?key=valueじゃなく
ルーティングルールを適用させる方法ってある?
- 341 :334:2008/08/19(火) 20:58:45 ID:???
- >>339
だね。やっぱこの程度のこと、もう誰かor本家がやってるか。
- 342 :nobodyさん:2008/08/20(水) 23:33:43 ID:LuQqZLWt
- sfPropelOptimisticLockBehaviorPluginって、誰か使ってるヒトいる?
楽観的ロックって、自分で実装すると結構めんどくさいんだよね。
特に汎用にしようとすると。
- 343 :nobodyさん:2008/08/22(金) 11:58:57 ID:Vc/mgEWX
- 確認画面、プラグインで実装した人がいるね
ttp://www.open-force.info/index.php/blog/show/l/54
公開してまだ一週間だから、信頼性についてはまぁそれなりにってトコだろうけど。
でも、「日本独特の文化ですよね」って断言されるほど、海の向こうじゃマイナーな機能なのか?
- 344 :nobodyさん:2008/08/22(金) 21:23:08 ID:fOZ3YS9P
- Cannot redeclare get_callbacks()ってどうすりゃいいんだ?
use_helper('javascript')が複数あるとこれになるみたいなんだが、
helperが使われてるか確認する方法ってある?
- 345 :344:2008/08/22(金) 21:30:22 ID:fOZ3YS9P
- ごめん、早とちりだった。
use_helper('javascript')
と
use_helper('Javascript')
がごっちゃになってたからエラーになってたみたいだ
- 346 :nobodyさん:2008/08/23(土) 17:28:28 ID:???
- >>343
海外のサイトのユーザ登録をいくつかこなしてみればわかる
- 347 :nobodyさん:2008/08/23(土) 17:56:23 ID:???
- 1.1使ってみた
1.0より洗練されててよいね〜
- 348 :nobodyさん:2008/08/23(土) 21:11:42 ID:???
- デフィニシブガイドって1.0ベースでしょ?
1.1とだいぶ違うから買っても使えなそう
フランチョステラ詐欺師www
- 349 :nobodyさん:2008/08/24(日) 02:03:12 ID:???
- >>348
またおまえかよwww
- 350 :nobodyさん:2008/08/24(日) 04:22:57 ID:???
- 1.1ってdefaultって名前のモジュール作らない方がいいの?
- 351 :nobodyさん:2008/08/24(日) 04:49:49 ID:???
- >>348
ネットでタダで読めるだろ
- 352 :nobodyさん:2008/08/24(日) 05:21:15 ID:???
- sfForm、作りかけてた俺俺Formにそっくりだ
俺とフランチョステラエスパー
- 353 :343:2008/08/25(月) 11:14:01 ID:???
- >>346
ふむ、今まであまり気にしてなかったが、言われてみればあまり見た記憶がないな
>海外サイトのユーザー登録での確認画面
外人ってせっかちなのか、それとも画面以外(ex.メールとか)での確認の方を重視してるのか……
まぁ、これ以上はスレ違いか。
- 354 :nobodyさん:2008/08/25(月) 16:51:30 ID:???
- わざわざ静的ページつくらんでもフォームの時確認すりゃいいだけだし
- 355 :nobodyさん:2008/08/26(火) 01:37:54 ID:???
- http://codezine.jp/article/detail/704?p=1
上記URLを参考にsymfonyを始めたんですが、
http://codezine.jp/article/detail/704?p=4
でhttp://localhost/helloworldにアクセスしても『お名前をどうぞ。』しか表示されません。
ヘルパーが実行されていないようなのですが、何かここがおかしいんじゃないかみたいなのあったら教えて頂けないでしょうか。
環境はvista apache2.2.6 php5.2.4です。
よろしくお願いします。。
- 356 :nobodyさん:2008/08/26(火) 09:25:21 ID:???
- >>355
日付を見ると、その記事は間違いなく1.0を対象にした記事。
1.1だと、「use_helper('form')」って書かないとヘルパーは動かない。
1.1だとヘルパー使わずフォームを使うのがフランチョスのお勧め。
sfCompat10を有効にすれば大丈夫だっけ?>ヘルパー
- 357 :356:2008/08/26(火) 11:04:31 ID:???
- おっと、フォームってのはもちろんsfFormのことね。
詳細は>>3の一番上のリンクの少し下のほう、「symfony Forms in Action」を参照。
- 358 :nobodyさん:2008/08/26(火) 15:28:55 ID:C/n8oxtA
- スロークエリのログ上のプライオリティーって
CRIT/ERR/WARNINGのどれ?
エラーじゃねーし
WARNINGだと弱すぎ、CRITだと強すぎな感じで悩む
- 359 :nobodyさん:2008/08/27(水) 14:04:25 ID:???
- >>343
リンク先の公式ページで
「何に使うプラグインなんだかワカンネ」
ってコメント付いてるぞwww
2ヶ月くらい前にも確認画面の話題でもめてたよなこのスレ。
- 360 :nobodyさん:2008/08/27(水) 16:47:51 ID:???
- もう確認画面なんて無駄なもんつくるのやめようぜチョッパリ
- 361 :nobodyさん:2008/08/27(水) 16:56:19 ID:???
- 確認画面なんていう文化が育ったのは、
日本語の中で文字コードが乱立した結果、
確認せずにPOSTすると化けに気が付かないからだろうな。
外人はそんな心配要らないのだから。
日本人の(過度な)慎重さも要因かもしれん。
- 362 :nobodyさん:2008/08/27(水) 17:00:03 ID:???
- 日本人はちょっとでもミスがあるとダメだっていう風習だからな。
アメとかは「ミスがあるのはしょうがない。大事なのははその対応」ってかんじだから。
- 363 :nobodyさん:2008/08/27(水) 17:03:46 ID:???
- つーか送信時にアラート出して確認させりゃいいだけだよな。
admin generatorの削除時のやつと同じように。
- 364 :nobodyさん:2008/08/27(水) 17:42:29 ID:???
- >>363
Javascript使える環境しか相手に仕事されてない方ですね、わかります。
- 365 :nobodyさん:2008/08/27(水) 19:45:36 ID:???
- 別にjs使えないならフォームもう一回表示させれば良いだけだよな。
静的ページにする必要はまったく無い
- 366 :nobodyさん:2008/08/27(水) 19:59:54 ID:???
- 携帯は固体識別でアラートの役割できるし。
しかし未だにjs無しの環境で仕事してるやつ居るんだな…
アマゾンの奥地で謎の未開原住民を見た気分だ
- 367 :nobodyさん:2008/08/27(水) 20:58:04 ID:???
- 動かすのが実際にはIE7でも、
レアケース対応で要求仕様に入ってる事は結構あるんじゃないか?
- 368 :nobodyさん:2008/08/28(木) 00:54:20 ID:???
- JS使えない環境に対応するのは、ネスケ4.7に対応するようなもんだな。
- 369 :nobodyさん:2008/08/29(金) 00:26:17 ID:???
- jsなしの場合はアクセス不可って処理で無問題
- 370 :nobodyさん:2008/08/29(金) 02:54:24 ID:BLGUiryP
- コントローラとモデルの中間くらいの、
モジュールをまたがって共通性のある処理ってどこに書く?
一つのモジュール内だけだったら、
actionsに非publicなメソッドを書けばいいけど。
Rubyのmixinがあれば・・・
- 371 :nobodyさん:2008/08/29(金) 03:29:13 ID:???
- sfMixinはactionの中から自分にmixinさせることはできなそうだし
共通した祖先クラス書いて継承させるくらいか・・
あんまりキレイな方法じゃないが
- 372 :nobodyさん:2008/08/31(日) 09:30:46 ID:???
- actionsのファイル名が全部actions.class.phpなのが
ide使ってると分かりにくいな
hogeActions.class.phpにしたい
- 373 :nobodyさん:2008/08/31(日) 18:39:31 ID:???
- >>372
できるよ。
hogeAction.class.php
Actionと単数形になる。
- 374 :nobodyさん:2008/09/01(月) 05:33:37 ID:???
- >>370
モジュールフィルタ
- 375 :nobodyさん:2008/09/01(月) 20:50:10 ID:???
- いつの間にか$_REQUESTが使えるようになってる
前はわざわざクリアしてたような・・
- 376 :nobodyさん:2008/09/02(火) 04:15:47 ID:???
- sfRequest::POSTとかもう使わないようになったの?
$request->isMethod(sfRequest::POST)
とかやっててバグになってた('A`)
- 377 :nobodyさん:2008/09/02(火) 16:50:39 ID:???
- モデルはcodeigniterマネして自作して
フォームまわりも自作ライブラリ使って、
mvcの骨格だけsymfony使ってる状態になった
骨格のためだけにsymfonyというフルスタックフレームワーク使うのは
コストが高い気もするけど
symfonyの一番素性がいい部分は、mvcまわりなんだよな
- 378 :nobodyさん:2008/09/02(火) 21:17:55 ID:XzTndE53
- symfonyってrails真似てるんだっけ?
だったら機能を理解するためにrailsに手出そうかと思うんだがどうだろう
- 379 :nobodyさん:2008/09/02(火) 21:32:33 ID:???
- railsよりいけてるとこもあるよ
actionにexecuteというプリフィックス付けるとことか。
railsは何のプリフィックスも付けないというあり得なさ。
- 380 :nobodyさん:2008/09/05(金) 10:42:02 ID:???
- >>377
それって実はmojavi
- 381 :nobodyさん:2008/09/05(金) 15:37:50 ID:???
- MVC部分だけでもmovajiより洗練されてるでしょ
84 KB
[ 2ちゃんねる 3億PV/日をささえる レンタルサーバー \877/2TB/100Mbps]
■ おすすめ2ちゃんねる 開発中。。。 by FOX ★
このスレを見ている人はこんなスレも見ています。(ver 0.20)
広告マーケットプレイス Pitta! [ピッタ!] [Web収入]
コンテンツマッチ広告・ブレイナーPart4 [Web収入]
CentOS part 15 【RHEL Clone】 [Linux]
新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver 05.0.7.3 2008/07/26
FOX ★ DSO(Dynamic Shared Object)