フランチョスとsymfon ..
151:nobodyさん
08/05/02 23:16:32
一週間いじってみたがこんな致命的バグの潜んだFWは使う気になれん
152:nobodyさん
08/05/03 00:13:11
いるいるこういうやつw
153:nobodyさん
08/05/03 18:38:53
symfonyってセッションの初期化
$_SESSION = null;
$_SESSION = array();
ってやってるけど
別にnull代入しなくてよくね?
なんでこうなってるか知ってる人いる?
154:nobodyさん
08/05/03 22:08:35
>>151
1.1いじったんじゃない?
まだ駄目だよ。
1.0でもう一週間どうぞ。
155:nobodyさん
08/05/03 22:45:24
>>153
前にもこの質問あった気がするな。
たしか明示的に開放するためだけど、現行のPHPならnull代入はなくてもOKで、
「歴史的な経緯」みたいなかんじだったような・・・
156:nobodyさん
08/05/03 23:33:05
>>151
スレリンク(php板:276番)
276 名前:nobodyさん[sage] 投稿日:2008/04/30(水) 12:41:32 ID:???
一週間いじってみたがこんな致命的バグの潜んだFWは使う気になれん
スレリンク(php板:765番)
765 名前:nobodyさん[sage] 投稿日:2008/04/29(火) 00:30:20 ID:???
一週間いじってみたがこんな致命的バグの潜んだFWは使う気になれん
スレリンク(php板:161番)
161 名前:nobodyさん[sage] 投稿日:2008/05/03(土) 10:18:16 ID:???
一週間いじってみたがこんな致命的バグの潜んだFWは使う気になれん
>>154
釣られちゃ駄目ぇええwww
157:nobodyさん
08/05/03 23:36:43
1.1のフォーム周りはなかなか面白いな
資料が少なすぎて困ったけど。
URLリンク(www.thatsquality.com)
他にも1.1の解説あったらよろしく。
158:nobodyさん
08/05/06 21:20:01
Think ITの5月特集はPHPで、
月曜日の特集はsymfony1.1を使った記事になるらしい。
159:nobodyさん
08/05/07 13:30:47
1.0系打ち止めじゃなかったのかyo
160:nobodyさん
08/05/08 08:25:32
1.1RC1でました。
161:nobodyさん
08/05/10 12:37:23
>>157
サンクス、1.1でform helperがuse_helper()しないと使えないのはバグだと思ってた。
しかしこれ、正直なところ使いづらいよな。
なんか昔々のHTML_QuickFormに似てる。
jsやcssをデザイナがいじる今のご時勢じゃ、オーバーヘッドが大きいだろうし、
設定はyamlで統一されてるのに、validationだけオブジェクトベースというのも違和感があるし。
1.0までのやり方もこの先ずっと使えるようにして欲しいけど、
URLリンク(trac.symfony-project.com)
ここを見るとdeprecatedと書いてあるな。
別のFWを物色するか・・・。
162:nobodyさん
08/05/10 12:53:00
>>161
設定ひとつでいままでのもそのまま使えるYO
163:161
08/05/10 16:54:50
>>162
お、ほんとに?
use_helper()しなくてもいける?
164:nobodyさん
08/05/12 09:09:43
>サンクス、1.1でform helperがuse_helper()しないと使えないのはバグだと思ってた。
俺もそうだと思ってた。
でもuse_helper()使わないといけないならなんでsettings.ymlに
# # Helpers included in all templates by default
# standard_helpers: [Partial, Cache, Form]
って書いてあるんだろう?誰かわかる?
165:nobodyさん
08/05/12 12:22:32
俺も1.1使ったら form helper がデフォルトで使えなかった…
デフォルトには書いてあるからバグか?
166:nobodyさん
08/05/12 12:34:41
yahoo!answerはviewキャッシュ使ってないのか
167:162
08/05/12 14:26:35
URLリンク(www.thinkit.co.jp)
ここにやり方が書いてあった。
168:nobodyさん
08/05/12 23:02:45
実用でTCPDF使ってる人いますか?
sfTCPDFPluginとTCPDFとIPAの日本語ttfフォントで動くには動いたんだけど…。
大丈夫かね?
なんせちょとでも挙動が不安定だと、ユーザにすんごい怒られるんで。はぁ…。
やっぱPDFlibかなぁ…。
169:nobodyさん
08/05/14 13:10:32
レイアウトを動的に変更したいのだが、
setLayoutってアクションの中しか使えないの?
170:nobodyさん
08/05/14 14:38:59
>>169
できなくはないけどアクションの中以外でどこで変更したい?フィルタ?
171:169
08/05/14 14:42:57
自分で調べてみてフィルタで出来た。
でもフィルタの動作自体がよく理解できないなぁ・・・
実行の順番とか。
172:nobodyさん
08/05/14 16:38:05
$_POSTと$_GETを一緒くたにして処理してんのか
こんな欠陥フレームワークを使う奴の気がしれん
173:nobodyさん
08/05/14 17:56:38
いるいるこういうやつw
174:nobodyさん
08/05/14 18:44:54
1.1のフォームで勝手にfillinが効いてるんだけどやめさせるには
どこで設定すればいい?
175:nobodyさん
08/05/15 06:56:55
1.0.16でました。
セキュリティーフィックスです。
176:nobodyさん
08/05/16 12:55:56
ブラウザテストってseleniumideでやった方が楽じゃね?
存在意義あんの?
177:nobodyさん
08/05/16 18:39:52
選択肢は多いほうがいいだろうが
178:nobodyさん
08/05/16 21:13:26
セレニウムだと最初のレッドが作れない
179:nobodyさん
08/05/16 22:51:02
レッドってなに?
180:nobodyさん
08/05/17 22:53:48
かっこつけてパーシャルとか言ってるけど
生PHPを単にincludeするのと全く同じだよね?
もったいつけすぎww
181:nobodyさん
08/05/18 16:59:15
わざわざパーシャルと言うくらいだからキャッシュ周辺で何かやってんでは?
今ソースも見れない環境なのでなんとも言えないが。
182:nobodyさん
08/05/19 00:28:45
で、これはおまえらの給料アップに貢献してくれるのか?
因みにSmarty(笑)は結果的におまえらの給料を最大で半減させたよなw
一歩引いて、冷静に、よーく考えて選べよ、馬鹿ども。
183:nobodyさん
08/05/23 19:57:49 XSrnXrCW
symfonyでformの入力フィルタはどのようにすればいいのでしょうか。
例)
全角で入力された数字を半角に変換。
ひらがなや全角片仮名を半角片仮名に変換等々。
URLリンク(blog.symfony.jp)
↑このやり方しかないのかな。
184:nobodyさん
08/06/10 06:44:33
RC2きたー!!
185:nobodyさん
08/06/13 13:51:24
Cookieの有効・無効を判断して、無効だったときに警告ページに飛ばしたいんだけど、
どう書くのがsymfony風?
186:nobodyさん
08/06/13 14:01:46
そんな単純な処理にsymfony風も何もないだろ
187:nobodyさん
08/06/13 18:07:34
>>185
URLリンク(www.symfony-project.org)
snippetにそのものの記事があった。
188:nobodyさん
08/06/13 22:11:47
>187
サンクス
189:nobodyさん
08/06/21 12:52:41
symfonyのファイルキャッシュ、ファイルが増えてくるとある日突然ぶっ壊れてるね
急に書き込めなくなって、ディレクトリまるごと削除しようとしても出来なくなる
以前も同じことがあって、その時はC2Dが出る前の熱暴走しやすいサーバだったので
それが原因だと思ってたんだが、またなった。
fsckで修復してからやっても変わらず。
大量のキャッシュをファイルシステムで管理するのは無理ある予感。
190:nobodyさん
08/06/21 17:13:34
>>189
symfonyの問題と言うよりOSの限界。
特に同じファイルに大量のファイルがあると問題が起きる。
万単位になったら、要注意だと思う。
191:nobodyさん
08/06/21 20:39:05
>>189
OS(というか使用しているファイルシステム)は何だったんでしょうか?
192:nobodyさん
08/06/22 00:10:50
>>190
確かに普通にPHPのファイル関数で読み書きしてるだけだから
symfony固有ということはありえないね
>>191
OSはFC6
ファイルシステムはext3です
193:nobodyさん
08/06/22 10:06:28
ほかのファイルシステムなら大丈夫かな。
ZFSとか。
194:nobodyさん
08/06/22 12:06:50
cronで毎日symfony ccすることにしたよ
195:nobodyさん
08/06/22 17:43:18 +qDf8Vsb
動的なタイトルを設定するときが何かしっくりこなくない?
基本はview.yml でテンプレート毎に設定するけど、
動的に設定するときはアクションで設定?
196:nobodyさん
08/06/22 20:37:00
>>192
1日どのくらいアクセスあんの?
197:nobodyさん
08/06/23 00:59:30
>>195
1.1 だとその辺が変更になってるみたいね
中の人もこれはおかしいって思ってたんだろうね
198:nobodyさん
08/06/25 03:33:44
シンポニーて読むの知ってた?
199:nobodyさん
08/06/25 03:36:27
シンポニーてのは
もともとフランス語で交響曲て意味なんだよ
だからsymfonyて単語は無いんだよ
作者が当て字のようにつくっただけで
ほんとはチンポニーと言うんだよ
200:nobodyさん
08/06/26 13:10:13 g+nGdcio
造語のが検索しやすいしね
201:nobodyさん
08/06/26 18:14:47 Ib0rEj6C
各モジュールやアプリケーションにまたがって
使われるクラスを作りたいんだけど、
そういうファイルってどのディレクトリに入れるのが適切?
202:nobodyさん
08/06/26 20:10:08 Pvojb66n
>>201
一番上の方の lib とかに入れとけばautoloadされなかったっけ?
曖昧なかんじですまん。
203:nobodyさん
08/06/26 21:06:37 Ib0rEj6C
>>202
プロジェクト下だったりアプリケーション下だったりモジュール下の
libに入れれば各々のところでautoloadされるみたいですね。
ありがとうございます!
204:nobodyさん
08/06/27 15:48:50
settings.yml の
.settings:
timeout: 180
って何の設定?
205:nobodyさん
08/06/27 21:50:11
セッションが180年継続されることです。
206:nobodyさん
08/06/30 08:11:19
祝 1.1
207:nobodyさん
08/06/30 10:07:04
キタコレ。
208:nobodyさん
08/06/30 22:14:01 p53V2UEr
Symfony(で使ってるpropel)って、SQLiteの時にsqlite.soを要求するってことはSQLite2?
SQLiteで作ったファイルを使ってpropel-build-schemaさせようとして半日悩んでしまったが、一行目にハタと気がついてしまった。
自分バカっす……。
209:208
08/06/30 22:14:47
っと、脱字。「SQLite3で作ったファイル」ね。
210:nobodyさん
08/07/01 16:31:40 qqn3liZn
example.com/hoge?a=b
を
routing.ymlで
example.com/hoge/a_b
という風にすることってできないですかね?
やるとしたら.htaccessいじるしかないのでしょうか
211:nobodyさん
08/07/01 21:59:28
>>210
mod_rewriteで変換するのが楽そうやね。
aとbの組み合わせが限られていて少なければ全部書いていけばrouting.ymlでもできるだろうけど。
212:nobodyさん
08/07/02 09:33:33
>210
yamlに直接PHPを書けるよ。
213:210
08/07/02 15:35:36 rbMFbkRb
>>211
やっぱそっちのほうが楽ですよね
でも、見るファイルがrouting.ymlと.htaccessに散らばるのが嫌なんですよねえ
>>212
ためしに
/:module/a_<?php sfContext::getInstance()->getRequest()->getParameter('a') ?>
っていう感じでやってみたんですが、
Fatal error: Unsupported operand types in C:\PHP\PEAR\symfony\util\Spyc.class.php on line 667
と出てしまいます。
まだsymfonyのことよくわかってないので、
色々試してみます。
ありがとうございました!
214:nobodyさん
08/07/02 18:34:23
routingにパラメータ取得持ってくるとか…
なんてかわいそうな人
215:210
08/07/02 18:46:03 rbMFbkRb
ほかに取得するものが浮かばなかったので・・・
216:nobodyさん
08/07/02 20:24:36
ていうかRouting拡張すりゃいいんじゃん
217:nobodyさん
08/07/02 20:28:44
symfony_data_dir/config/config_handlers.ymlをプロジェクト/configにコピって持ってくる
config/routing.yml
class: CustomRoutingConfigHandler
で、好きにカスタマイズしなよ
218:nobodyさん
08/07/04 22:35:50 6INfqE2e
今日デプロイ予定日なんですが、久々にsymfony syncしたら
URLリンク(tkt.s307.xrea.com)
的な状態でSSHログインができなくなってしまいました。
勿論pakeFunctionの修正は行っているのですが、誰か心当たりの
ある方いませんか?
219:nobodyさん
08/07/04 23:01:37 6INfqE2e
む、と言うかレンタルサーバーのSSHが落ちてるかもしれんです。
220:nobodyさん
08/07/05 01:23:33
ssh落ちるとか怖すぎ
221:nobodyさん
08/07/05 11:47:42
なんでsymfonyってこんなに落ちぶれてんの?
222:nobodyさん
08/07/07 16:59:32
>>221
2日も釣られる人が居なくてあまりにもかわいそうだから、釣られてあげるよ
223:nobodyさん
08/07/07 17:00:39
二日も話題無いなら十分落ちぶれてると思うけどな
224:nobodyさん
08/07/07 20:06:39
話題がないんじゃない!
ネットに情報があふれかえっているから、
こんなところで話す必要がないのだ!
225:nobodyさん
08/07/07 23:17:20
二日レスがないくらいで落ちぶれてるなら、この世に落ちぶれてないWebアプリフレームワークは
存在しないな。
毎日2ちゃんねるへ来てしまう重度の人でなければ、なかなかそういう発想はできない。
226:212
08/07/12 16:05:19
>>213
俺もチラッと読んだことがあっただけだったので、詳しく書けなかった。
日付が去年の一月なので、今でもこのとおりいくかどうかわからんけど、ここ読んでみて。
URLリンク(blog.symfony.jp)
227:nobodyさん
08/07/14 01:54:26
symfony1,1試してみているんだけど、
あいかわらず外人の作るフレームワークは確認画面を考慮してないな。
HTMLQuickFormで例えると$form->freeze()的な処理はどうやったらできるんだろう。
これを解決しないと日本じゃつまずくと思う。
228:nobodyさん
08/07/14 10:24:12
>>227
もう既に何度も話題に上がって解決された話題を、今更穿り返すな。
229:nobodyさん
08/07/14 11:00:59
>>228
少なくともこのスレと前スレを読み返した範囲では、
どこを探しても1.1のフォームフレームワークで確認画面をどう実現するか、
という話題は見当たらないんだが。
前スレ934はフォームヘルパ使っているからcompat_10モードだよな?
「解決された」と言い切れるほど自信があるならポインタくらい示せよ。
230:nobodyさん
08/07/14 11:24:38
誘い受けですね、わかります。
231:nobodyさん
08/07/14 11:32:13 x4hcg1ov
確認画面なぞ、確認画面Success.php作るってだけの話だろ?
HTMLQuickFormを使いたいってんならその画面でHTMLQuickFormを使えばいいだけだと思うんだが・・・
何が不満なんだい?
232:nobodyさん
08/07/14 12:00:50
>>229
なんでこのスレなんか見てるの?その前にまず公式のドキュメント見ればわかるだろ…
あんなにでかでか書いてあるのにポインタ示せとか、盲目すぎ
233:nobodyさん
08/07/14 12:13:15
ゴミクズども口から糞垂れる前に胸に手を当ててバリデーションをしろ
234:nobodyさん
08/07/14 12:44:18
>>227
今ざっとコードを見てみたんだが freeze() にあたる処理を入れる余地はないなこれ
あるタイプの Widget はそれ本来のタイプの HTML 出力をする機能しかないわけだから
sfForm(を extends したユーザフォームクラス)のレベルで
入力画面用の Widget と確認画面用の Widget を切り替えるような仕組みを作る必要があるのかな……?
いま公式ドキュメント読みつつ脱線して fabien が sfForm の MVC 適合を解説してるブログとか読んでるところだけど
手間を省くためにも >>232 がでかでか書いてある箇所の URL を挙げてくれるとありがたい
235:nobodyさん
08/07/14 12:51:42
1.1版The Definitive Guide to symfonyの読み込みが足りてないのは素直に認めるとして、
>>231がsfForm使ってないのに適当に答えてるらしいことはよくわかった。
236:nobodyさん
08/07/14 13:21:01 Bo+zcAFi
FWって初めて使ったんだが、覚えることが多いな
慣れれば便利そうなんだが
他のFWもこんな感じ?
237:nobodyさん
08/07/14 13:27:46
>>>231がsfForm使ってないのに適当に答えてるらしいことはよくわかった。
それ今のお前まんまじゃんw
もっとよく読め。
238:nobodyさん
08/07/14 13:32:55
>>234
Thank You Pageにあたる部分にsetFlashを使ったアクションを一枚噛ませれば良い。
そして最後にgetFlashして登録
239:nobodyさん
08/07/14 14:05:34
>>238
setFlashじゃリロードされた時に消えないか?
240:nobodyさん
08/07/14 15:43:56 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さん
08/07/14 16:16:59
現場でんなこと言ってられる分けないだろワナビー死ねよかし
242:nobodyさん
08/07/14 16:33:30
いつ現場って出てきたんだよ(;´Д`)
現場の話なら現場の話って最初から言え、っつーか、後だしで条件出してくるんじゃねぇよ。
243:nobodyさん
08/07/14 19:25:18
>>239
リロードされて消えるからいいんじゃん。
消えたら登録せずにエラー出せばよい。
リロードでの連投許可するってなら別だけどね。
ぎゃくにquickformだとhiddenだからバリデーション2回走らせたり効率悪すぎるだろ?
244:nobodyさん
08/07/15 12:18:49
確認画面でリロったら入力値が消えるってどんなクソ仕様だよwww
245:nobodyさん
08/07/15 12:21:34
流れぶった切って質問
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さん
08/07/15 14:51:17
>>244
お前ばかか?誰が確認画面で消えるなんて言った?
247:nobodyさん
08/07/15 14:58:39
>>245
sfForm
248:nobodyさん
08/07/15 22:05:00
sfFormってsymfonyのオリジナル?
escapingOutputもパクリ元のRailsにないし
symfonyもまぁまぁがんばってるね
249:nobodyさん
08/07/15 22:41:00
別のスレで違ってたのに今気づいたので
こっちで質問させてください。
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
08/07/16 09:13:54
他スレでアドバイス頂いて解決したので一応書いておきます。
通常の pear とsymfony にバンドル版とでソースが違ったようです。
pear のものを uninstall したら動くようになりました。
251:nobodyさん
08/07/16 11:18:16
symfonyで使うのにPropelじゃないO/Rマッパでよさげなのがあるという噂を聞いたのだが、心当たりある人いるかい?
252:nobodyさん
08/07/16 11:20:57
s2だお
253:nobodyさん
08/07/16 11:21:50
Timpopelopeloのこと?
254:nobodyさん
08/07/16 13:14:31
>>251
doctrine じゃなかったっけ?
使ってる人いたら報告希望
255:nobodyさん
08/07/16 14:38:58
>>247
sfFormを使わずにやりたいからCompat10プラグインなんだ。
256:nobodyさん
08/07/16 19:22:49
Doctrine使ってるよ。
クラス定数を書かなくていいので楽だよ。
でも、使おうと思ったらどんなORMでも使えるよね。
257:nobodyさん
08/07/16 20:01:51
俺もTimpocorine使ってる
258:nobodyさん
08/07/17 01:53:41 r8Tb5l59
FWを覚えるのて長く使えないから、無駄だよな
C++,C#覚えてた方が無駄じゃないよな
259:nobodyさん
08/07/17 09:27:50 r8Tb5l59
おまいらがsymfonyを習得できた頃には
また新しい超人気のFWが登場するだろうw
短期で習得しないと回収できないよ、この業界はね
260:nobodyさん
08/07/17 10:55:21
C++というか、Cを勉強しておくのは役に立つぞ。
symfonyを勉強しておくのもCを勉強おくのと同じくらい役に立つが
とりあえずCを勉強しておけ。
261:nobodyさん
08/07/17 13:50:12
PHP
C++
C#
C
そして、いよいよsymfonyの出番だ!
おかしくね?
262:nobodyさん
08/07/17 19:13:50 6/yjc+oz
逆だよ、逆。
Cってのはどっちかというと、コンピュータ(ハード側)に則した言語なんだ。
考え方が異質だけと単純。
それに対して、PHPとかsymfonyになってくると人間側の「もっと簡単に、省ける事は空気読んで省けいて書けた方がいいよね」になってくるんだよ。
その為、見た目は簡単だけど、複雑になってる訳。
単純な方から複雑な方へ勉強していった方が理解が早い・・・はずだと思うんだ。
263:nobodyさん
08/07/17 22:47:02
C++なんか覚えるなよ…
あんな欠陥言語は早いとこ絶滅させないと
264:nobodyさん
08/07/17 23:47:00
Cなんてとうの昔に忘れました
265:nobodyさん
08/07/18 10:09:26
>>263
なぜ、そう考えるのかは分かるんだが・・・
もし、C++を理解しながら、ありゃダメだって思ってるんなら、一度boost::spiritとかいじってみるといいかもよ?
言語というより、パズルとして楽しめるw
266:nobodyさん
08/07/18 20:46:09
テンプレートが出てきたところからC++はカオス化してしまったな。
auto_ptrとその仲間の機能をすべて答えなさい。
とかやったら輪ロスすぎるww
267:nobodyさん
08/07/18 22:11:51
PHPなら仕事ないな。C++ならまだ仕事はある。
268:nobodyさん
08/07/25 12:10:11
sfWidgetFormSelectRadioなんですが、
選択項目をタグ単位では取り出せない仕様なんですか?
ラジオボタンによくある
◎個人
苗字[ ]名前[ ]
◎法人
法人名[ ]
担当者名[ ]
みたいなものを実装したいのです。
個人/法人区分じたいもDBに保存したいので、
フォームクラスとは別に生成するわけにも行きませんし……
横並びと縦並びになる場合は自作のformatter()関数を作って対処したのですが、
これもデフォルトではulタグ前提になっていて、なんか不便ですよね。
269:age
08/07/28 21:14:47 L1kOSCp5
sfWidgetFormSelectRadioのcheckedと
sfWidgetFormSelectのselectedの指定って
どうやってやるんですか?
ググっても見つからないんで1.1使ってる人教えてください
270:nobodyさん
08/07/29 13:28:16
>>269
アクションクラスで
$this->form->setDefault('name', 'value');
したら自動で入らない?
フォームクラスでsetDefaults([連想配列A])して
アクションクラスでもsetDefaults([連想配列B])していたら、
Bだけが有効になるっていうハマりがあったな。
sfFormの定義を見たら、
setDefault()は$nameと同じ要素だけ上書きしているが、
setDefaults()だとマージしないで配列ごと上書きしていた。
自前でgetDefaults()してからarray_merge()するか、
setDefault()使っとくか。
271:age
08/07/29 17:50:14
>>270
できました、ありがとうございます。
もう一つ質問させてください。
1.0での
<?php echo select_tag('hoge', options_for_select(array('a', 'b', 'c'), null, array('include_custom' => '選択してください'))) ?>
みたいな選択する配列ではない文字(ここでは選択してください)
をデフォルトで表示するにはどうやって設定するのですか?
272:nobodyさん
08/07/29 19:15:55
>>271
sfWidgetFormSelectを追いかけてみたけど、
include_customに相当する機能はないね。
array(''=>'選択してください')を連結しとくしかないんじゃ?
273:age
08/07/31 09:43:53
>>272
ありがとうございます。
やっぱりできないんですね、仕方ないので言われた通り連結しときました。
FormやMailに関しての参考が少ないのもあるんですけど1.1になって
使い勝手が悪くなったと思うのは俺だけですかね
274:nobodyさん
08/07/31 14:58:57
OOPのデメリットだろうね。
保守性はあがるけど、開発効率はさがる。
とくに一人とか少人数でやってる場合。
一人でやってるなら無理にsfForm使わなくて独自orQuickFormとかを使ったほうが
効率はいいんじゃないかな。
275:nobodyさん
08/07/31 15:45:33
>>274
それもフォームの形式や頻出度合いによる
276:nobodyさん
08/07/31 16:41:47
sfFormってモデルとかならず結びついてんの?
テラ糞フォームwww
277:nobodyさん
08/07/31 17:06:00
>>276
何railsと勘違いしてんの?
頭悪いにもほどがあるだろ…
278:nobodyさん
08/07/31 18:44:32
>>275
DBの構造とフォームの内容が一致している場合の
手間の少なさは特筆物だけど、
欄Aに入力があったら欄Bを格納、無しなら欄Cを格納、
のように場合わけの必要があると、
とたんに自作ValidatorSchema作らされたりして難しくなるよな。
279:nobodyさん
08/07/31 19:23:28
>>278
sfFormの構造理解してなくねぇ?
280:nobodyさん
08/07/31 19:28:10
汎用性の無い例外的な処理なら、わざわざValidatorSchemaつくらんでも、
Formクラス内に実装しちゃえばいい。
QuickFormなんか使うよりはよっぽど楽。
DBの構造とフォームの内容が一致は大して関係ない。
どちらかというと、フォーム同士の組み合わせが複雑に絡み合うエンタープライズ分野向きだわな。
281:nobodyさん
08/07/31 19:30:23
ActiveRecordとAdminGeneratorとsfForm混同してごっちゃになっちゃったんだねきっと
282:nobodyさん
08/07/31 19:40:00
propel:build-forms=sfFormだと思ってるんだろ
283:nobodyさん
08/07/31 19:44:40
>>279
たしかに理解できてないのかもしらんが、
[×]←チェックボックスA
[ ]←チェックボックスB
「 」←テキストボックスB
[ ]←チェックボックスC
「 」←テキストボックスC
たとえばこんな状況で、
・AがチェックされてなければBやCの状態は問わない
・AがチェックされていたらBまたはCのいずれか一方に少なくともチェックが必要
・BおよびCにチェックが入っている場合のみ、対応するテキストボックスの中身を評価する
こんな記述をしようとしたら、
入力値評価用のバリデータ自作した上で、
ポストバリデータがsfValidatorAndとsfValidatorOrでスパゲッティになるんだが、
漏れが気が付いてないだけで、もっと上手いやり方があるのかい?
284:nobodyさん
08/07/31 19:46:04
>>283
具体的にQuickFormでのコード書いてくれない?
おれsfFormで書くから
285:283
08/07/31 19:46:41
×・BおよびCにチェックが入っている場合のみ、対応するテキストボックスの中身を評価する
○・B and/or Cにチェックが入っている場合のみ、おのおの対応するテキストボックスの中身を評価する
286:283
08/07/31 19:50:06
>>284
>>274に頼んでくれ。
少なくとも漏れはHTML_QuickFormには戻りたくないよ。
287:nobodyさん
08/07/31 19:54:38
>>286
なるほど。じゃぁどう作ってる?Helper駆使?
288:nobodyさん
08/07/31 20:00:59
>>283
>入力値評価用のバリデータ自作した上で、
要はバリデータスキーマクラスが1個増えるってことだよね?
条件上ごちゃごちゃするのはしょうがないが、バリデータ増やさなくても
isValidやbindオーバーライドしてそこに書いてやれば良くない?
289:283
08/07/31 20:04:41
>>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さん
08/07/31 21:03:55
テキストボックス無い状態なら、こんな感じじゃない?
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さん
08/07/31 21:43:21
$r->setErrorのとこは
$this->getErrorSchema()->addError(
new sfValidatorError(
new sfValidatorPass(),"AがチェックされたらBかCもしくは両方をチェックしてください"
)
, 'A');
こっちにするべきか
292:nobodyさん
08/07/31 22:13:12
$r->getParameter()のところは$this->getValue()で取れるわ
293:nobodyさん
08/07/31 23:01:29
>>290-292
ありがとうございます。
比べて見たら漏れって馬鹿だなってまるわかりだね。
でも4章までしかないフォームガイドじゃさっぱりわからないことだらけで。
294:nobodyさん
08/07/31 23:12:36
>>293
sfFormのパブリックメソッドを見渡して、どんな動作するか予測したり試してみたりすると良いよ。
295:nobodyさん
08/08/01 00:11:12
>>277
言い訳乙ww
296:nobodyさん
08/08/01 02:48:41
ここまでの流れで随分分かりやすく解説されたのに、
言い訳だと思える>>295の知能に同情
297:283=293
08/08/01 11:00:00
残念、その通りやってみたのですが、
エラーが上手く設定できていません。
parent::isValid()の位置を変えてみたりしたのですが、
通常のバリデータが通過したときだけオーバーライドした内容が評価されているようです。
URLリンク(groups.google.co.jp)
ここを読むと似たような罠にはまっていて、
返事に
「(カスタムバリデータ強制してるのは)再利用性とユニットテストしやすさのためだよ」
と書かれた後にFabienが「限定用途ならバリデータ作らないでsfValidatorCallback使えるよ」
とか書いてるんですが……
やっぱりポストバリデータで書くのが1.1流なんでしょうか。
298:nobodyさん
08/08/01 11:23:31
sfFormって便利なの?
299:nobodyさん
08/08/01 13:01:18
>>297
それは無い。動作検証してるし。
逆にsfValidatorCallbackでやると、$this->getValueで値がとれないから無理。
ちょっとコード晒してみなよ。
300:283
08/08/01 13:56:08
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
08/08/01 13:56:54
print_r()している箇所で、
parent::isValid()がtrueの場合でないと、
$this->getValue()の値が取得できていないようです。
302:283
08/08/01 14:14:21
sfForm::bind()を読むと、
$this->validatorSchema->clean()でsfValidatorErrorSchema例外が起きたら
$this->values = array()されちゃってますね。
bind()にセッション変数に格納した値を渡すような場合もある以上、
getParameter()を使うのも問題があるので、このやり方は使えないようです。
303:nobodyさん
08/08/01 14:38:20
>>301
ていうか、configureでの設定間違えてる。
ソース全体晒すか、sfFormのソースよく読みなおしてごらん。
304:283
08/08/01 14:56:54
>>303
configure()ですか?
propel:generate-crudしたものに
・widgetの追加
・validatorの追加
・setPostValidator()
・setDefaults()
してるくらいです。
先に上げたポストバリデータ方式だと、
動作自体は期待通り動いているので、
バリデータの記述に問題があるとも考えにくいのですが……
305:nobodyさん
08/08/01 15:17:28
まず290-292のコードは動いたの?
>293のフォームとは違うのですが
とか勝手にフォーム変えて、動かないコードの一部を晒されて、
他人が理解できると思ってるの?
306:283
08/08/01 16:00:11
>>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さん
08/08/01 16:42:35
bind()の時点でバリデーションは終わってるのだから、
isValid()はバリデーション結果を返すだけの役目のはず。
isValid()に書くのはお門違いちゃう?
308:nobodyさん
08/08/01 16:51:42
$this->getValue('A')
('A')が顔に見えるww
309:nobodyさん
08/08/04 12:56:39
ああ…そうだな…
310:nobodyさん
08/08/04 14:55:45
コマンド:
symfony generate:module frontend hoge
再生されるモジュール:
modules/hoge/actions/actions.class
URL:
URLリンク(example.com)
URLリンク(example.com)
みたいな下の階層のURLに対するアクションに対応するにはどうすればいいですか?
symfony generate:module frontend hoge/poge
は駄目でした・・・
311:nobodyさん
08/08/04 15:12:27
routing.ymlでしこしこしろってことかな
312:nobodyさん
08/08/04 16:13:19
routingいじってもできるだろうけど、
もっと原始的に、
symfony generate:module frontend poge
にして
DOCUMENT_ROOT/hoge/
掘ってindex.php置いて相対位置書き換えるんじゃだめなん?
313:nobodyさん
08/08/04 16:17:03
なるほど、そういう手もあるか。
railsだと、generate controller hoge/poge
みたいにやると、ちゃんと階層化されたコントローラ(モジュール)ができるんだけど
フランチョス的には階層深くするなってことなのかな。
それならそれでフランチョスの意志に従っても良い気がしてきた。
314:nobodyさん
08/08/04 19:43:39
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
08/08/04 20:31:46
ごめんなさい。できました
ただのyamlの記述ミスでした。
吊ってくる
316:nobodyさん
08/08/05 09:27:37
1.1ではswiftMailerを使うようだけどここの記事
URLリンク(www.thinkit.co.jp)
を見たらISO-2022-JPが上手く動作しないらしいんだけど
他の人はどうしてるんですか?UTF-8を使うんですか?
317:nobodyさん
08/08/07 17:00:25
気づいたら symfony-1.1.1 出てるなあ
318:nobodyさん
08/08/10 03:35:56 zn9kEIVJ
1.0系たけど
各Loggerじゃなくて
それらに指令を出すトップレベルのsfLogger自体をオーバーライドしたい時は
どう書けばいい?
319:nobodyさん
08/08/10 03:43:09
sfLoggingConfigHandlerで
$data .= "\n\$logger = sfLogger::getInstance();\n";
とハードコーディングしてた・・
ほんと使えないフランチョスだな
320:nobodyさん
08/08/10 04:21:55
1.1ではsfAggregateLoggerになってるのか
そりゃそうだよな
何か変な実装だもん
321:nobodyさん
08/08/11 21:00:04
>>273
compat10を有効にしてフォームウィジェットを使わなければいい
322:nobodyさん
08/08/11 22:25:50 jwJ3rV7r
1.1でpropel:init-adminしたんだけど、一覧から編集用画面へのリンクのコントローラ名が消えてる。
具体的にいうと、
URLリンク(localhost)
ってなってほしいところが
URLリンク(localhost)
って生成されてる。開発用コントローラからは
URLリンク(localhost)
って生成されてるところを見ると、本番用コントローラでなんか設定を忘れてるのかな?
ちなみに、
URLリンク(localhost)
を直接入力したらちゃんと呼び出せたので、propel:init-admin自体は多分成功してる。
cache:clearも実行したけど変化なし。
ちなみにWindows XP+XAMPPで実行中。
何が足りないのかな?
323:322
08/08/12 13:06:13
>>322
自己解決。settings.ymlのno_script_nameがonになってた。申し訳ない……。
でもこれ、何個アプリケーション作ろうともデフォルトはonなのな。
324:nobodyさん
08/08/13 14:28:50 ccVg322Y
The defenitive Guide to symfony
ってマンモス本より役に立つ?
325:nobodyさん
08/08/13 18:51:17
form_remote_tagでは、引数の配列のurlに?〜でパラメータを入れて、
remote_functionでは、引数の配列のwithにパラメータを入れるっていうのが
紛らわしいというか奇妙というか
1.0の話だけど
326:nobodyさん
08/08/13 23:47:37
パラメータを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さん
08/08/14 18:22:05
URLリンク(symfony.xrea.jp)
を参考にアップロード処理作ったんだけど、
ローカルでxampp上だとうまく動くのに
サーバー上だとアップロードできない。
$file->isSaved()
もtrue返すのに、、。
アップロードフォルダーのパーミッションも大丈夫だと思うし、
それ以外に気をつける点ってあればどなたかご指摘下さい。
てか、isSaved() が true 返してるが気に入らない。なんで?
328:nobodyさん
08/08/15 01:40:17 YW2vuQsP
Internal Server Error画面を独自のものにするには
どうしたらいいですか?
329:nobodyさん
08/08/15 23:29:09
マンモスSymfony本を見て、実際に手を動かし始めたところですが、以下の二点で詰まってしまいました。
アドバイスを頂ければ幸いです。
(1)バリデータのエラーメッセージをデフォルトで日本語化することはできないのでしょうか?
(2)メッセージの一部パラメータ化(例:「$a1は$a2文字から$a3文字までの長さで入力してください」)って出来ないのでしょうか?
アクションごとにバリデータのメッセージを設定する方法は検索できました
(URLリンク(develop.ddo.jp)の「名前をつけたバリデーター」以下の方法で、日本語を設定していけばいいんですよね?)
が、これをアクションごとに記述していくのはやはり手間です。他に方法はないのでしょうか?
330:nobodyさん
08/08/16 16:52:57 z7m75dUv
propelで、SQLの確認の仕方おしえてください
331:nobodyさん
08/08/16 21:05:40
dev
332:329
08/08/17 16:02:07 IR0jQIbG
>>329
自己res。今のSymfony1.1では、>>329のやり方って古かったんですね。
今のsfFormなら、少なくとも(2)は出来る事がわかりました。ただし(1)(デフォルトでの日本語化)はまだ方法がわかりません。
まぁ、各バリデータのconfigureだけをオーバーライドしたクラスを作ってしまえばいいのかもしれませんが、なんとなくスマートではない気がしますし、メッセージを管理する場所がバラけてしまうのも少々厄介です。
何か他にいい方法はないでしょうか?
333:nobodyさん
08/08/18 13:56:03
Propel:getConnection()->getLastExecutedQuery();
だったっけ
334:nobodyさん
08/08/18 16:19:58 jvpRje/g
>>332
sfFormを継承して、configureの後にValidatorSchemaを全部ナメてってsetMessageしてやれば何とかなりそうだけど・・・
これってやっぱ車輪の再発明?
335:327
08/08/18 17:12:57
327の自己レス
サーバーとローカルの構成を変えていたのが原因で、
違う場所に保存されていました。(^^;
336:nobodyさん
08/08/18 17:25:52
場違いな疑問なんだが、なんで例えが車輪になったんだ。
よくあるものならなんでも良かったってことか?電球とかオナホールとか
337:nobodyさん
08/08/18 19:35:03
この後、「車輪の再発明」の語源スレになります。
338:334
08/08/18 22:24:47 jvpRje/g
>>334
いちおー出来たっぽいが、誰か見てみる?
Symfonyいじり始めて一週間&実質20行のコードだから、あまり過度な期待はしてもらっても困るけど。
でもこの程度のこと、絶対誰かやってると思うんだけどね。
339:nobodyさん
08/08/19 19:33:45
洋梨のようです
340:nobodyさん
08/08/19 20:41:23 8DZ4PLH3
getメソッドで、
form_tagを使った時の遷移先に
?key=valueじゃなく
ルーティングルールを適用させる方法ってある?
341:334
08/08/19 20:58:45
>>339
だね。やっぱこの程度のこと、もう誰かor本家がやってるか。
342:nobodyさん
08/08/20 23:33:43 LuQqZLWt
sfPropelOptimisticLockBehaviorPluginって、誰か使ってるヒトいる?
楽観的ロックって、自分で実装すると結構めんどくさいんだよね。
特に汎用にしようとすると。
343:nobodyさん
08/08/22 11:58:57 Vc/mgEWX
確認画面、プラグインで実装した人がいるね
URLリンク(www.open-force.info)
公開してまだ一週間だから、信頼性についてはまぁそれなりにってトコだろうけど。
でも、「日本独特の文化ですよね」って断言されるほど、海の向こうじゃマイナーな機能なのか?
344:nobodyさん
08/08/22 21:23:08 fOZ3YS9P
Cannot redeclare get_callbacks()ってどうすりゃいいんだ?
use_helper('javascript')が複数あるとこれになるみたいなんだが、
helperが使われてるか確認する方法ってある?
345:344
08/08/22 21:30:22 fOZ3YS9P
ごめん、早とちりだった。
use_helper('javascript')
と
use_helper('Javascript')
がごっちゃになってたからエラーになってたみたいだ
346:nobodyさん
08/08/23 17:28:28
>>343
海外のサイトのユーザ登録をいくつかこなしてみればわかる
347:nobodyさん
08/08/23 17:56:23
1.1使ってみた
1.0より洗練されててよいね〜
348:nobodyさん
08/08/23 21:11:42
デフィニシブガイドって1.0ベースでしょ?
1.1とだいぶ違うから買っても使えなそう
フランチョステラ詐欺師www
349:nobodyさん
08/08/24 02:03:12
>>348
またおまえかよwww
350:nobodyさん
08/08/24 04:22:57
1.1ってdefaultって名前のモジュール作らない方がいいの?
351:nobodyさん
08/08/24 04:49:49
>>348
ネットでタダで読めるだろ
352:nobodyさん
08/08/24 05:21:15
sfForm、作りかけてた俺俺Formにそっくりだ
俺とフランチョステラエスパー
353:343
08/08/25 11:14:01
>>346
ふむ、今まであまり気にしてなかったが、言われてみればあまり見た記憶がないな
>海外サイトのユーザー登録での確認画面
外人ってせっかちなのか、それとも画面以外(ex.メールとか)での確認の方を重視してるのか……
まぁ、これ以上はスレ違いか。
354:nobodyさん
08/08/25 16:51:30
わざわざ静的ページつくらんでもフォームの時確認すりゃいいだけだし
355:nobodyさん
08/08/26 01:37:54
URLリンク(codezine.jp)
上記URLを参考にsymfonyを始めたんですが、
URLリンク(codezine.jp)
でURLリンク(localhost)にアクセスしても『お名前をどうぞ。』しか表示されません。
ヘルパーが実行されていないようなのですが、何かここがおかしいんじゃないかみたいなのあったら教えて頂けないでしょうか。
環境はvista apache2.2.6 php5.2.4です。
よろしくお願いします。。
356:nobodyさん
08/08/26 09:25:21
>>355
日付を見ると、その記事は間違いなく1.0を対象にした記事。
1.1だと、「use_helper('form')」って書かないとヘルパーは動かない。
1.1だとヘルパー使わずフォームを使うのがフランチョスのお勧め。
sfCompat10を有効にすれば大丈夫だっけ?>ヘルパー
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4813日前に更新/217 KB
担当:undef