フランチョスとsymfony
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2008/01/24(木) 21:26:07ID:???http://www.symfony-project.org/
コードスニペット
http://www.symfony-project.org/snippets/tag
プラグイン
http://trac.symfony-project.com/wiki/SymfonyPlugins
どうぞ つ
0302283
2008/08/01(金) 14:14:21ID:???$this->validatorSchema->clean()でsfValidatorErrorSchema例外が起きたら
$this->values = array()されちゃってますね。
bind()にセッション変数に格納した値を渡すような場合もある以上、
getParameter()を使うのも問題があるので、このやり方は使えないようです。
0303nobodyさん
2008/08/01(金) 14:38:20ID:???ていうか、configureでの設定間違えてる。
ソース全体晒すか、sfFormのソースよく読みなおしてごらん。
0304283
2008/08/01(金) 14:56:54ID:???configure()ですか?
propel:generate-crudしたものに
・widgetの追加
・validatorの追加
・setPostValidator()
・setDefaults()
してるくらいです。
先に上げたポストバリデータ方式だと、
動作自体は期待通り動いているので、
バリデータの記述に問題があるとも考えにくいのですが……
0305nobodyさん
2008/08/01(金) 15:17:28ID:???>293のフォームとは違うのですが
とか勝手にフォーム変えて、動かないコードの一部を晒されて、
他人が理解できると思ってるの?
0306283
2008/08/01(金) 16:00:11ID:???なるべく忠実にやってから上手く動かないので、
他のフォームで試行錯誤していたっていう流れだったのですが、
確かにわかりにくかったとは思います。
しかし挙動は同じです。
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;
}
0307nobodyさん
2008/08/01(金) 16:42:35ID:???isValid()はバリデーション結果を返すだけの役目のはず。
isValid()に書くのはお門違いちゃう?
0308nobodyさん
2008/08/01(金) 16:51:42ID:???('A')が顔に見えるww
0309nobodyさん
2008/08/04(月) 12:56:39ID:???0310nobodyさん
2008/08/04(月) 14:55:45ID:???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
は駄目でした・・・
0311nobodyさん
2008/08/04(月) 15:12:27ID:???0312nobodyさん
2008/08/04(月) 16:13:19ID:???もっと原始的に、
symfony generate:module frontend poge
にして
DOCUMENT_ROOT/hoge/
掘ってindex.php置いて相対位置書き換えるんじゃだめなん?
0313nobodyさん
2008/08/04(月) 16:17:03ID:???railsだと、generate controller hoge/poge
みたいにやると、ちゃんと階層化されたコントローラ(モジュール)ができるんだけど
フランチョス的には階層深くするなってことなのかな。
それならそれでフランチョスの意志に従っても良い気がしてきた。
0314nobodyさん
2008/08/04(月) 19:43:39ID:???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で確認してます。
0315314
2008/08/04(月) 20:31:46ID:???ただのyamlの記述ミスでした。
吊ってくる
0316nobodyさん
2008/08/05(火) 09:27:37ID:???ttp://www.thinkit.co.jp/article/71/1/3.html
を見たらISO-2022-JPが上手く動作しないらしいんだけど
他の人はどうしてるんですか?UTF-8を使うんですか?
0317nobodyさん
2008/08/07(木) 17:00:25ID:???0318nobodyさん
2008/08/10(日) 03:35:56ID:zn9kEIVJ各Loggerじゃなくて
それらに指令を出すトップレベルのsfLogger自体をオーバーライドしたい時は
どう書けばいい?
0319nobodyさん
2008/08/10(日) 03:43:09ID:???$data .= "\n\$logger = sfLogger::getInstance();\n";
とハードコーディングしてた・・
ほんと使えないフランチョスだな
0320nobodyさん
2008/08/10(日) 04:21:55ID:???そりゃそうだよな
何か変な実装だもん
0322nobodyさん
2008/08/11(月) 22:25:50ID:jwJ3rV7r具体的にいうと、
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で実行中。
何が足りないのかな?
0323322
2008/08/12(火) 13:06:13ID:???自己解決。settings.ymlのno_script_nameがonになってた。申し訳ない……。
でもこれ、何個アプリケーション作ろうともデフォルトはonなのな。
0324nobodyさん
2008/08/13(水) 14:28:50ID:ccVg322Yってマンモス本より役に立つ?
0325nobodyさん
2008/08/13(水) 18:51:17ID:???remote_functionでは、引数の配列のwithにパラメータを入れるっていうのが
紛らわしいというか奇妙というか
1.0の話だけど
0326nobodyさん
2008/08/13(水) 23:47:37ID:???/module/action/word/%E3%82%A8%E3%83%B3%E3%82%B3%E3%83%BC%E3%83%89
って感じにしたパスをlink_toに渡してリンクを作っていたんだが
link_toがエンコード文字部分を勝手に書き換えてたせいで変なバグに悩まされた ('A`)
0327nobodyさん
2008/08/14(木) 18:22:05ID:???を参考にアップロード処理作ったんだけど、
ローカルでxampp上だとうまく動くのに
サーバー上だとアップロードできない。
$file->isSaved()
もtrue返すのに、、。
アップロードフォルダーのパーミッションも大丈夫だと思うし、
それ以外に気をつける点ってあればどなたかご指摘下さい。
てか、isSaved() が true 返してるが気に入らない。なんで?
0328nobodyさん
2008/08/15(金) 01:40:17ID:YW2vuQsPどうしたらいいですか?
0329nobodyさん
2008/08/15(金) 23:29:09ID:???アドバイスを頂ければ幸いです。
(1)バリデータのエラーメッセージをデフォルトで日本語化することはできないのでしょうか?
(2)メッセージの一部パラメータ化(例:「$a1は$a2文字から$a3文字までの長さで入力してください」)って出来ないのでしょうか?
アクションごとにバリデータのメッセージを設定する方法は検索できました
(ttp://develop.ddo.jp/symfony/book/jp/1.0/validate_form.htmlの「名前をつけたバリデーター」以下の方法で、日本語を設定していけばいいんですよね?)
が、これをアクションごとに記述していくのはやはり手間です。他に方法はないのでしょうか?
0330nobodyさん
2008/08/16(土) 16:52:57ID:z7m75dUv0331nobodyさん
2008/08/16(土) 21:05:40ID:???0332329
2008/08/17(日) 16:02:07ID:IR0jQIbG自己res。今のSymfony1.1では、>>329のやり方って古かったんですね。
今のsfFormなら、少なくとも(2)は出来る事がわかりました。ただし(1)(デフォルトでの日本語化)はまだ方法がわかりません。
まぁ、各バリデータのconfigureだけをオーバーライドしたクラスを作ってしまえばいいのかもしれませんが、なんとなくスマートではない気がしますし、メッセージを管理する場所がバラけてしまうのも少々厄介です。
何か他にいい方法はないでしょうか?
0333nobodyさん
2008/08/18(月) 13:56:03ID:???だったっけ
0334nobodyさん
2008/08/18(月) 16:19:58ID:jvpRje/gsfFormを継承して、configureの後にValidatorSchemaを全部ナメてってsetMessageしてやれば何とかなりそうだけど・・・
これってやっぱ車輪の再発明?
0335327
2008/08/18(月) 17:12:57ID:???サーバーとローカルの構成を変えていたのが原因で、
違う場所に保存されていました。(^^;
0336nobodyさん
2008/08/18(月) 17:25:52ID:???よくあるものならなんでも良かったってことか?電球とかオナホールとか
0337nobodyさん
2008/08/18(月) 19:35:03ID:???0338334
2008/08/18(月) 22:24:47ID:jvpRje/gいちおー出来たっぽいが、誰か見てみる?
Symfonyいじり始めて一週間&実質20行のコードだから、あまり過度な期待はしてもらっても困るけど。
でもこの程度のこと、絶対誰かやってると思うんだけどね。
0339nobodyさん
2008/08/19(火) 19:33:45ID:???0340nobodyさん
2008/08/19(火) 20:41:23ID:8DZ4PLH3form_tagを使った時の遷移先に
?key=valueじゃなく
ルーティングルールを適用させる方法ってある?
0342nobodyさん
2008/08/20(水) 23:33:43ID:LuQqZLWt楽観的ロックって、自分で実装すると結構めんどくさいんだよね。
特に汎用にしようとすると。
0343nobodyさん
2008/08/22(金) 11:58:57ID:Vc/mgEWXttp://www.open-force.info/index.php/blog/show/l/54
公開してまだ一週間だから、信頼性についてはまぁそれなりにってトコだろうけど。
でも、「日本独特の文化ですよね」って断言されるほど、海の向こうじゃマイナーな機能なのか?
0344nobodyさん
2008/08/22(金) 21:23:08ID:fOZ3YS9Puse_helper('javascript')が複数あるとこれになるみたいなんだが、
helperが使われてるか確認する方法ってある?
0345344
2008/08/22(金) 21:30:22ID:fOZ3YS9Puse_helper('javascript')
と
use_helper('Javascript')
がごっちゃになってたからエラーになってたみたいだ
0347nobodyさん
2008/08/23(土) 17:56:23ID:???1.0より洗練されててよいね〜
0348nobodyさん
2008/08/23(土) 21:11:42ID:???1.1とだいぶ違うから買っても使えなそう
フランチョステラ詐欺師www
0350nobodyさん
2008/08/24(日) 04:22:57ID:???0352nobodyさん
2008/08/24(日) 05:21:15ID:???俺とフランチョステラエスパー
0353343
2008/08/25(月) 11:14:01ID:???ふむ、今まであまり気にしてなかったが、言われてみればあまり見た記憶がないな
>海外サイトのユーザー登録での確認画面
外人ってせっかちなのか、それとも画面以外(ex.メールとか)での確認の方を重視してるのか……
まぁ、これ以上はスレ違いか。
0354nobodyさん
2008/08/25(月) 16:51:30ID:???0355nobodyさん
2008/08/26(火) 01:37:54ID:???上記URLを参考にsymfonyを始めたんですが、
http://codezine.jp/article/detail/704?p=4
でhttp://localhost/helloworldにアクセスしても『お名前をどうぞ。』しか表示されません。
ヘルパーが実行されていないようなのですが、何かここがおかしいんじゃないかみたいなのあったら教えて頂けないでしょうか。
環境はvista apache2.2.6 php5.2.4です。
よろしくお願いします。。
0356nobodyさん
2008/08/26(火) 09:25:21ID:???日付を見ると、その記事は間違いなく1.0を対象にした記事。
1.1だと、「use_helper('form')」って書かないとヘルパーは動かない。
1.1だとヘルパー使わずフォームを使うのがフランチョスのお勧め。
sfCompat10を有効にすれば大丈夫だっけ?>ヘルパー
0357356
2008/08/26(火) 11:04:31ID:???詳細は>>3の一番上のリンクの少し下のほう、「symfony Forms in Action」を参照。
0358nobodyさん
2008/08/26(火) 15:28:55ID:C/n8oxtACRIT/ERR/WARNINGのどれ?
エラーじゃねーし
WARNINGだと弱すぎ、CRITだと強すぎな感じで悩む
0359nobodyさん
2008/08/27(水) 14:04:25ID:???リンク先の公式ページで
「何に使うプラグインなんだかワカンネ」
ってコメント付いてるぞwww
2ヶ月くらい前にも確認画面の話題でもめてたよなこのスレ。
0360nobodyさん
2008/08/27(水) 16:47:51ID:???0361nobodyさん
2008/08/27(水) 16:56:19ID:???日本語の中で文字コードが乱立した結果、
確認せずにPOSTすると化けに気が付かないからだろうな。
外人はそんな心配要らないのだから。
日本人の(過度な)慎重さも要因かもしれん。
0362nobodyさん
2008/08/27(水) 17:00:03ID:???アメとかは「ミスがあるのはしょうがない。大事なのははその対応」ってかんじだから。
0363nobodyさん
2008/08/27(水) 17:03:46ID:???admin generatorの削除時のやつと同じように。
0365nobodyさん
2008/08/27(水) 19:45:36ID:???静的ページにする必要はまったく無い
0366nobodyさん
2008/08/27(水) 19:59:54ID:???しかし未だにjs無しの環境で仕事してるやつ居るんだな…
アマゾンの奥地で謎の未開原住民を見た気分だ
0367nobodyさん
2008/08/27(水) 20:58:04ID:???レアケース対応で要求仕様に入ってる事は結構あるんじゃないか?
0368nobodyさん
2008/08/28(木) 00:54:20ID:???0369nobodyさん
2008/08/29(金) 00:26:17ID:???0370nobodyさん
2008/08/29(金) 02:54:24ID:BLGUiryPモジュールをまたがって共通性のある処理ってどこに書く?
一つのモジュール内だけだったら、
actionsに非publicなメソッドを書けばいいけど。
Rubyのmixinがあれば・・・
0371nobodyさん
2008/08/29(金) 03:29:13ID:???共通した祖先クラス書いて継承させるくらいか・・
あんまりキレイな方法じゃないが
0372nobodyさん
2008/08/31(日) 09:30:46ID:???ide使ってると分かりにくいな
hogeActions.class.phpにしたい
0375nobodyさん
2008/09/01(月) 20:50:10ID:???前はわざわざクリアしてたような・・
0376nobodyさん
2008/09/02(火) 04:15:47ID:???$request->isMethod(sfRequest::POST)
とかやっててバグになってた('A`)
0377nobodyさん
2008/09/02(火) 16:50:39ID:???フォームまわりも自作ライブラリ使って、
mvcの骨格だけsymfony使ってる状態になった
骨格のためだけにsymfonyというフルスタックフレームワーク使うのは
コストが高い気もするけど
symfonyの一番素性がいい部分は、mvcまわりなんだよな
0378nobodyさん
2008/09/02(火) 21:17:55ID:XzTndE53だったら機能を理解するためにrailsに手出そうかと思うんだがどうだろう
0379nobodyさん
2008/09/02(火) 21:32:33ID:???actionにexecuteというプリフィックス付けるとことか。
railsは何のプリフィックスも付けないというあり得なさ。
0381nobodyさん
2008/09/05(金) 15:37:50ID:???0382nobodyさん
2008/09/06(土) 11:53:09ID:???ここってautoload対象だよね。
formクラスの大半ってmoduleに依存してるから
modules/モジュール名/form/の下にformクラスを
置いちゃおうとおもんだけど別にいいかな?
modules/モジュール名/ってactionsとtemplates以外のフォルダを作って
いいのかどうかもよくわかってないんですが。
0383nobodyさん
2008/09/08(月) 12:34:12ID:???"index"
とだけ渡したら今のモジュールのindexアクションを呼ぶようにするには
自前で作るしかないのかな。
0384nobodyさん
2008/09/08(月) 12:37:04ID:???not foundになっちゃうのは仕様なんかな。
hoge/index <-- 存在するアクション
hoge/index/q1/123 <-- q1 = 123のクエリーパラメータ付き。OK
hoge/index/q1/aaa%2Fbbb <-- q1 = aaa/bbbのクエリーパラメータ付き。NG
0385nobodyさん
2008/09/08(月) 12:50:41ID:???0386nobodyさん
2008/09/09(火) 11:19:31ID:???ルーティングファイルでルール設定しても省略できない?
モジュールが複数あるとめんどそうだが
0387nobodyさん
2008/09/09(火) 11:51:26ID:???てかrailsだとアクション名だけ指定したらモジュールはカレントなんだよね。
なんでそうなってないんだろう。
アクションで$this->getModuleName()で取れるから
自分でsfActionsに関数追加して対応した。
0388nobodyさん
2008/09/10(水) 15:45:40ID:???たまにinput_hidden_tagで、タグが出力されないことがあるんだが、
なんなのこれ?いまいち条件がわからない
0391388
2008/09/11(木) 14:46:59ID:???foreach($params as $key => $param){
echo input_hidden_tag($key, $param);
}
こんな感じで書いてて一部の要素が出ないときがあるんだ、
もちろん$paramsにはその要素入ってるからな
0392nobodyさん
2008/09/15(月) 23:59:25ID:???p70のsymfony propel-generate-crud bbs bbsdata bbsData
を流すと以下のエラーがでます。
PHP Fatal error: Class 'bbsDataForm' not found in D:\php\PEAR\symfony\generator
\sfAdminGenerator.class.php on line 722
解らないなりにbbsDataFormクラスを作って見たりしたんですが、改善されません。
何が解決のヒントを教えていただけないでしょうか。。
というか、symfony1.1.1を使ってる事もまずいのであろうと勝手に予想するのですが、1.1.0ならエラーでなかったりしますでしょうか。。
環境はPHP5.2.4 apache2.2.6 symfony1.1.1 windowsです。
よろしくお願いします。
0393nobodyさん
2008/09/16(火) 00:12:29ID:???あと、1.0と1.1はだいぶ変わったので気をつけたほうがいいです。
0394nobodyさん
2008/09/16(火) 00:21:25ID:???レスどうもです。
それを流した後に
symfony propel-generate-crud bbs bbsdata bbsData
をやってみたのですが同じエラーになります。
ちなみに>>393さんのコマンド流した結果は以下のみです。。
>> propel generating form classes
0395nobodyさん
2008/09/16(火) 00:23:03ID:???そんなタイトルの本あったっけ?
0396nobodyさん
2008/09/16(火) 00:32:35ID:???これです。
http://www.gihyo.co.jp/books/syoseki-contents.php/978-4-7741-3237-2
0397nobodyさん
2008/09/16(火) 00:40:12ID:NpaR+YH40398nobodyさん
2008/09/16(火) 00:59:40ID:???してみました。
ちなみに色々調べて見たのですがどうも
symfony propel-build-allのinsert-sqlでテーブルの作成?に失敗してるくさいです。
propel-generate-crud 以前の問題のようです。すみません。
OSがvistaなので管理者権限でpropel-build-allをやって見たのですがやはりnsert-sqlで失敗します。
設定ファイル再度見直して見ます。。すみません。。
0399392
2008/09/16(火) 01:21:15ID:???で、テーブルの作成にも成功したのですが、
symfony propel-generate-crud bbs bbsdata bbsData
で、同様のエラーになります。
symfony propel:build-formsも同様です。。
明日頑張って見て駄目なら1.1.0でやって見ます。
回答頂いた皆さんありがとうございました・・・。
0400nobodyさん
2008/09/16(火) 16:21:18ID:???VMWareに比べて遅いけど面倒が無いし。
0401nobodyさん
2008/09/17(水) 17:39:14ID:???# pear install symfony/symfony-1.0.17
Attempting to discover channel "symfony"...
unknown channel "symfony" in "symfony/symfony-1.0.17"
invalid package name/package file "symfony/symfony-1.0.17"
Cannot initialize 'symfony/symfony-1.0.17', invalid or missing package file
Package "symfony/symfony-1.0.17" is not valid
install failed
■ このスレッドは過去ログ倉庫に格納されています