[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 11/12 20:33 / Filesize : 217 KB / Number-of Response : 989
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

フランチョスとsymfony



1 名前:nobodyさん mailto:age [2008/01/24(木) 21:26:07 ID:???]

www.symfony-project.org/
コードスニペット
www.symfony-project.org/snippets/tag
プラグイン
trac.symfony-project.com/wiki/SymfonyPlugins

どうぞ つ

579 名前:nobodyさん mailto:sage [2009/01/06(火) 21:35:42 ID:???]
>>577
むしろあの古い比較記事自体、酷いrails擁護だろ

580 名前:nobodyさん mailto:sage [2009/01/07(水) 00:42:52 ID:???]
www.symfony-project.org/jobeet/1_2/Propel/ja/

日本人はやる気ないなぁ。
確かに落ち目っぽいし。

581 名前:nobodyさん mailto:sage [2009/01/07(水) 00:59:06 ID:???]
自分で何もしないやつほど吼えるよね

582 名前:nobodyさん [2009/01/07(水) 11:59:39 ID:E9TXficj]
>>580
エンジニアに英語は必須でしょ。勉強しようよ。
そういう言う俺は公文の中学生英文法を勉強してるへたれだけど。

583 名前:nobodyさん [2009/01/08(木) 10:30:11 ID:RWe/YoFS]
actionでテーブル名からそのOMクラス名を取得するにはどうすればいいですか?

584 名前:583 [2009/01/08(木) 14:04:48 ID:RWe/YoFS]
admin generatorをカスタマイズしてたんですけど
actionでやらないで、generatorでやってしまいました。

actionだと
Propel::getDatabaseMap($connectionName);
でDatabaseMapを取得して、どうにかするのかな?
試してないけど。

585 名前:nobodyさん mailto:sage [2009/01/12(月) 05:16:23 ID:???]
doctrine試してるんですけど
doctrine-build-all-reload
すると、データベースを一回ドロップして作りなそうじゃないですか?
その時、encodingの値を無視してDEFAULT CHARACTER SET latin1で作っちゃうんですけど
設定でどうにかなりますか?

doctrine-build-all-reloadを使わないとか、mysqlの設定をいじってデフォルト値を変えちゃえばどうにかなるとは思うのですが
symfony側でどうにかならないかなあ。

586 名前:585 [2009/01/12(月) 05:17:13 ID:JXhDeiPx]
ああ、専ブラがまたデフォルト下げ設定になってました。
すいません。

587 名前:nobodyさん [2009/01/17(土) 00:20:55 ID:LLHZVk4w]
schema.ymlでフィールドの選択可能な値一覧を指定する事って出来ますか?
MySQLのENUM型みたいなの。

イメージとしてはこんな感じです。
propel:
customer:
id: ~
sex: [male, female]



588 名前:nobodyさん mailto:sage [2009/01/17(土) 02:22:45 ID:???]

ORMで定義するんじゃないの?



589 名前:587 [2009/01/18(日) 05:03:02 ID:cj4gRIwu]
>>588
ちょっとよく分からなかったので、とりあえず保留・・・
別テーブル作ってmale, femaleの2つのレコードを作って対処しました。

別の質問なんですけど、generator.yml に password, password2 という
2つのフィールドを定義しています。

modules/user/validate/edit.yml というバリデータを用意して2つのフィールド
ともにrequiredにして、sfCompareValidatorで2つのパスワードが一致しているか
チェックしてます。

それ自体はとりあえず動作したのですが、やりたい事はユーザーの新規作成
の時はパスワード入力は必須にして、更新の場合は値の入力は任意で、
値を入力した場合のみ2つが一致するかチェックさせたいです。

ゴリゴリ書けば出来ると思いますが、一番楽な方法ってどんなんですか?

590 名前:nobodyさん mailto:sage [2009/01/18(日) 11:39:22 ID:???]

シコシコ書くしかないね。



591 名前:587 mailto:sage [2009/01/18(日) 11:59:51 ID:???]
>>590
そっかー。残念ですがシコシコやります。
ありがとうございました。

592 名前:nobodyさん mailto:sage [2009/01/22(木) 16:52:06 ID:???]
sfForm を誰か簡単に説明してください。
これでフォーム周りがよくなったの?

593 名前:nobodyさん mailto:age [2009/01/22(木) 22:02:55 ID:???]

悪くなった。

594 名前:nobodyさん mailto:sage [2009/01/23(金) 23:49:18 ID:???]
>>592
うん

595 名前:nobodyさん [2009/01/24(土) 21:08:57 ID:BN/V3l3x]
blogを作るチュートリアルをやってます。
postとcommentという2つのモジュールがあるやつです。

postのedit画面でcommentの一覧表示をさせてますが、
これと同じ事をadmin generator(? generator.yml を使うやつ)で
できませんかね。

596 名前:nobodyさん mailto:sage [2009/01/26(月) 01:23:09 ID:???]
>>595
できるよ
まぁできるってだけで、それが効率いいかどうかは微妙

597 名前:nobodyさん mailto:sage [2009/01/29(木) 00:34:41 ID:???]
>>596
どういう方法?



598 名前:nobodyさん [2009/01/29(木) 21:43:36 ID:rSa/9joZ]
1.0.19の調査中ですが質問させて下さい。

Apacheにて、BASIC認証・SSL・nonSSL
の3つのディレクトリで構成したいのですが、
symfonyに適合させるためには、
webディレクトリ下にディレクトリを作成して、
フロントコントローラを移動するのが
ベストでしょうか?


599 名前:nobodyさん [2009/01/29(木) 21:44:00 ID:rSa/9joZ]
あげてもうた、ごめんなさい

600 名前:nobodyさん mailto:sage [2009/01/30(金) 14:23:56 ID:???]
>BASIC認証・SSL・nonSSL
ここがよくわからん
BASIC認証+SSL
SSL
NonSSL
の三本立て?
どっちにしろSymfonyとは関係なさげ

601 名前:nobodyさん mailto:sage [2009/01/30(金) 21:45:58 ID:???]
>>600さん
3本立ての3システムです。
これは、1プロジェクトにしたいです。

Apacheは、ディレクトリ単位ででした
設定(.htaccess等)できないので。
symfonyのwebディレクトリも3ついると
思っています。

間違いがありましたらご指摘よろしくお願いします。
なんか勘違いしてる余寒・・・

602 名前:601 mailto:sage [2009/01/30(金) 21:47:29 ID:???]
×Apacheは、ディレクトリ単位ででした
○Apacheは、ディレクトリ単位でしか

603 名前:nobodyさん mailto:sage [2009/01/31(土) 08:04:46 ID:???]

公開フォルダを3つに分ければ簡単に出来る。

でも同一コンテンツでセキュリティーレベルが違うって考えが
おかしい気がする。



604 名前:601 mailto:sage [2009/01/31(土) 11:44:52 ID:???]
>>603さん
ご返答ありがとうございます。

具体的には、>>598のやり方で、
よいという事でしょうか?

同一コンテンツではありません。
事例的には、Amazonnとか
商品サイトと、商品注文サイト、会員サイト
の3つでセキュリティレベル違うのと同じです。

605 名前:nobodyさん mailto:age [2009/02/02(月) 18:51:41 ID:???]

その方法だね。
ただ、action内で識別するロジックを忘れるな。



606 名前:nobodyさん [2009/02/03(火) 18:04:37 ID:7F1r2xmv]
sfPropelPagerで検索結果のページをページングする時
formから来た?hoge=huga......................といっぱいついてくるクエリーはどうしてます?
セッションに保存するのも微妙だし
テンプレートで$_SERVER['QUERY_STRING']か取得してごにょごにょするのもどうかなと。

sfPropelPager自体には無さそうですよね?
sfPropelPagerを拡張してmodel側で$_SERVER['QUERY_STRING']をどうにかする感じでしょうか?

607 名前:606 [2009/02/03(火) 18:40:10 ID:7F1r2xmv]
あ、link_toのoptionにquery_stringっていうのがありますね。
この辺をうまく使う感じでしょうか?



608 名前:nobodyさん mailto:sage [2009/02/04(水) 14:13:43 ID:???]
Criteriaだめだな。
簡単なクエリなら作れるけどANDとかORが複雑に絡み合ったりするとお手上げ。
なにがしたいのか意味がわからない。

609 名前:nobodyさん mailto:sage [2009/02/04(水) 15:27:40 ID:???]
オブジェクト指向で考えろ

610 名前:608 mailto:sage [2009/02/04(水) 20:32:27 ID:???]
>>609
例えば
SELECT t_job.*
FROM t_job
WHERE
(t_job.ID IN ( SELECT v_rel_job_area.JOB_ID FROM v_rel_job_area WHERE v_rel_job_area.DISTRICT_ID = 1 ))
AND
(t_job.ID IN ( SELECT t_rel_job_category.JOB_ID FROM t_rel_job_category WHERE t_rel_job_category.CATEGORY_ID IN (1, 5, 6) ))
AND
( (t_job.STATUS IN (1, 2)) OR (t_job.STATUS = 0 AND t_job.ID IN ( SELECT t_rel_job_publish.JOB_ID FROM t_rel_job_publish WHERE t_rel_job_publish.PUBLISH_ID = 1)) )

こんなクエリ作れなくない?
作れるのか?

なんかCriteria::CUSTOMを同じかカラム名でaddすると上書かれて前のクエリ消えるし
addAndですると括弧が変なところについておかしなことになるし

公式見ても複雑なものは生SQLで、みないな事書いてない?

611 名前:nobodyさん mailto:sage [2009/02/05(木) 14:30:33 ID:???]
アクションでアサインされた全ての変数を
テンプレート内で、取得したいときって
$sf_context->getActionStack()->getLastEntry()->getActionInstance()->getVarHolder()->getAll()
ってわざわざ書かないとだめ?

612 名前:nobodyさん mailto:sage [2009/02/05(木) 14:38:32 ID:???]
>>610
Criteriaがダメなんじゃなくて、そもそもその文抽象化されてないから。

まぁ俺はサブクエリビルドクラス使って対処してるけど。

613 名前:nobodyさん mailto:sage [2009/02/06(金) 21:04:13 ID:???]
>>610
上書きされる件はCriterion使えばできない?

614 名前:nobodyさん mailto:sage [2009/02/07(土) 02:38:32 ID:???]
>>613
使い方おしえてやれよ…

615 名前:nobodyさん [2009/02/10(火) 10:59:01 ID:HED7VAZr]
symfony test:unit で、ファイル名まで指定して単体で実行すると問題ないが、まとめて単体テストを実行するときに255か返ってくる、
とい問題が起きました。どこでエラーになっているかを表示、あるいはログに記録する方法はあるでしょうか?

616 名前:nobodyさん mailto:sage [2009/02/10(火) 20:29:08 ID:???]
訳あってsymfony1.0使っているんだけど、
sfValidatorManagerの拡張クラスを作って、
それをValidate実行時に使わせることってできる?

617 名前:nobodyさん mailto:sage [2009/02/11(水) 20:07:05 ID:???]
できるよ



618 名前:nobodyさん mailto:sage [2009/02/12(木) 13:08:50 ID:???]
ほほー。どこになんて書けばいい?


619 名前:nobodyさん mailto:sage [2009/02/12(木) 17:37:15 ID:???]
自分で考えろ

620 名前:nobodyさん mailto:sage [2009/02/12(木) 22:36:13 ID:???]
どこに何を書くも糞も無いだろう。必要なクラス持ってきて1.1↑と同じように書くだけ

621 名前:nobodyさん mailto:sage [2009/02/12(木) 23:54:55 ID:???]
1.0、1.1、1.2みんなはどれ使ってるの?

なぜか1.0のメンテナンス終了が2010年の1月で1.2のメンテナンス終了が2009年の11月なのでどちらで作っていくべきか迷ってるんですが。。。どれが良いと思いますか?

622 名前:nobodyさん mailto:sage [2009/02/13(金) 02:57:30 ID:???]
>>621
最近始めたので、1.2使ってる
なので、どれがいいかは分からない

1.2でルーティング周りのクラスが追加されていて、特にsfRouteCollectionを使用すると、より簡潔にrouting.ymlを記述出来るようなので、
これから始めるのなら、1.2の方がいいんじゃないの?


623 名前:nobodyさん mailto:sage [2009/02/14(土) 03:58:23 ID:???]
英語サイトの情報見れないなら1.0が無難。
そうでないなら1.2。

624 名前:nobodyさん mailto:sage [2009/02/14(土) 19:37:59 ID:???]
PHPが5.1なので1.1使ってる。
同じような人、結構いそうな気がするけど。

625 名前:nobodyさん mailto:sage [2009/02/15(日) 02:18:10 ID:???]
あれ、5.1って致命的なバグがあって使わないようにとかアナウンスされてなかったっけ。
どんなバグだったか忘れたけど

626 名前:nobodyさん mailto:sage [2009/02/15(日) 02:23:40 ID:???]
cent osが5.1じゃなかったっけ?

627 名前:nobodyさん mailto:sage [2009/02/15(日) 02:29:06 ID:???]
そんなもん入れ替えろよ…



628 名前:nobodyさん mailto:sage [2009/02/15(日) 04:25:24 ID:???]
PHP5.1を使い続ける必要性があるのか?
単純なパフォーマンスでも5.2系の方が優れてるはず

629 名前:nobodyさん mailto:sage [2009/02/15(日) 12:28:12 ID:???]
1.2を使っています。

メール送信を実装しようと思ったのですが、
$mail = new sfMail();
とすると、
Class 'sfMail' not found
になってしまいます。
なにか設定が必要なのでしょうか?

630 名前:nobodyさん mailto:sage [2009/02/15(日) 13:09:51 ID:???]
>>629
compact10

631 名前:629 mailto:sage [2009/02/15(日) 13:21:32 ID:???]
>>630
なるほど。sfMailはなくなったんですね。
ほかの方法を調べてみます。

632 名前:nobodyさん mailto:sage [2009/02/15(日) 13:34:25 ID:???]
>>627,628
勝手にサーバー環境を変えることが出来ない仕事ってのもあるんですよ。
スレ違いすんません。

633 名前:nobodyさん mailto:sage [2009/02/15(日) 14:07:13 ID:???]
アクション内で内部URLから絶対URLを生成するにはどうすればいいの?

634 名前:nobodyさん [2009/02/15(日) 14:11:46 ID:LyJslojL]
>>626
だね。Redhat/CentOSの5は5.1。

>>628
そりゃま、完全に1から自分でインストールできるんならね。
流石にPHP4はもう使わなくてすむとは思うがw

635 名前:nobodyさん mailto:sage [2009/02/16(月) 01:09:30 ID:???]
>>633
smfony 1.2の場合

sfContext::getInstance()->getController()->genUrl($internal_uri, $absolute);

↑url_forの実装
$internal_uriに内部URL
$absoluteは相対パスならfalse、絶対パスならtrueを渡す

636 名前:nobodyさん mailto:sage [2009/02/16(月) 08:41:43 ID:???]
いつまでも穴あきの5.1使うような仕事なんてしてちゃだめだろ

637 名前:nobodyさん mailto:sage [2009/02/16(月) 12:40:27 ID:???]
仕事を選べない人は大変ですね



638 名前:nobodyさん [2009/02/16(月) 13:00:38 ID:Eg6IU/sq]
pluginアップしてみたんだけど
リポジトリにあげる前に一度symfony plugin:install プラグイン名しちゃって
No release available for plugin プラグイン名
というエラーメッセージがでたんです。

で、その後ファイル上げてから何度やっても同じメッセージでインストールできなくなっちゃいました。
ためしに別のサーバーに入れてみたら普通にインストールできました。

symfony cc
とか
pear clear-cache
とか
rm -f cache/.pear
とか
pear channel-update plugins.symfony-project.org
とかやってみたけどだめでした。
サーバー再起動もだめでした。

どなたか方法ご存知の方いらっしゃいませんか?

639 名前:633 mailto:sage [2009/02/16(月) 16:25:53 ID:???]
>>635
ありがとうございます。

$this->genUrl()
でダメだったのであきらめてました。

でも、なんでこんなに長いんだろう・・・;

640 名前:nobodyさん mailto:sage [2009/02/16(月) 16:48:05 ID:???]
欲しいメソッドはmyActionに実装したらいいだけジャン

641 名前:nobodyさん mailto:sage [2009/02/16(月) 23:37:58 ID:???]
>>639

補足
アクション内からなら、
sfContext::getInstance()->getController()を
$this->getController()に変更出来る(やってることは同じ。少しは短くなった?)

また、内部URLではなく、ルート名と、クエリパラメータにする値が分かっているのなら、アクション内で
$this->generateUrl($route, $params, $absolute)を呼ぶことでURLを生成することができます。

ここで、
$routeはルート名
$paramsはモデルオブジェクトか値の配列。

ただしモデルオブジェクトが渡せるのは、ルートのoptions['type'] === 'object'の時のみ。
(一言でうまく説明出来ないので、詳細はsfObjectRoute::generate()のソース見て)

配列であれば、タイプに関係なく渡せる。
クエリパラメータが不要な時は空配列(array())

$absoluteは>>635同様、絶対パスか相対パスかどうか


わたしは、アクション内でリダイレクトのURLを作成する際にgenerateUrl()を使用しています。

642 名前:nobodyさん [2009/02/17(火) 20:01:10 ID:K56TvPG0]
PropelでEXISTS演算子を使いたい場合、やっぱりCriteria::CUSTOMで直接記述するしかないのかな?
まぁ、副問い合わせも使うんだし、当たり前といえば当たり前か。
やってみたことある人いる?

643 名前:nobodyさん mailto:sage [2009/02/18(水) 08:04:45 ID:???]
質問です。

DBテーブル定義を修正しようとして、schema.ymlを修正し、
./symfony propel-build-all を実行すると、
DBテーブルの内容が全部消えてしまいます。

今はダンプファイルを取っておいて、あとで書き戻すことで対応していますが、
何かもっと洗練された方法はないでしょうか?


644 名前:nobodyさん mailto:sage [2009/02/18(水) 09:08:41 ID:???]
propel-build-model

645 名前:643 mailto:sage [2009/02/18(水) 09:25:54 ID:???]
追記です。

propel-load-data というコマンドがあるようです。

しかしこれは、DBにセットするデータをyamlファイルで用意してやらなければ
なりません。WEBブラウザなどからDBに入力したデータをyamlファイルに書き出
す方法は無いようなので、yamlファイルを作るのはちょっと手間に感じられます。

これならダンプファイルを取っておいて、それをエディタで修正してロードす
るほうが現実的なような...。


646 名前:nobodyさん mailto:sage [2009/02/18(水) 12:45:51 ID:???]
すみません、symfony & MySQLで、最後に挿入した行のIDを取得するには、
どうしたらいいですか?


647 名前:nobodyさん mailto:sage [2009/02/18(水) 19:49:24 ID:???]
>>645
自分は
www.symfony-project.org/plugins/sfPropelSqlDiffPlugin
これをつかってるよ。



648 名前:643 mailto:sage [2009/02/18(水) 21:35:13 ID:???]
>>647
ありがとうございます。参考にさせていただきます。

Plugins | sfPropelMigrationsLightPlugin | 1.1.2 | symfony | Web PHP Framework
www.symfony-project.org/plugins/sfPropelMigrationsLightPlugin

こんなのもあるようです。Rails の Migration と同じなのかしら。

649 名前:nobodyさん mailto:sage [2009/02/18(水) 21:46:02 ID:???]
>>648
全然違う

650 名前:nobodyさん mailto:sage [2009/02/18(水) 21:51:22 ID:???]
>>610
$c =new Criteria();
$c->add(TJobPeer::ID,
"(t_job.ID IN ( SELECT v_rel_job_area.JOB_ID FROM v_rel_job_area WHERE v_rel_job_area.DISTRICT_ID = 1 ))
AND
(t_job.ID IN ( SELECT t_rel_job_category.JOB_ID FROM t_rel_job_category WHERE t_rel_job_category.CATEGORY_ID IN (1, 5, 6) ))
AND
( (t_job.STATUS IN (1, 2)) OR (t_job.STATUS = 0 AND t_job.ID IN ( SELECT t_rel_job_publish.JOB_ID FROM t_rel_job_publish WHERE t_rel_job_publish.PUBLISH_ID = 1)) )
", Criteria::CUSTOM);

$rs = TJobPeer::doSelect($c);

651 名前:nobodyさん mailto:sage [2009/02/19(木) 20:08:27 ID:???]
>>646
Propelなら、モデルのsaveメソッドを呼び出した後、単にgetすればOK。
Doctrineは知らんw

652 名前:nobodyさん mailto:sage [2009/02/24(火) 21:06:31 ID:???]
symfony1.2ってデバックモードの時WEBデバックツールでSQLって表示される?
symfony1.0の時はされたと思うんだけど、1.2からされなくなってるみたいで。
あと、1.2で実行したSQL文そのものって取得できますか?(1.0でのgetLastExecutedQueryのような)

653 名前:nobodyさん mailto:sage [2009/02/24(火) 21:19:50 ID:???]
>>652
SQL表示されるよ

symfonyどこにインストールしてるか知らんけど、pearから取ってきたのなら、
javascriptを有効にした上で、
data/symfony/web/sfに対して、仮想ディレクトリ(エイリアス)を作るか、
プロジェクトのwebフォルダにコピーすれば、いけるはず。

また、この情報は、実行したログを解析してるだけだろうから、ログ直接眺めてみたらいいんじゃない?

1.2から使い始めたので、getLastExecutedQueryとか分かんね。
これも、ログ見たらいいんじゃないの?としか言えない



654 名前:nobodyさん mailto:sage [2009/02/25(水) 12:03:02 ID:???]
>>652
バージョン古いか、propel.iniの設定か

655 名前:nobodyさん mailto:sage [2009/02/25(水) 13:06:51 ID:???]
>>653
>>654
database.ymlのclassnameをprodと同じにしてたのが原因だったみたいです。。
DebugPDOに変えたらSQL表示されました
getLastExecutedQueryはログがどうやってSQL取り出してるか探してみます

656 名前:nobodyさん mailto:sage [2009/02/25(水) 13:11:42 ID:???]
Propelってsqlつくるだけってのが出来ないのがウザイな。
絶対実行とセットだから、サブクエリやろうとすると独自拡張に頼らざるを得ない

657 名前:nobodyさん mailto:sage [2009/02/27(金) 14:01:43 ID:???]
symfonyの問題じゃないかもだけど、携帯サイトで実行結果をファイルにキャッシュって
セッションIDをURLで埋め込むから出来ないよね?



658 名前:nobodyさん mailto:sage [2009/02/28(土) 23:20:00 ID:???]
できるよ

659 名前:nobodyさん mailto:sage [2009/03/03(火) 15:02:29 ID:???]
>>656
$sql = BasePeer::createSelectSql($criteria, array());


660 名前:nobodyさん mailto:sage [2009/03/10(火) 07:45:12 ID:???]
>>659
あのさ、$c->add(ModelPeer::ID , 1);
とかやってごらん
idのとこが?になってるだろ?
?を置換する独自拡張が必要という意味だって思わなかった?

あと、第二引数は参照になってるから、 array()なんてやっちゃ駄目だよ。
勉強になったかな?

661 名前:nobodyさん mailto:sage [2009/03/11(水) 06:50:03 ID:???]
symfonyで自作のクラス組み込んだ時とかに、
不具合があっても画面真っ白でエラーも表示されないってことない?
レスポンスが情報吐く前にコケてるのか知らないけど
この状態になるとすげーデバッグしにくい。
高度にレスポンス管理するのも考えものだよなぁ

662 名前:nobodyさん mailto:sage [2009/03/11(水) 08:53:10 ID:???]
>>661
Apacheのエラーログ見たら
PHPレベルのFatalエラー吐かれてない?
dev環境だけ表示される場合もあるし、
/var/log/messagesかも。

663 名前:nobodyさん mailto:sage [2009/03/11(水) 09:09:27 ID:???]
>>662
apacheログのこと忘れてた!と思って見たら
exit signal Segmentation faultが大量に・・
調べたらxdebugの設定ミスだった
助かりました。ありがとう!

664 名前:nobodyさん mailto:sage [2009/03/13(金) 13:57:23 ID:???]
Cakeからsymfonyに移りたいのですが、
なにから勉強すればいいのかわかりません。

定番のチュートリアルなどあるのでしょうか?
いくつか見つけたのですが、バージョンが古いようで・・・

主にsfFormの使い方とデータの登録・取得、ログイン処理などを覚えたいのですが・・・


665 名前:nobodyさん mailto:sage [2009/03/13(金) 14:29:07 ID:???]
>>664
symfony 1.2ならJobeet
www.symfony-project.org/jobeet/1_2/

11日目までは日本語訳されてる。
d.hatena.ne.jp/Kiske/archive?word=jobeet

なんと12日目も公開されてた。感謝。

ログイン周りは13日目かな。


666 名前:664 mailto:sage [2009/03/14(土) 00:20:34 ID:???]
>>665
1.2向けのチュートリアルが始まっていたのですね!
翻訳してくれている方もいるとは・・・

さっそく試してみたいと思います!

667 名前:nobodyさん mailto:sage [2009/03/14(土) 02:41:54 ID:???]
>>664
移りたいと思った理由を知りたい



668 名前:664 mailto:sage [2009/03/14(土) 03:16:17 ID:???]
>>667
Cakeは標準でコンポーネントなどが充実していて便利なのですが、
それらのクセが強くて、
ちょっと外れたことをしようとするとえらい面倒で・・・
とくにAuthコンポーネントやSecurityコンポーネントなど。

また、Cakeで作られたサイトは、
だいたい、ちょっと見ただけですぐCakeで作られていると分かります。
それくらいクセが強いです。

うまくいえませんが、こんなかんじです。

669 名前:nobodyさん mailto:sage [2009/03/14(土) 09:25:05 ID:???]
質問です。

キャッシュ機能を使って、任意の文字列をキャッシュしたいのですが、
どのようにすればよいのでしょうか?
分かる方がいましたら教えてください!

670 名前:nobodyさん mailto:sage [2009/03/14(土) 15:43:13 ID:???]
すみませんが、質問です。
fillin がうまく動かないのですが、これはどこに問題があるのでしょうか?
○仕様:page/hoge → page/fuga に遷移

○actions.class.php
public function executeHoge() { $this->hoge = "ほげ"; }
public function executeFuga() { }
public function handleErrorFuga() { $this->forward('page', 'hoge'); }

○hogeSuccess.php
<?php
echo form_tag('page/fuga');
echo $sf_request->getError('hoge');
echo input_tag('hoge', $sf_params->get('hoge'));
//echo input_tag('hoge', $sf_request->getParameter('hoge', $hoge));
?>
</form>

○fugaSuccess.php
<h1>おめでとう!</h1>

○validation/fuga.yml
fillin:
  enabled: on

fields:
  hoge:
    sfStringValidator:
      min: 3
      min_error: "ほげは3字以上で入力してください。"


671 名前:670 mailto:age [2009/03/14(土) 15:48:40 ID:???]
すみません、hogeSuccess.phpが間違っていました。

○hogeSuccess.php
<?php
echo form_tag('page/fuga');
echo $sf_request->getError('hoge');
echo input_tag('hoge', $hoge); // 直した行。
//echo input_tag('hoge', $sf_request->getParameter('hoge', $hoge));
?>
</form>

うまく動かない、というのは、バリデーションが働いてhogeSuccess.phpを表示
したとき、ユーザの入力値ではなく、デフォルト値"ほげ"が表示されてしまう
ということです。

その下のコメントアウトした行のように書けば動きますが、この記述だと
fillin: enabled: off にしてもユーザの入力値になるので、fillinが働いてい
るとは言えないと思います。

なお、コメントアウトした行の記述が冗長なのは、以下の理由です。

○[symfony] テンプレートで使える$sf_params->get()の2番目の引数について
gomojp.blog77.fc2.com/blog-entry-54.html

以上です。どなたかアドバイスをお願いします。

672 名前:670 mailto:sage [2009/03/14(土) 16:11:20 ID:???]
補足です。

symfonyでhierselectができる!の補足(fillin時の手当) | LinuxなWEBデザイナーの覚書き。
php-sql-gdgd.jugem.jp/?eid=13

> fillinを受ける側のフォームは、各input_tag等のフォームヘルパー関数の引
> 数2つ目(デフォルト値を入れるところ)をnullにする。
> ※私は最初「''」を指定した状態でフィルインできませんでした。object系
> のフォームヘルパーを使ってDBからデフォルト値を持ってきてる場合はどう
> なるんだろう??今度実験してみよう…

たしかに、hogeSuccess.php を

echo input_tag('hoge', null); // さらに直した行。

と書くと、バリデーションが hogeSuccess.php に差し戻したとき、フォームに
ユーザの入力値が入っていました。fillinが動作したようです。

しかしこれでは、デフォルト値の設定ができなくて困ります。page/hoge では
$hogeの値である"ほげ"がフォームに入っていて、バリデーションが動作したと
きは、ユーザの入力値が表示されてほしいのです。


673 名前:670 mailto:sage [2009/03/14(土) 16:30:13 ID:???]
すみません、自己解決? したみたいです。

試行錯誤して、
echo input_tag('hoge', null, array('value'=>$hoge));
と書いてみたら、希望していた通り、デフォルト値もユーザ入力値も表示され
ました。

しかしこれもかなり冗長なので、ためしに
echo input_tag('hoge', $hoge);
に戻したところ、今までと違って、問題なく表示されたのです。
なんで?!最初のコードと少しも変わらないのに?!

とりあえず動作はするようなので、このまま開発を進めることにします。
お騒がせして申し訳ありませんでした。

674 名前:nobodyさん mailto:age [2009/03/16(月) 15:50:44 ID:???]
質問なんだけど、validation/[アクション名].ymlって、部品化とかして共通化
する方法は無いんだろうか?

二つのアクションがあって、大部分のフィールドは共通なんだけど、片方にだ
けいくつか追加フィールドがあるので、バリデーションの設定の大部分が共通
になる。うまくまとめられたらいいと思うんだけど。


675 名前:674 mailto:sage [2009/03/16(月) 16:50:44 ID:???]
すみません、自己解決? したみたいです。

676 名前:674 ◆UAG1fZyrYA mailto:sage [2009/03/16(月) 18:47:06 ID:???]
>>675 は騙り。まだ解決してない。

677 名前:nobodyさん mailto:sage [2009/03/17(火) 10:32:44 ID:???]
継承



678 名前:nobodyさん mailto:sage [2009/03/18(水) 16:33:36 ID:???]
だからsfFormが生まれたわけで

679 名前:nobodyさん [2009/03/20(金) 20:30:44 ID:bZdrj/Cj]
sfFormの話が出たので少々便乗。

1.1以降でSymfonyをステートフルにするには、sfFormでCSRF対策フィールドを1リクエストごとにユニークにすればいいんだよね?
ソースを嘗めたらそんなに難しくなさそうな気がしたんだけど、何か勘違いしてるかな?

いや、「PHPのフレームワークでステートフルなのはPiece Frameworkだけ、なんて文章をちらりと読んだんでね。
もちろん、↑のやり方だと、sfFormで値を持ちまわしているところしかステートフルにならんのは理解してる。
Piece Frameworkのステートフル機能のウリは、getだろうと初回のpostだろうと(その気になれば)ステートフルに出来るってところなんだろうとは思うけど。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<217KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef