フランチョスとsymfonyat PHP
フランチョスとsymfony - 暇つぶし2ch357:356
08/08/26 11:04:31
おっと、フォームってのはもちろんsfFormのことね。
詳細は>>3の一番上のリンクの少し下のほう、「symfony Forms in Action」を参照。

358:nobodyさん
08/08/26 15:28:55 C/n8oxtA
スロークエリのログ上のプライオリティーって
CRIT/ERR/WARNINGのどれ?
エラーじゃねーし
WARNINGだと弱すぎ、CRITだと強すぎな感じで悩む

359:nobodyさん
08/08/27 14:04:25
>>343
リンク先の公式ページで
「何に使うプラグインなんだかワカンネ」
ってコメント付いてるぞwww

2ヶ月くらい前にも確認画面の話題でもめてたよなこのスレ。

360:nobodyさん
08/08/27 16:47:51
もう確認画面なんて無駄なもんつくるのやめようぜチョッパリ

361:nobodyさん
08/08/27 16:56:19
確認画面なんていう文化が育ったのは、
日本語の中で文字コードが乱立した結果、
確認せずにPOSTすると化けに気が付かないからだろうな。
外人はそんな心配要らないのだから。
日本人の(過度な)慎重さも要因かもしれん。

362:nobodyさん
08/08/27 17:00:03
日本人はちょっとでもミスがあるとダメだっていう風習だからな。
アメとかは「ミスがあるのはしょうがない。大事なのははその対応」ってかんじだから。

363:nobodyさん
08/08/27 17:03:46
つーか送信時にアラート出して確認させりゃいいだけだよな。
admin generatorの削除時のやつと同じように。


364:nobodyさん
08/08/27 17:42:29
>>363

Javascript使える環境しか相手に仕事されてない方ですね、わかります。

365:nobodyさん
08/08/27 19:45:36
別にjs使えないならフォームもう一回表示させれば良いだけだよな。
静的ページにする必要はまったく無い

366:nobodyさん
08/08/27 19:59:54
携帯は固体識別でアラートの役割できるし。
しかし未だにjs無しの環境で仕事してるやつ居るんだな…
アマゾンの奥地で謎の未開原住民を見た気分だ

367:nobodyさん
08/08/27 20:58:04
動かすのが実際にはIE7でも、
レアケース対応で要求仕様に入ってる事は結構あるんじゃないか?

368:nobodyさん
08/08/28 00:54:20
JS使えない環境に対応するのは、ネスケ4.7に対応するようなもんだな。

369:nobodyさん
08/08/29 00:26:17
jsなしの場合はアクセス不可って処理で無問題

370:nobodyさん
08/08/29 02:54:24 BLGUiryP
コントローラとモデルの中間くらいの、
モジュールをまたがって共通性のある処理ってどこに書く?
一つのモジュール内だけだったら、
actionsに非publicなメソッドを書けばいいけど。
Rubyのmixinがあれば・・・

371:nobodyさん
08/08/29 03:29:13
sfMixinはactionの中から自分にmixinさせることはできなそうだし
共通した祖先クラス書いて継承させるくらいか・・
あんまりキレイな方法じゃないが

372:nobodyさん
08/08/31 09:30:46
actionsのファイル名が全部actions.class.phpなのが
ide使ってると分かりにくいな
hogeActions.class.phpにしたい

373:nobodyさん
08/08/31 18:39:31
>>372
できるよ。
hogeAction.class.php
Actionと単数形になる。

374:nobodyさん
08/09/01 05:33:37
>>370
モジュールフィルタ

375:nobodyさん
08/09/01 20:50:10
いつの間にか$_REQUESTが使えるようになってる
前はわざわざクリアしてたような・・

376:nobodyさん
08/09/02 04:15:47
sfRequest::POSTとかもう使わないようになったの?
$request->isMethod(sfRequest::POST)
とかやっててバグになってた('A`)

377:nobodyさん
08/09/02 16:50:39
モデルはcodeigniterマネして自作して
フォームまわりも自作ライブラリ使って、
mvcの骨格だけsymfony使ってる状態になった
骨格のためだけにsymfonyというフルスタックフレームワーク使うのは
コストが高い気もするけど
symfonyの一番素性がいい部分は、mvcまわりなんだよな

378:nobodyさん
08/09/02 21:17:55 XzTndE53
symfonyってrails真似てるんだっけ?
だったら機能を理解するためにrailsに手出そうかと思うんだがどうだろう


379:nobodyさん
08/09/02 21:32:33
railsよりいけてるとこもあるよ
actionにexecuteというプリフィックス付けるとことか。
railsは何のプリフィックスも付けないというあり得なさ。

380:nobodyさん
08/09/05 10:42:02
>>377
それって実はmojavi

381:nobodyさん
08/09/05 15:37:50
MVC部分だけでもmovajiより洗練されてるでしょ

382:nobodyさん
08/09/06 11:53:09
formクラスってデフォじゃlib/formの下に置くようだけど
ここってautoload対象だよね。
formクラスの大半ってmoduleに依存してるから
modules/モジュール名/form/の下にformクラスを
置いちゃおうとおもんだけど別にいいかな?
modules/モジュール名/ってactionsとtemplates以外のフォルダを作って
いいのかどうかもよくわかってないんですが。

383:nobodyさん
08/09/08 12:34:12
url_forやredirectにわたす引数で常にモジュール指定しないといけないのはつらい。
"index"
とだけ渡したら今のモジュールのindexアクションを呼ぶようにするには
自前で作るしかないのかな。


384:nobodyさん
08/09/08 12:37:04
あとクエリー文字列に/(URLエンコード済み)を入れると
not foundになっちゃうのは仕様なんかな。
hoge/index <-- 存在するアクション
hoge/index/q1/123 <-- q1 = 123のクエリーパラメータ付き。OK
hoge/index/q1/aaa%2Fbbb <-- q1 = aaa/bbbのクエリーパラメータ付き。NG


385:nobodyさん
08/09/08 12:50:41
ルーティングファイルで定義して@hogeとかで指定すればでできるんじゃないのと勉強中の俺が言ってみる

386:nobodyさん
08/09/09 11:19:31
>>385は意味が違ったな

ルーティングファイルでルール設定しても省略できない?
モジュールが複数あるとめんどそうだが

387:nobodyさん
08/09/09 11:51:26
モジュール複数あり。
てかrailsだとアクション名だけ指定したらモジュールはカレントなんだよね。
なんでそうなってないんだろう。
アクションで$this->getModuleName()で取れるから
自分でsfActionsに関数追加して対応した。

388:nobodyさん
08/09/10 15:45:40
1.0使ってるんだが、
たまにinput_hidden_tagで、タグが出力されないことがあるんだが、
なんなのこれ?いまいち条件がわからない

389:nobodyさん
08/09/11 07:35:56
>>388
そんなのお前だけだから安心していいよ

390:nobodyさん
08/09/11 07:53:29
>>388
echoの書き忘れ

391:388
08/09/11 14:46:59
$params = $sf_params->getParameterHolder()->getAll();
foreach($params as $key => $param){
echo input_hidden_tag($key, $param);
}
こんな感じで書いてて一部の要素が出ないときがあるんだ、
もちろん$paramsにはその要素入ってるからな

392:nobodyさん
08/09/15 23:59:25
symfony X PHP の本を買って勉強しているのですが、
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です。
よろしくお願いします。

393:nobodyさん
08/09/16 00:12:29
./symfony propel:build-forms
あと、1.0と1.1はだいぶ変わったので気をつけたほうがいいです。

394:nobodyさん
08/09/16 00:21:25
>>393
レスどうもです。
それを流した後に
symfony propel-generate-crud bbs bbsdata bbsData
をやってみたのですが同じエラーになります。
ちなみに>>393さんのコマンド流した結果は以下のみです。。
>> propel generating form classes

395:nobodyさん
08/09/16 00:23:03
symfony X PHPの本てなに?
そんなタイトルの本あったっけ?

396:nobodyさん
08/09/16 00:32:35
>>395
これです。
URLリンク(www.gihyo.co.jp)

397:nobodyさん
08/09/16 00:40:12 NpaR+YH4
symfony cc した?

398:nobodyさん
08/09/16 00:59:40
>>397
してみました。
ちなみに色々調べて見たのですがどうも
symfony propel-build-allのinsert-sqlでテーブルの作成?に失敗してるくさいです。
propel-generate-crud 以前の問題のようです。すみません。
OSがvistaなので管理者権限でpropel-build-allをやって見たのですがやはりnsert-sqlで失敗します。
設定ファイル再度見直して見ます。。すみません。。

399:392
08/09/16 01:21:15
insert-sqlの失敗の件ですが、PDOが使えなかったのが原因でした。。
で、テーブルの作成にも成功したのですが、
symfony propel-generate-crud bbs bbsdata bbsData
で、同様のエラーになります。
symfony propel:build-formsも同様です。。
明日頑張って見て駄目なら1.1.0でやって見ます。
回答頂いた皆さんありがとうございました・・・。

400:nobodyさん
08/09/16 16:21:18
テストや開発なら、Virtual PCでCentOSぢゃね?
VMWareに比べて遅いけど面倒が無いし。

401:nobodyさん
08/09/17 17:39:14
もう1.0って落とせないの?
# 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

402:nobodyさん
08/09/17 17:44:07
すいません自己解決しました
チャンネルを追加してませんでした
スマソ

403:nobodyさん
08/09/19 19:52:42 WjV+U7OQ
1.1では、requestのアップロードファイル関係のメソッドが
軒並みcompat10になってるんだけど
1.1ではファイル関係どうしたらいいの?

404:nobodyさん
08/09/19 20:03:40
grepで探してもsfWebRequestの中にしか$_FILESがないんだけど・・
もうファイル関係は自分でやれってこと?

405:nobodyさん
08/09/19 22:29:03
$request->getFiles('contact')

406:nobodyさん
08/09/19 22:48:21
>>403
sfFormにbindすればいいだけだろ。
わからないなら自分でやれ

407:nobodyさん
08/09/20 03:55:30
formでやるようになったのか
㌧㌧

408:nobodyさん
08/09/20 18:26:49 ZSi/YVuR
創価学会にはストーカーマニュアルがあってうろつきや盗聴方法について細かく指示されている
うろつきについては「子供が襲われないように地域の安全のためにパトロールしましょう」だそうだwww
盗聴については「たまたま自分の家が盗聴されてないかどうか調べてたら声が聞こえてきて
子供の安全のためにこれからはこれを利用してみんなで盗聴しましょう」だそうだwww
この言い訳使ってたらまず創価学会に間違いないし他の言い訳使ってんなら創価学会じゃない可能性が高い

熊本隆談www

409:nobodyさん
08/09/21 02:54:17
面白そうだから僕も創価学会に入る!

410:nobodyさん
08/09/23 17:38:17
∧_∧
( ´∀`)< ぬるぽプロジェクト

みんなで面白いサイト作って有名にしようぜ!
スレリンク(news4vip板)
★まとめwiki
URLリンク(www39.atwiki.jp)

PHPのフレームワークとして symfonyを採用予定です。

411:nobodyさん
08/09/28 21:06:44 kj5kHv7I
1.1.2来たね>Symfony

412:nobodyさん
08/09/30 02:11:17
1.1.3の間違いだろ?

413:411
08/09/30 15:28:36
>>412
失礼、そのとおり>1.1.3

414:nobodyさん
08/10/02 01:01:06 C/bhStf9
アドミンジェネレータで、固定値を選択させるセレクトボックスを表示させるにはどうすればいいのでしょうか?
URLリンク(www.ganchiku.com)
こういう方法は見つけましたが、これだと1画面ごとにパーシャルを書かないといけませんよね?
流石にそれは避けたいのですが……。

415:nobodyさん
08/10/02 01:27:23
パーシャルがめんどければ関連マスタをつくればいいじゃない

416:nobodyさん
08/10/02 12:00:19 C/bhStf9
>>415
いやまぁそうなんですが(汗)
さすがに「カラム二つ、レコード2~3」というテーブルをそのためだけに作るのは躊躇われます(汗

417:nobodyさん
08/10/02 13:57:47
>>416
その発想はおかしい


418:nobodyさん
08/10/04 07:44:53
1.1.4もうきた

419:nobodyさん
08/10/05 16:31:40
Symfony徹底入門は出るのかな?

420:nobodyさん
08/10/06 17:11:06 X18KqfOa
javascriptヘルパーに
サーバサイドで設定したjavascriptの変数を出力する機能ないの?
なめてんの?

421:nobodyさん
08/10/06 19:14:34
自分で書くかと思ったら、
いつの間にかPHPにJSONエンコード/デコード関数追加されてたのか

422:nobodyさん
08/10/06 23:31:25
jsonエンコとか2年ぐらい前からあるだろ

423:nobodyさん
08/10/07 00:09:51 mdBxPQQp
sfPropelUniqueValidator、バグってるね。
どんな時もかならずカラム名を小文字にするから、OracleとかだとgetColumn出来ない。
修飾されてないカラム名を引っ張ってこないといけないから、Peerから簡単に取得することも出来ない。
※いやまぁ、$fieldNamesとtranslateFieldNameあたりをこねくり回せばできるんだろうけど、
 毎回やるのは流石に面倒だ(苦笑

ここの過去スレ(グーグルのキャッシュからひっぱった)にあった
URLリンク(www.net-newbie.com)
のCreole::NO_ASSOC_LOWERあたりの記述を見ると、一筋縄ではいかないのは解るんだけどね…。

sfPropelUniqueValidatorもそんな感じ(こっちはアドミンジェネレーターで使う)だったから、
二つともラッパ書いてコピペでオーバーライドしちまった。
美しくないし、将来のバージョンアップを考えると少々不安でもあるが……どうしたもんだろうか?

英語出来んから本家に報告も出来んが……この程度のバグ、誰か気が付いてるよね?(苦笑

424:nobodyさん
08/10/07 02:44:42
コードだけでも投げれば?
片言でも通じるよ
むかし別のオープンソースのバグ見つけたときMLにパッチ投げたら通じたぞ

425:423
08/10/07 09:38:11 naXPI71M
URLリンク(www.symfony-project.org)
ここにスレたてればいいのかな?

426:nobodyさん
08/10/07 11:02:54 mdBxPQQp
うーむ、sfValidatorPropelUniqueもそういうつくりになってるらしい……>423
もしかして(モデル生成時に)「カラム名を強制的に小文字にする」とかいうオプションがあるのだろうか?
>Oracle使用時

427:423
08/10/07 11:19:29
あ、間違ってた>>423
sfPropelUniqueValidator→sfValidatorPropelChoiceね

>>426のとおり、どっちもほぼ同じ理由で動かないんだけど、sfPropelUniqueValidatorにはgetColumnなんてメソッドはない(苦笑

428:nobodyさん
08/10/10 15:50:56
もうOracle使うメリットが無い

429:nobodyさん
08/10/10 22:55:23
質問させてください。

アドミンジェネレータのadmin_double_listが便利なので、
アドミンジェネレータ以外でも使いたいのですが、
可能でしょうか?

可能でしたら、方法を教えてください。

430:nobodyさん
08/10/11 00:36:44
>>429
生成されたキャッシュみれば使い方わかるよ

431:429
08/10/11 01:25:13
>>430
ありがとうございます。
さっそく見てみます。

ちなみに、double_listを生成するヘルパー的なものはないのでしょうか?

432:nobodyさん
08/10/11 01:32:06
>>431
あ、いや、だからキャッシュみれば、
object_admin_double_listってヘルパー関数の使い方がわかるって意味で…

433:429
08/10/11 04:31:43
あ、なるほど;

ありがとうございます!
調べてみます!

434:nobodyさん
08/10/12 14:42:54
みなさんはログイン処理作るとき、どうしてますか?
自作してますか?それとも、sfGuardプラグインなどを使ってますか?
sfGuardプラグインって、なんとなく使いづらそうな印象があるのですが・・・

435:nobodyさん
08/10/13 01:33:52
>>434
じゃぁ自作すると良いよ

436:nobodyさん
08/10/17 15:06:59
symfony-doc-ja - Google Code symfony日本語翻訳プロジェクト
URLリンク(code.google.com)

ここのchmが手元のIE8B2環境で開けなかったのでKeytoolsでデコンパイル
→cssで本文の行高さを好みで1.4に→HTML Help Workshopでコンパイル
→umaaaaaaaa

あと >>111 に助けられた


437:nobodyさん
08/10/17 17:31:35
URLリンク(trac.symfony-project.org)
これってアプリケーション名でweblogとfrontendが混ざってない?これでいいの?

438:nobodyさん
08/10/18 22:26:34 q6NYCrNL
symfony ccした時にapacheが生成したキャッシュを更新できないときあるじゃないですか?
あれどうやって解消してます?

いろいろ方法あると思うけど
apacheの実行ユーザーとログインするユーザーを一緒にしてしまう
>セキュリティ的に問題が・・・ないかな?
とか
書き込みできないファイルを削除 または rootになってchmod 0777 *
>めんどくさい
とか

どんな感じで解消してます?


439:nobodyさん
08/10/18 23:32:55
ディレクトリが777なら削除はできるんでなかったっけ?

440:nobodyさん
08/10/19 01:33:59
>>438
意味がわからん
キャッシュを更新できないってのは削除できないって事?
単にディレクトリが777になってないだけじゃないのか

441:438
08/10/19 06:02:39
>>439
>>440
削除はできますよ。
ではなくて、cacheの中にapache(httpdの実行ユーザー)がオーナーのファイルがあって
symfony ccしたときに上書きできないことがあったんです。で、これを削除すれば、ccは出来るけど
恐らく、apacheが書き込もうとした時に失敗するから、例えばデバックモードで開発をしてる時に
うまくキャッシュを更新できないのではと、思ったわけです。

てか、なんで?
他の人はなったことないの?
普通にみんな遭遇するのかと思ったけど


442:nobodyさん
08/10/19 11:52:31
symfony ccの中でキャッシュを更新する?ってのがよくわからん。ディレクトリ残して全削除されるんじゃねーの?

443:nobodyさん
08/10/19 12:10:22
ccで上書きの意味がわからんのだが
ccはキャッシュ削除だろ
そもそもキャッシュのオーナーがapacheの実行ユーザーなのは当たり前だと思うが

444:nobodyさん
08/10/19 14:20:46
yamlファイル書き換えた直後にccしたらキャッシュに上書きしようとすることあるよ
そのときは一度Apache経由でアクセスしてやればいいと思う

445:438
08/10/20 19:52:46 K3O7/LLa
皆さんレスサンクス
そうか、ccってクリアした後に、キャッシュ作るもんだと勘違いしてました。

で、>>444さんの
>yamlファイル書き換えた直後にccしたらキャッシュに上書きしようとすることあるよ
これに引っかかって、上書きできないことがあったんですね。
しかも、必ず起こるわけじゃないですね。

どういう条件のとき上書きしようとするのかちょっとわからないけど
ありがとうございました。

446:445
08/10/20 20:18:39 K3O7/LLa
そうだ、もう一つ質問させてください。

マニュアルに
Don't confuse the debug mode with the web debug toolbar.
The debug toolbar can be displayed even when the debug mode if off, although, in that case, it displays much less information.
とあるので、モードがprodのままapps/appの名前/config/settings.ymlに
prod:
.settings:
   web_debug: on
と設定してみましたがでません。
cache/user_pc/prod/config/config_settings.yml.php
を覗いてみましたが、
'sf_web_debug' => true,
になってます。

以前はsfWebDebugFilterをOnにする必要があったけど
v1.1なので、平気そうに見えます。
どうしてでしょうか?

まあ、特に必要ないといえばないのですが、マニュアルと違うっぽいのできになったもので。
お願いします

447:nobodyさん
08/10/20 20:38:12
>>446
1.1ではweb_debugの項目は廃止されてるよ
フロントコントローラで
ProjectConfiguration::getApplicationConfiguration('frontend', 'prod', true);
じゃね

448:446
08/10/21 12:41:26 V5bf6vPW
>>447
ありがとうございます。

なんか、マニュアルとあわないけど、まあ、447さんのやりかで問題ないので気にしないことにします。
Web Debug Toolbar Activation, in frontend/config/settings.yml
dev:
.settings:
web_debug: on
とはっきり書いてあるんですけどねえ。なんか不具合があって途中で廃止されたとかですかね。

449:nobodyさん
08/10/21 21:14:10
オープンソースなんだから気付いたんならメールすればよい
開発に貢献したまえ

450:nobodyさん
08/10/21 21:33:09
compact10の互換のためだろうが

451:nobodyさん
08/10/21 21:45:20
まあデフォできいてないならマニュアルとしては一言書いておいてほしいとこだな

452:nobodyさん
08/10/21 21:46:40
>>451
書いてあるだろ。
1.0=>1.1の項目に。

453:nobodyさん
08/10/21 21:52:43
>>448が言ってるのはbookの16章のとこだろ
1.1のマニュアルに書いてないからわからなかったって事じゃねーの

454:nobodyさん
08/10/22 11:49:18 xQzdLTf7
1.0=>1.1にありました?見逃したかな・・・
フィルターはやめてresponseに注入?したって書いてあるのは見つけたのですが。
報告ですか・・・がんばってみますが英語書くのはちょと・・

もう一点お願いします。
URLリンク(www.symfony-project.org)

1つのプロジェクト内で複数のアプリケーション
で、サブドメインじゃなくて、フロントコントローラーを一個下の階層に移動するのをやりたいのですが
define('SF_ROOT_DIR', realpath(dirname(__FILE__).'/../..'));
は利かなく無くなっているようです。

フロントコントローラーのProjectConfigurationのインクルード先を
require_once(dirname(__FILE__).'/../../config/ProjectConfiguration.class.php');
に変えればとりあえず動くのですが、css,jsを読めません。

例えばその階層を/hogeだとしてcss、jsは/hoge/css、/hoge/jsなどを作ればよめますが、
/sfも/hoge/sfになってるので/sf以下のファイルにアクセスできなくなってしまいます。
Aliasは.htaccessでは出来ないのでroot権限の無いサーバーでは面倒かなと。

どんな風にやるとよいのでしょうか?
お願いします。

455:nobodyさん
08/10/22 22:41:45
そろそろ1.0から1.1に変更しようと思うんだけど
URLリンク(code.google.com)
に書いてある方法でアップグレードした方いますか?
いれば実際に注意点とかあれば教えてください。

456:nobodyさん
08/10/23 02:01:05
まぁ、あまりお勧めしないとだけ言っておく。
規模次第だけど、結構手間。

457:nobodyさん
08/10/23 04:09:02
>>447
つけたしだけど、廃止されてるのはfilters.ymlでの設定で、web_debugはsetting.ymlでは使えるよ
prod環境でツールバー出すときは、factories.ymlでlogの設定を修正してsetting.ymlでweb_debugをonにしないと駄目だな

458:nobodyさん
08/10/24 16:11:28 ebeBY5Qd
MySqlの
varchar(255) binary
をpropelで定義するのは無理っぽいですか?
symfony propel-build-allした後にalter ~するんでしょうか?

459:nobodyさん
08/10/25 03:45:44
sfFormでinput_date_tagのrich=trueに該当するの無くないか…?

460:nobodyさん
08/10/26 00:58:37
>>459
使いたかったら自分でビューに記述すりゃよくね?
他のところはrenderRowしてさ。
そういうことぢゃなく?

461:nobodyさん
08/10/26 01:19:58
>>460
echo $formで済むものをなんでわざわざそんな無駄踏む必要あるんだよwwwww
普通にwidgetクラスつくればいいだけだろうがw

462:460
08/10/26 18:22:01
>>461
そーゆーモンかね。

まぁ、可能な限りecho $formやrenderRowで済まそうとすればそれもアリか。せっかくsfForm使うんだもんな。
漏れは「ヘルパーあるんだからそれ使えばいいぢゃん」と思うが、これはバラでrenderLabelやrenderErrorしてるからなんだろう。

463:460
08/10/26 18:27:20
念の為追記。

一応、compat_10しなくても、フォームヘルパーもオブジェクトヘルパーも動く。
もちろん、本当に(まったく)同じ動作をするかはしらん。
input_date_tagが動くかどうかも試してないw

464:nobodyさん
08/10/27 02:41:04
idだけを変えるforeachの中でlink_toを繰り返し呼ぶのって気持ち悪いな
マッピングって結構コストあるじゃん
単にidをハメるだけでいいベースのURLを取得できればいいんだが

465:nobodyさん
08/10/27 03:14:53
sf_contextみたいな標準でviewで使える変数を他にも定義したいんだが
それはsfContextのfilterTemplateParametersで定義してる。
sfContextをオーバーライドするのは色々まずいよね
どうすればできる?

466:nobodyさん
08/10/27 03:15:03
url_forでURLだけ作ってIDだけまわすとかできない?

467:nobodyさん
08/10/27 03:30:17
>>465
app.ymlで定義してテンプレート内でsfConfig::getで取得するとか

468:nobodyさん
08/10/27 04:14:08 kNx8sH92
アクセスコントロールについての質問です。
secureをonにしたアクションに権限なしアクセスした時、
モジュールごとに、リダイレクト先アクションを変えたいのですが、
settings.ymlではそういった細かい設定は出来ませんよね?
やはり、preExecuteなどで自分でチェックするしかないのでしょうか?

469:nobodyさん
08/10/27 07:45:55
>>463
それがどうした

470:nobodyさん
08/10/27 09:40:42
>>464
そういうのは自分で作ってコミットするんです。

471:nobodyさん
08/10/27 11:29:34
>>468
modules/config/settings.yml
に書いたんじゃだめなんでしたっけ?
試してなけど、より細かい範囲?の設定がうわがかれるからいけそうだけど


472:nobodyさん
08/10/27 11:30:24
modules/名前/config/settings.yml
間違えた

473:nobodyさん
08/10/27 11:45:10 x9xrCR0d
コーディング規約にクラス名とそのファイル名に関する記述が見つからないんですけど
クラス名は小文字ではじめてラクダ?lowerCamelCaseっていうですか?
でファイル名はclassName.class.phpみたくclassを入れるのでしょうか?

modelの中に作られるORMのファイルが違うし、
クラス名って大文字ではじめるのが、
ほとんどの言語で規約になってるじゃないですか?

小文字ではじめるって言うのsfだけに限ったことですか?
なんか気持ち悪くて・・・

474:nobodyさん
08/10/27 22:20:04
>>473
URLリンク(symfony.xrea.jp)
ここにあるだろうが。なんでこんなものも見つけられないんだ。

475:nobodyさん
08/10/27 23:27:27
>>471
レスありがとうございます
それも試してみたのですが、無理でした
ただ自分で書いても、わりとアッサリ出来ました
飛び先が一つしか設定できないっていうのは正直不可解な仕様です
みんな不満なくやっているのでしょうか・・

476:473
08/10/28 14:53:05
>>474
レスありがとうございます。
すいません。その章はざっと読み飛ばしてました。

クラス名はUpperCamelCaseで良いみたいですね。
でも
UpperCamelCase is the standard for class and variable naming.
っておかしくないですか?変数の名前?
変数はlowerCamelCaseですよね?

まあ、そんなに気にすることないのかな。
プラグインとか入れてみるとクラス名がlowerCamelCaseになってるの多いけど
あれって、厳密に言えば規約違反ってことですよね?

こんな感じでやっちゃいます。
クラス名:UpperCamelCase
メソッド・プロパティ:lowerCamelCase
ファイル名:ClassName.class.php

477:nobodyさん
08/10/28 23:12:32
うちの会社では、viewはデザインからテンプレートのコーディングまでデザイナーがやるのですが
アクションで設定したテンプレートで使える変数の一覧をページで簡単に確認できるようにしようと思ってます。

いろいろ試してみたのですが、テンプレートに渡した変数はActionでしか取得できないっぽいですよね?
そんなことないですか?

postExecuteで例えばセッションとかResponseにセットして、Filterで表示とか考えたのですが
postExecuteを全モジュールに作るのもめんどいし
またActionの独自クラスを作ったとしても、モジュール作った後に継承元を変えるのも
いまいちな感じなんですよね。

MyUserにsetすればweb_debugツールバーで見れるんですけど、深い階層の配列が見づらいし・・・


テンプレにアサインした変数の一覧表示なんて、ものすごい要望の多そうな機能なので
いくらでもありそうだけど、なんか見逃してたりします?

また、うまい方法もしくはプラグインなどあったらお願いします。

478:447
08/10/29 13:12:01 eltEv9kS
あ、sageで書いてましたすいません。

なんがごちゃごちゃ書いてますけど、一言で表現すると
アクションでテンプレートに渡した変数の一覧ってfilterで取得できませんか?
できれば、アクションを変更しないで、filterのみで実現したいです。

って感じです。
よろしくお願いします

479:nobodyさん
08/10/29 19:30:27
フランチョス喧嘩してんの?

480:nobodyさん
08/10/29 21:06:31
>>477
エクリプスのプラグイン作ってあるんで、100万くらいで売ってあげるよ

481:nobodyさん
08/10/31 15:21:57
>>480
あ、じゃあお願いします
振り込みますので名義と口座番号と暗証番号お願いします。

ところで、フランチョスってなんですか?

482:nobodyさん
08/10/31 23:10:16
>>481
了解です。
引き出しますので名義と口座番号と暗証番号お願いします。

483:nobodyさん
08/11/01 10:57:37
>>481
ためしに通報してみた

484:nobodyさん
08/11/01 17:09:43
svnの1.2の新しいadmin generatorで
$attributes->getRawValue()
これをつかってるキャッシュの行でコケるんだけど、
開発途中でバグってるだけだよね

485:nobodyさん
08/11/02 15:59:51
1.2Beta1きましたよ

486:nobodyさん
08/11/03 12:52:47
そろそろ新しい書籍が欲しいところですなぁ。
フォーム周りとかだいぶ変わったし。

487:nobodyさん
08/11/03 13:34:20
actionにrequestだけ渡してくるのってアンバランスな仕様だな
userも渡してこいよ

488:nobodyさん
08/11/03 17:01:25
どう考えてもuserよりrequestのが圧倒的に多いだろ。
userまで渡す方がアンバランス

489:nobodyさん
08/11/03 21:08:36
1.1のsfValidatorNumberバグってるな
0入れるとrequiredのエラーが発動しやがる

490:nobodyさん
08/11/03 21:21:12
>>488
普通セッション使わない規模の方がむしろ少ないだろ
ショボグラマー乙

491:nobodyさん
08/11/03 22:44:00
>>490
つか、なんで$this->getUserぢゃいかんの>

492:nobodyさん
08/11/03 22:54:20
それを言うなら$this->getRequest()でもいいじゃんって話になる
メソッドの最初から使えると、
どのタイミングで$user = $this->getUser()するかとか、
あれこの時は既に$user存在してるっけ、とかいちいち考えなくていいのがいい

493:nobodyさん
08/11/03 23:28:14
>>490
アホかお前。
頻度のこと言ってるのもわからないの?
だったら動的タイトル設定やPDF用のヘッダ操作だって
使わない規模の方がすくない。
ということで$responseも実装。
なんてパラメータ増やしてたらキリないだろww

494:nobodyさん
08/11/03 23:36:15
ほぼ毎アクション使う$requestに対してsfUserは?
って考えればわかるよね。

>あれこの時は既に$user存在してるっけ、とかいちいち考えなくていいのがいい
こんなこと考えてる時点でショボグラマー

495:nobodyさん
08/11/04 00:21:03
ログイン状態扱ってたらほぼ毎actionでuser使う
自分の分からないことをまったく想像できないのがショボグラマーの特徴だな
第二引数で渡して使うも使わないも自由にする方がいい
こんなことは議論の余地すらねーよ素人

496:nobodyさん
08/11/04 01:18:55
                    ,===,====、
                   _.||___|_____||_
..               ∧_∧  /||___|^ ∧_∧
..               (・ω・`)//||   |口| |ω・` )
.             ./(^(^ .//||...||   |口| |c  )
.....            ∧_∧ / //  ||...||   |口| ||し      
.......        (・ω・`) //....  ||...||   |口| ||    
         /(^(^ //  ....  .||...||   |口| ||        スレは仲良く使ってね
 ""    :::'' |/   |/ '' "  :::  ⌒  :: ⌒⌒⌒ :: ""  `
 :: ,, ::::: ,, ; ̄ ̄ ̄  "、 :::: " ,, , :::   " :: " ::::  "


                    .    ∧_∧
                   ===,=(´・ω・`)
                   ||___|_゚し-J゚||_
                ∧_∧/ //.___|^∧_∧
               (´・ω・`) /||    |口|(´・ω・`)
              ./(^(^//|| ||    |口|⊂ _)
              ∧_∧ /./  || ||    |口| ||    ∧_∧
   ∧_∧    (´・ω・`)/  ...|| ||    |口| ||  (´・ω・`)
  (´・ω・`) /(^(^/ /      .|| ||    |口| ||    ゚し-J゚
 "" ゚し-J゚:::'' |/  |/ '' " :: ":::::⌒  :: ⌒⌒⌒ :: ""  `
 :: ,, ::::: ,, " ̄ ̄  "、 :::: " ,, , :::   " :: " ::::
      ぼくたちは、なかよくつかってるよ

497:nobodyさん
08/11/04 08:31:20
>>492
>それを言うなら$this->getRequest()でもいいじゃんって話になる
まったくそのとおり。
だから実際$requestは省略できる。
よって$userも要らない。
>>495
Responseは?Loggerは?Contextは?
>あれこの時は既に$user存在してるっけ、とかいちいち考えなくていいのがいい
こんなことで考えるのに、どの引数がどのオブジェクトに設定されるのかは
迷わないの?

498:nobodyさん
08/11/04 09:34:40
>>497
釣りか?技術者とは思えない論理展開で言葉もない
中学生もsymfony使ってるんだな

499:nobodyさん
08/11/04 09:52:03
>>495
>ログイン状態扱ってたらほぼ毎actionでuser使う
使わねーよw
本当にSymfonyで開発したことあんのかw

あ、言っとくが、もちろん使うことはあるぞ。確かに良く使うほうではあるわな。
>$this->getUser()
けど、ちゃんとsecurity.ymlやらsetting.ymlやら設定しとけば「毎action」なんてこたぁねーだろ?
もし本当にそういう要求がある(AttributeやFlush使いまくりとか、ユーザー毎にやたらと細かい権限設定がある)んだったら、sfActions継承して新しい基底Actionクラス作ればいいだけ。

500:nobodyさん
08/11/04 11:05:36
よく使う方ならそれで充分じゃないか
実際、mojavi時代にはcontroller,request,userがactionに渡されていた
それがsymfonyになり、いったん何も渡されなくなった
それが1.1以降また今度はrequestだけ渡されるようになった
requestだけを渡すくらいならuserを渡しても、誰も何も損しないだろう
requestとuserは両方ともコンテナで類似性が高く、
二つ渡ってくる方がバランス的に気持ちいい
シンプルな話じゃないか。
基底actionは書くのが当然だと俺も考えているが、それは別の問題だろう

501:nobodyさん
08/11/04 11:33:28
>>498
釣りっていうのは君が今している内容の無いレスのことを言うんだぜ。
君の言う中学生のほうがまともなレスしてるぞ

>>499
確かにほぼ毎アクション使うってのはちょっと仕様的に破綻してるな。
ユーザIDみたいなのをテーブルに書き込ませたりするなら、
sfGuardPluginみたいにモデルにコンテキストから突っ込んで自動保存させたほうが
コード少なくて済むし。

>>500
Mojaviでも3.0で消えたぜ。3つ渡してたのはPHP4の仕様上の問題で仕方なく。
>requestとuserは両方ともコンテナで類似性が高く
そうでもない。それだったらクッキー操作が入る$responseも入れないと
バランス悪い。




502:nobodyさん
08/11/04 12:28:41
ふーん。センスない奴が多いんだな
最終的には審美的な問題だから、分からない人に何を言っても説得出来ないし、
ああ、君はそうなんですかとしか言えないが。
コンテナの話をしている時に
クッキーを担当しているという理由でresponseをあげる時点で決定的にセンスが欠けている。

503:nobodyさん
08/11/04 18:01:12
>>502
まぁ、そう思うなら
「requestとuserは両方ともコンテナで類似性が高く、
二つ渡ってくる方がバランス的に気持ちいい」
ことをフランチョスに伝えてやってくれよ。
URLリンク(trac.symfony-project.org)


こんなところでセンス語ってる時点で決定的にセンスが欠けている。
お前のセンスがいいならきっと反映されるぜ

504:nobodyさん
08/11/04 18:19:13
実際responseとrequestでクッキー行き来してるしな。
片方だけ実装してバランスが良いとか…

505:nobodyさん
08/11/04 18:58:22
まぁ同じパラメータホルダーだから類似してるって気持ちは分からなくも無いけどな。
コンテナなんて間違った言葉の使い方しちゃうから、話がややこしくなる。
自分がマイノリティなのを、周りがセンスないから…と言ってひきこもっちゃった子
の特集こないだNHKで見たわ。気をつけると良い。

506:nobodyさん
08/11/04 19:55:26
>>495
良いこと教えてやるよ。
お前みたいな少数派でも対応できるように、symfonyには
core_compile.ymlって設定ファイルがある。
そこでsfActionsだけハックしたものを使うものが可能。
幸いsfActionsはたいしたことしてないんで、sfUserを突っ込むのも
簡単だろ?
まぁ他人のセンスを疑う前に、勉強しような!

507:nobodyさん
08/11/06 20:49:11 jbsmLZzy
sfGuardPluginが独自のテーブルを作っちゃったりするのが気持ち悪いのと
勉強もかねて、ログイン機能を作ってプラグインにしてみました。

ちょっと疑問に思ったのですが
プラグインが独自で使う設定ってどこに書かせるのがいいのでしょうか?

例えば、認証に使うテーブルクラスの名前やカラムの名前などを
とりあえずsetting.ymlに書いて読むようにしてあるのですが
よく考えたら、ログインの時だけ必要な設定を毎回メモリーに読み込むのは
微妙だと思ったんですよね。

モジュールはプラグインに入っているので、module.ymlに書かせるのは難しいと思うんですよ。
後は独自の設定ファイルを書くようにしてsfYamlクラスで読みにいくとか。

どういう風にするのが一般的・・・というのはおかしいですが、
皆さんどんな感じにしてます?


508:nobodyさん
08/11/06 21:02:11
>>507
sfGuardPluginを使うのが一般的という感じにしてます

509:507
08/11/06 21:08:03 jbsmLZzy
>>508
すいません。ちょっとわかりづらかったですね。

モジュールを含むようなプラグインで
アプリ全体で必要じゃない設定が必要なとき
設定ってどこに書かせるのがいいのでしょうか?

要約するとこんな感じです。

510:507
08/11/06 21:15:43
あ、そうか
moduleを作ればいいのか。

sfGuardAuthモジュールテンプレートをカスタマイズする

を読んでて気づいた。
試してみます。

511:nobodyさん
08/11/07 18:36:24 Oe+2PckL
アクションファイルの中のクラスによって、

$bbsdata = BbsdataPeer::retrieveByPk($this->getRequestParameter('id'));
$this->bbsdata = BbsdataPeer::retrieveByPk($this->getRequestParameter('id'));

と書かれていますが、thisの有無の違いがわかりません。
初歩的な質問ですいませんが、お願いします。

512:nobodyさん
08/11/07 19:57:17 Oe+2PckL
訂正

X アクションファイルの中のクラスによって、
○ アクションファイルの中のアクション(メソッド)によって、

513:nobodyさん
08/11/07 22:04:30
>>511
テンプレートのなかで
<?php print_r($bbsdata->toArray());?>
ってやってごらん

514:nobodyさん
08/11/08 00:24:41 3C+cxs1C
テーンプレートから参照するためにthisをつけるということでしょうか?
そうだとしてもその理由がいまいちわかりません。

515:nobodyさん
08/11/08 14:15:35
>514
Symfonyがそういう風に作られているから。

・・・ま、確かに少々気味悪くはあるが、これは設計思想の問題だからしゃーない。
どーしても中身を知りたければ、__getと__setでググれ。

516:nobodyさん
08/11/08 17:14:49
>>514
理由?
$this->setVar('bbsdata', Bbsdata.....
って書くのが面倒な人のためのショートカット

517:nobodyさん
08/11/10 19:06:23 95yh0Lxp
moduleの名前にハイフンを入れても、forward時に勝手に取り除くようになってるのですが
これは何故でしょうか?

例えばfoo-barというmoduleにしたいと思って
symfony propel-init-admin app foo-bar FooBar
とやっても
URLリンク(hoge.hoge.hoge)
じゃないとアクセスできないし、ヘルパーなどで作られるURIもfoobarになってしまいます。

複数の単語を含むようなmoduleを作りたいときはアンダーバーじゃないとだめっぽいですね。
たしか厳密にいえば、アンダーバーはURLに含めてはいけなかったと思ったのですが。

sfController::forward()のしょっぱなでいきなり取り除いているので、
たぶん設定ではどうにもならないと思うのですが、どうにかなりますか?

518:nobodyさん
08/11/10 19:28:23
普通にアンダーバーつかってるけど、禁止はホスト名だけじゃない?
アマゾンのURLとかみても(パラメータだけど)アンダーバーつかってるし。


519:nobodyさん
08/11/10 19:42:04 95yh0Lxp
>>518
ありがとうございます。
ホスト名でしたっけ?今ちょっと探してみたけど、見つからないし
そういわれてみるとそんな気もします。

まあ、アンダーバーでやりますか・・・

ところで公式にsymfonyで作られてたサイトの一覧見たいのありましたよね?
ためしに、symfonyで作られてたサイトのURLをみて
モジュール名どんな風にしてるのか見ようかと思ったのですが、見つからなくなっちゃいました。

知ってたら教えてください。


520:519
08/11/10 19:59:53
公式でこんなの見つけました
URLリンク(www.symfony-project.org)

root作ればいけましたね。
いちいち作るの面倒なので、アンダーバーかそのまま続けてしまうかした方がよさそうですね。
慣れの問題だと思うけど、アンダーバーの入ってるURLってなんか気持ち悪くて。

521:nobodyさん
08/11/10 20:20:02
ハイフンの方が気持ち悪い

522:nobodyさん
08/11/13 12:59:14 9D9L1EQK
Peerクラスの名前がわかってて
そのテーブルの主キーの名前を取得したいのですが、
なんか良い方法ありますか?


523:522
08/11/13 14:23:15
すいません。見つけました。
Peer::getTableMap()で全部のカラムを取得してから・・・
こんな感じでやりました。

function get_primary_key($class_name)
{
$columns = call_user_func(array($class_name."Peer","getTableMap"))->getColumns();
$pk = array();
foreach($columns as $column)
{
if($column->isPrimaryKey()) $pk[] = $column->getColumnName();
}
return $pk;
}

なんか、効率悪そうですね。
Peerクラスに主キーの情報くらい直接持っててもよさそうな気もしますが。

複数のPeerとかOMクラスで同じメソッドを作りたいときはどうしてますか?

ピヘイビアは重くなりそうだし、BasePeerは何も継承してないのでカスタマイズできないので
PeerBulderを変えるか、多少重くなっても、ビヘイビアを選択するかですかね。

524:nobodyさん
08/11/13 20:54:44
おとなしくビルダークラス作ってカスタマイズしてろよ

525:nobodyさん
08/11/14 08:14:39
1.1.4を使ってます。
Criteria::CUSTOM を使って外からくる値をSQLに突っ込む時
quoteするメソッドってないんですか?

propelが1.3になるとadapterにquoteというメソッドがあるみたいですが
1.2の時はどうするんでしょうか?
別途自前で用意してもいいですけどあるなら使おうかと・・・
カラム名とかをバックスラッシュでquoteするのは見つけましたけどシングルquoteが見つかりません。

お願いします。

526:nobodyさん
08/11/21 18:59:55 teu4KGCR
アクションから取得したデータでCSVファイルを作成し、そのデータをもとに
グラフ表示したいのですが、どのような流れでつくるのがいいでしょうか?

アクションから取得したデータをもとにどこかにテキストファイルを作って、それを読み込ませるという
流れでやろうと思っているんですが。
開発経験がほとんどないのでお願いします。

527:nobodyさん
08/11/21 23:11:15 MX0rvE3s
symfony 1.0使ってるものです。
validate/action名.ymlの
fillinのconvertersに、自作の関数を入れたいんだが
自作の関数をどこに書けばいいの?

528:nobodyさん
08/11/26 06:34:11
1.0.19キター

529:525
08/11/26 11:50:19
突っ込む値が文字列ならシングルクオートのみをクオートすればいいから
addslashes
でいいのか。実際コードたどると使ってるところがありますね。
で、数字だったらキャストしてやると。

Zend_DbのquoteIntoみたいなのあればいいと思ったけど、まあ、なんか作るかな。

>>526
なんか質問が壮大すぎませんか?
もうちょっと的を絞ってお願いします。前レスを見ればわかると思いますが
ここの人たちは怖い人たちが多いので「PHPのぐだらない~」のほうが向いてるかもしれません。

530:test
08/11/28 02:01:50
アクションで取得したデータをそのままテキストファイルに流し込むには
どのような処理をすればいいのでしょうか?

531:nobodyさん
08/11/29 17:17:28
JOINしたテーブルのカラムってSELECTで参照できないの?

532:nobodyさん
08/11/29 20:31:26
>>531
できなかったらあんまし意味なくね?


533:nobodyさん
08/11/30 05:18:39
>>532
例えば、決済トランに会員マスタをJOINしても、会員マスタのデータはSELECTできない。

534:nobodyさん
08/11/30 20:26:13
それはpropelの使い方が悪い

535:nobodyさん
08/12/01 15:40:34
1.2.0きました

536:nobodyさん
08/12/02 00:10:10
短い命だったな>1.1

URLリンク(code.google.com)
まぁ、1.1で学んだことが無駄にはならんとは思うが、また結構変わったな。

537:nobodyさん
08/12/02 05:23:30
なんとか1.1 -> 1.2を完了した。
やっぱりDBがPDOになった(propelが1.3になった)周りの変更がでかかったな。

538:nobodyさん
08/12/02 09:17:20
ドクトリンはどうよ

539:nobodyさん
08/12/02 09:46:52
>>537
kwsk。doSelectRSとか、あの辺?
select直投げとかも使ってるから、結構インパクトあるかも。
まぁ、最低でも三ヶ月は移行しないけどね。1.1.0も結構バグあったし。
しかしSymfonyは結構サイクル短いな。

540:nobodyさん
08/12/02 17:14:50
1.2の標準はドクトリンなんだろ?
プロペルなんて使ってる奴は昭和

541:nobodyさん
08/12/02 18:28:40
ドクトリンで
WHERE A AND ( B OR C )
みたいなカッコ表記するのってどうやるの?

542:nobodyさん
08/12/02 18:39:26
そのまま
$query->where('A AND ( B OR C )')

543:nobodyさん
08/12/02 20:45:23
>>540
ドクトリンは標準ではないんだよ。
どちらもOKといったかんじ。

544:nobodyさん
08/12/03 09:49:01
ドクトリン使うかなー
propelとかありえない。プロペラ付けて遙か彼方に飛んでいって欲しい。
で、パフォーマンスはどうなん?>ドク

545:nobodyさん
08/12/03 22:48:45
Doctrineとか駄目だわ。
Propel1.3のがパフォーマンス良いし、コードジェネレートで
IDEでの補完効いて楽。
ActiveRecordとか終りすぎ。

546:nobodyさん
08/12/04 02:16:41
生SQL最強でFA

547:nobodyさん
08/12/04 11:42:48
まぁマッパはどっちでも良いが、
プラグインの都合でドクだと少々困る人は困るかもな

548:nobodyさん
08/12/04 22:27:30
みんな1.2やり始めてるん?

関心関心

549:nobodyさん
08/12/04 23:56:25
1.1でやってるなら1.2にしたほうがいいわな
1.1からpropel1.3使ってたから移行楽だった

550:nobodyさん
08/12/05 16:50:24
sfFormで質問なんですが
sfValidatorAnd で複数のバリデーション実行する時って
1個でもエラーあったら次の処理終了とかできませんか?
あと、エラーメッセージを配列で取得したい時ってgetErrorSchemaで取得するしか方法ないのかな?

551:nobodyさん
08/12/14 09:23:29
いまだにfrontend_devまるだしサイト結構あるなw

552:nobodyさん
08/12/15 10:57:09
frontend backendって名前にすること自体ありえん

553:nobodyさん
08/12/17 18:05:07 MLlBkt3T
symfonyのadmin generator見たいに画面を自動で作っちゃうのを
スカフォなんとかとか言いませんでしたっけ?
sca~こんな書き出しだったきもする。

どっかで見た気がするんだけど、思い出せない。
確か緑色の本で見たのかな。

気持ち悪いので知ってたら教えてください

554:nobodyさん
08/12/17 19:11:37
スカッフロード

555:553
08/12/17 19:30:21
>>554
ありがとうございます
さっぱりくっきりしました。

scaffold 足場、足場組み.
っていう意味みたいですね。

556:nobodyさん
08/12/17 19:42:48
どう見てもスカトロです
ありがとうございました

557:nobodyさん
08/12/17 19:52:23
frontend_dev丸出しサイトみるとAPC使ってるところないね
APCの使用率はどのくらい?

558:nobodyさん
08/12/19 04:01:04
>>557
2%

559:nobodyさん
08/12/19 04:06:53
そんな低くないだろ~
10%くらいはあるんじゃね

560:nobodyさん
08/12/19 14:34:21
URLリンク(www.activeweb.jp)
ここいいな。fastcgiだし

561:nobodyさん
08/12/22 14:49:59
jobeetの話題がないな。
もうここに来る奴には用済みか?

symfony propel:data-loadで

Class '?JobeetJob' not found in /usr/share/pear/symfony/plugins/sfPropelPlugin/lib/addon/sfPropelData.class.php

ってでるわ。
一度だけ成功したんだけれど、最初からもう一度やってみようと思ったら、またでるようになった。
なんか抜けてるのかな?


562:nobodyさん
08/12/22 15:32:14
ちゃんとモデルビルドしてあんの?

563:561
08/12/22 15:54:53
>562
php symfony propel:build-modelですよね。
してます。

分からないので最初からもう一度やってみます。。。

564:nobodyさん
08/12/22 18:44:54
symfony ccは?

565:561
08/12/22 19:40:37
>>564
キャッシュクリアもやってます。

1.0以来久々だったので復習がてらやってるんですけど。
以前はあまり悩むことはなかったのですが。
日本語訳サイトと本家を行ったり来たりしてるから、何か間違ってるかも。
明日も休みだし、ゆっくりやるか。

566:nobodyさん
08/12/22 20:26:14 IJDiGLGO
>>561
バージョンはいくつですか?
私は1.1.6で同じ症状で困ってます。
クラス名に特定の名前を使うと出ます。
スキーマに

t_condition:
_attributes: { phpName: Condition }
id:
name: {type:varchar(255), required: true}
name_s: {type:varchar(255)}
sort_order: {type:integer, default:0, required: true}
created_at:
updated_at

fixturesに

Condition:
trafic:
name: "test"
sort_order: 1:

これでsymfony propel-build-all-load sysすると
Unknown class "Condition".
と例外投げます。
このままクラス名をHogeとかに変えるとうまくいきます。

567:561
08/12/23 04:55:42
>566
1.2.1です。
>561の自分のレスを見るとクラス名に「?」が入ってるな。。。
設定ファイルの改行コードがくさい気がしてきた…。
明日、再度頑張ってやってみよう。

568:nobodyさん
08/12/25 20:37:41
symfony1.2のpropelってPDO使えないサーバだと駄目?


569:nobodyさん
08/12/26 07:37:20
symfony1.2にはphp5.2以上が必要です。

570:nobodyさん
08/12/26 22:09:47
URLリンク(elliottback.com)
URLリンク(wiki.rubyonrails.org)
自鯖で運用する場合パフォーマンスからみても
RailsよりPHP+Symfonyを選択する理由はなし?

571:nobodyさん
08/12/27 01:43:38
外注さがすときはphpのほうが見つかりやすいけどな。
一人でシコシコやってるだけなら好きにすればいい。

572:nobodyさん
08/12/27 02:09:03
必ずしも優れているほうが普及するってわけでもない
phpがwebアプリケーションのシェアとっちゃったから、急激な逆転はないでしょ

573:nobodyさん
08/12/27 11:09:40
体感的な話で申し訳ないが、RailsはPHP+Cakeなどに比べるとかなり重い。
DBに接続しない、単純なページ表示するのにも、キャッシュが効いていない場合は
どうなってんだってくらいRailsは表示に時間がかかる。
じゃあキャッシュ効かせればいいじゃんって話なんだけど、
ちょっとした情報を取ってきて表示が変わるようなページに対しては、
毎回表示が遅くなる、という事に。
DBまわりは、自分はPropel等使ってないから単純な比較は出来ないな。
個人的には、パフォーマンスはPHP、書きやすさはRuby(Rails)な感じ。





574:570
08/12/27 22:14:46
手元で10000回ループして文字列連結を試したけど
どうひいき目に見てもPHPのが速かった・・・

575:nobodyさん
08/12/28 04:54:43
railsを速く動かすにはかなりノウハウがいるだろ

576:nobodyさん
08/12/31 12:16:02
>>570
5.1.6とかまた酷いもんを比較対照にしてるなwww

577:nobodyさん
09/01/04 23:00:05
php擁護が多い

578:nobodyさん
09/01/05 08:37:49
symfonyスレだもの

579:nobodyさん
09/01/06 21:35:42
>>577
むしろあの古い比較記事自体、酷いrails擁護だろ

580:nobodyさん
09/01/07 00:42:52
URLリンク(www.symfony-project.org)

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

581:nobodyさん
09/01/07 00:59:06
自分で何もしないやつほど吼えるよね

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

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

584:583
09/01/08 14:04:48 RWe/YoFS
admin generatorをカスタマイズしてたんですけど
actionでやらないで、generatorでやってしまいました。

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

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

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

586:585
09/01/12 05:17:13 JXhDeiPx
ああ、専ブラがまたデフォルト下げ設定になってました。
すいません。

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

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

588:nobodyさん
09/01/17 02:22:45

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



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

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

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

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

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

590:nobodyさん
09/01/18 11:39:22

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



591:587
09/01/18 11:59:51
>>590
そっかー。残念ですがシコシコやります。
ありがとうございました。

592:nobodyさん
09/01/22 16:52:06
sfForm を誰か簡単に説明してください。
これでフォーム周りがよくなったの?

593:nobodyさん
09/01/22 22:02:55

悪くなった。

594:nobodyさん
09/01/23 23:49:18
>>592
うん

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

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

596:nobodyさん
09/01/26 01:23:09
>>595
できるよ
まぁできるってだけで、それが効率いいかどうかは微妙

597:nobodyさん
09/01/29 00:34:41
>>596
どういう方法?

598:nobodyさん
09/01/29 21:43:36 rSa/9joZ
1.0.19の調査中ですが質問させて下さい。

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


599:nobodyさん
09/01/29 21:44:00 rSa/9joZ
あげてもうた、ごめんなさい

600:nobodyさん
09/01/30 14:23:56
>BASIC認証・SSL・nonSSL
ここがよくわからん
BASIC認証+SSL
SSL
NonSSL
の三本立て?
どっちにしろSymfonyとは関係なさげ

601:nobodyさん
09/01/30 21:45:58
>>600さん
3本立ての3システムです。
これは、1プロジェクトにしたいです。

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

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

602:601
09/01/30 21:47:29
×Apacheは、ディレクトリ単位ででした
○Apacheは、ディレクトリ単位でしか

603:nobodyさん
09/01/31 08:04:46

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

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



604:601
09/01/31 11:44:52
>>603さん
ご返答ありがとうございます。

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

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

605:nobodyさん
09/02/02 18:51:41

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



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

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

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

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

609:nobodyさん
09/02/04 15:27:40
オブジェクト指向で考えろ

610:608
09/02/04 20:32:27
>>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さん
09/02/05 14:30:33
アクションでアサインされた全ての変数を
テンプレート内で、取得したいときって
$sf_context->getActionStack()->getLastEntry()->getActionInstance()->getVarHolder()->getAll()
ってわざわざ書かないとだめ?

612:nobodyさん
09/02/05 14:38:32
>>610
Criteriaがダメなんじゃなくて、そもそもその文抽象化されてないから。

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

613:nobodyさん
09/02/06 21:04:13
>>610
上書きされる件はCriterion使えばできない?

614:nobodyさん
09/02/07 02:38:32
>>613
使い方おしえてやれよ…

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

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

617:nobodyさん
09/02/11 20:07:05
できるよ

618:nobodyさん
09/02/12 13:08:50
ほほー。どこになんて書けばいい?


619:nobodyさん
09/02/12 17:37:15
自分で考えろ

620:nobodyさん
09/02/12 22:36:13
どこに何を書くも糞も無いだろう。必要なクラス持ってきて1.1↑と同じように書くだけ

621:nobodyさん
09/02/12 23:54:55
1.0、1.1、1.2みんなはどれ使ってるの?

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

622:nobodyさん
09/02/13 02:57:30
>>621
最近始めたので、1.2使ってる
なので、どれがいいかは分からない

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


623:nobodyさん
09/02/14 03:58:23
英語サイトの情報見れないなら1.0が無難。
そうでないなら1.2。

624:nobodyさん
09/02/14 19:37:59
PHPが5.1なので1.1使ってる。
同じような人、結構いそうな気がするけど。

625:nobodyさん
09/02/15 02:18:10
あれ、5.1って致命的なバグがあって使わないようにとかアナウンスされてなかったっけ。
どんなバグだったか忘れたけど

626:nobodyさん
09/02/15 02:23:40
cent osが5.1じゃなかったっけ?

627:nobodyさん
09/02/15 02:29:06
そんなもん入れ替えろよ…

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

629:nobodyさん
09/02/15 12:28:12
1.2を使っています。

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

630:nobodyさん
09/02/15 13:09:51
>>629
compact10

631:629
09/02/15 13:21:32
>>630
なるほど。sfMailはなくなったんですね。
ほかの方法を調べてみます。

632:nobodyさん
09/02/15 13:34:25
>>627,628
勝手にサーバー環境を変えることが出来ない仕事ってのもあるんですよ。
スレ違いすんません。

633:nobodyさん
09/02/15 14:07:13
アクション内で内部URLから絶対URLを生成するにはどうすればいいの?

634:nobodyさん
09/02/15 14:11:46 LyJslojL
>>626
だね。Redhat/CentOSの5は5.1。

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

635:nobodyさん
09/02/16 01:09:30
>>633
smfony 1.2の場合

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

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

636:nobodyさん
09/02/16 08:41:43
いつまでも穴あきの5.1使うような仕事なんてしてちゃだめだろ

637:nobodyさん
09/02/16 12:40:27
仕事を選べない人は大変ですね

638:nobodyさん
09/02/16 13:00:38 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
09/02/16 16:25:53
>>635
ありがとうございます。

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

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

640:nobodyさん
09/02/16 16:48:05
欲しいメソッドはmyActionに実装したらいいだけジャン

641:nobodyさん
09/02/16 23:37:58
>>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さん
09/02/17 20:01:10 K56TvPG0
PropelでEXISTS演算子を使いたい場合、やっぱりCriteria::CUSTOMで直接記述するしかないのかな?
まぁ、副問い合わせも使うんだし、当たり前といえば当たり前か。
やってみたことある人いる?

643:nobodyさん
09/02/18 08:04:45
質問です。

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

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


644:nobodyさん
09/02/18 09:08:41
propel-build-model

645:643
09/02/18 09:25:54
追記です。

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

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

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


646:nobodyさん
09/02/18 12:45:51
すみません、symfony & MySQLで、最後に挿入した行のIDを取得するには、
どうしたらいいですか?


647:nobodyさん
09/02/18 19:49:24
>>645
自分は
URLリンク(www.symfony-project.org)
これをつかってるよ。

648:643
09/02/18 21:35:13
>>647
ありがとうございます。参考にさせていただきます。

Plugins | sfPropelMigrationsLightPlugin | 1.1.2 | symfony | Web PHP Framework
URLリンク(www.symfony-project.org)

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

649:nobodyさん
09/02/18 21:46:02
>>648
全然違う

650:nobodyさん
09/02/18 21:51:22
>>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さん
09/02/19 20:08:27
>>646
Propelなら、モデルのsaveメソッドを呼び出した後、単にgetすればOK。
Doctrineは知らんw

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

653:nobodyさん
09/02/24 21:19:50
>>652
SQL表示されるよ

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

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

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



654:nobodyさん
09/02/25 12:03:02
>>652
バージョン古いか、propel.iniの設定か

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

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

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

658:nobodyさん
09/02/28 23:20:00
できるよ

659:nobodyさん
09/03/03 15:02:29
>>656
$sql = BasePeer::createSelectSql($criteria, array());


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

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

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

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

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

664:nobodyさん
09/03/13 13:57:23
Cakeからsymfonyに移りたいのですが、
なにから勉強すればいいのかわかりません。

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

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


665:nobodyさん
09/03/13 14:29:07
>>664
symfony 1.2ならJobeet
URLリンク(www.symfony-project.org)

11日目までは日本語訳されてる。
URLリンク(d.hatena.ne.jp)

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

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


666:664
09/03/14 00:20:34
>>665
1.2向けのチュートリアルが始まっていたのですね!
翻訳してくれている方もいるとは・・・

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

667:nobodyさん
09/03/14 02:41:54
>>664
移りたいと思った理由を知りたい

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

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

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

669:nobodyさん
09/03/14 09:25:05
質問です。

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

670:nobodyさん
09/03/14 15:43:13
すみませんが、質問です。
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
09/03/14 15:48:40
すみません、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番目の引数について
URLリンク(gomojp.blog77.fc2.com)

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

672:670
09/03/14 16:11:20
補足です。

symfonyでhierselectができる!の補足(fillin時の手当) | LinuxなWEBデザイナーの覚書き。
URLリンク(php-sql-gdgd.jugem.jp)

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

たしかに、hogeSuccess.php を

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

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

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


673:670
09/03/14 16:30:13
すみません、自己解決? したみたいです。

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

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

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

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

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


675:674
09/03/16 16:50:44
すみません、自己解決? したみたいです。

676:674 ◆UAG1fZyrYA
09/03/16 18:47:06
>>675 は騙り。まだ解決してない。

677:nobodyさん
09/03/17 10:32:44
継承

678:nobodyさん
09/03/18 16:33:36
だからsfFormが生まれたわけで

679:nobodyさん
09/03/20 20:30:44 bZdrj/Cj
sfFormの話が出たので少々便乗。

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

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

680:nobodyさん
09/03/22 04:10:40
質問です。
1.2使ってるんですが、フォームからunsetで消した項目に、
POSTされた際にアクション内で値をセットするにはどう書けばいいのでしょうか?
送信された値から別の値を生成してインサートする、みたいなことがやりたいです。

681:nobodyさん
09/03/22 18:32:07
もうCakeのはいいからどっかsymfonyの本をだしてくれ~

682:nobodyさん
09/03/22 22:34:47 XhaR9twF
>>680
自分は1.1だが、そーゆーことやりたいときはbindする前の配列いぢくる。 一度validateしたいときは、

1.普通にbind
 ↓
2.NGならおしまい、OKなら値生成→配列に格納
 ↓
3.バリデータを置き換える
 ↓
4.もう一度bindしてvalidate

かな。まぁ、sfFomオーバーライドすればもう少しスマートに出来ると思うが。

>>681
だね。もう少ししっかりした、1.1/1.2対応の解説書は欲しい。

683:nobodyさん
09/03/23 21:55:16
書籍なんていらねーよ。1.1も1.2も一年しかメンテナンスされない使い捨てリリースだし。

684:nobodyさん
09/03/23 22:14:03
そんなこと言ったらほぼ全てのFWの本がいらんことになる

685:nobodyさん
09/03/24 07:21:18
1.0は3年リリース。
ほぼ全てとか何言ってるんだろこの人

686:nobodyさん
09/03/24 14:15:27
すみませんが、質問です。

symfony 1.0 の環境に、sfCSRFPluginを導入して利用しようとしているのです
が、うまく動作しないのです。

sfCSRFPlugin - symfony-doc-ja - CSRF対策用プラグイン - Google Code
URLリンク(code.google.com)

コードを見ると、METHOD=POSTの時だけ、トークンの値をチェックするようになっ
ているのですが、どういうわけか、このフィルタの中では、POSTの場合でも
GETだと認識されて($_SERVER['REQUEST_METHOD']が"GET"となる)、チェック
がいつも働かないのです。

このフィルタ以外の場所、例えばactionクラス等では、GETかPOSTかを正しく検
出できています。

どうにも原因が分からないのですが、どなたかアドバイスをいただけないでしょ
うか?


687:nobodyさん
09/03/24 18:45:26
フランチョスに聞いてください

688:nobodyさん
09/03/25 11:35:03
腐乱著すですが何か?

689:nobodyさん
09/03/25 13:42:58
寒い…このひと寒すぎる。
書き込む前に確認しようよ。
自分がどれだけ恥ずかしいことを書いているかを。
2chだけでなく日常生活でも、寒いことを言っては
場を凍りつかせているんだろうね。

690:nobodyさん
09/03/26 11:33:19
symfonyって、あるアクションに対してPOSTだけしか受け付けないように設定する
ことってできませんか?


691:nobodyさん
09/03/26 12:26:50
getPostParameterで値が取れれば処理、取れなければエラーかリダイレクト、とか。

692:nobodyさん
09/03/26 13:00:31
isMethodみたいのがなかったっけ?

693:690
09/03/26 13:08:38
PHPコードでやれば判別はできますが、validation/<アクション名>.ymlや
filters.ymlなどで設定する仕組みが、symfonyには用意されていないでしょうか?

>>691
後出しですみませんが、1.0限定でお願いします。

>>692
sfRequest::getMethod() ですね。


694:nobodyさん
09/03/26 13:11:39
methods:[]
だっけな。なんかそんなのあったわ

695:690
09/03/26 13:21:03
>>694
たぶんそれは、↓だと思うのですが、

メソッドへのバリデーションを制限する - 第10章 - フォーム
URLリンク(symfony.xrea.jp)

どのメソッドに対してバリデーションを実行するか、の設定であって、
POST以外を弾くという設定ではないみたいです。

やっぱりPHPコードを書かなきゃ駄目なのかな。

696:nobodyさん
09/03/26 13:37:01
zendなんかはそういう指定できるけど
postしか許可しないactionを別に指定するブラックリスト方法は
何かの都合でaction名を途中で変えた場合に、
設定だけが残る可能性があるから疑問

697:nobodyさん
09/03/26 19:40:45
1.0にsfFormもってこりゃいいじゃん。

698:nobodyさん
09/03/28 22:39:09
pdt2.0から /* @var $test Test */ の補完がきかなくなったな

699:nobodyさん
09/03/29 00:23:38 WiWw0VPX
1.2でDoctrine使ってるんだけどSQLクエリーのログって出てる?
envがdevでwebdebug trueでもどこにも出てる気配ないんだけど。
なんか最初のうちは1.1の時みたいにwebdebugに円柱のボタンがあった気もするんだけど・・・・
logにsfDoctrineLoggerっていうボタンはあるけどクエリーは何も出てない。

いろいろいじってるうちにおかしくなったのかな?

700:nobodyさん
09/03/29 01:22:25
>>699
ちょっと上のレスを見ろ

701:699
09/03/29 09:22:10 WiWw0VPX
>>700
ほうほうDebugPDOですか。
すんません、Doctrineの時はどうすればいいのでしょう?
paramかattributesになんか書くのでしょうか?

702:nobodyさん
09/03/29 11:32:28
つーか普通に出るし

703:nobodyさん
09/04/01 00:43:45
symfonyからODBC接続でDB2からデータ持ってきたいんだけど、なぜか日本語が化けるんです。
Z^Z^Z^みたいな。
何でですかね・・・。

704:nobodyさん
09/04/01 01:29:49
眠いからじゃないかなzzz

705:nobodyさん
09/04/01 10:57:37
>>703
DB2かぁ、動作報告あったっけ?

まずは propel db2 でgoogleじゃない?
あるいは doctrine db2 か。

706:nobodyさん
09/04/01 12:37:40
DB2の内部コードSJISにしてるとかじゃないの

707:nobodyさん
09/04/01 22:27:12
symfony1.0系で開発をしているのですが、
Validator、Helperなどが
マルチバイトに対応していない事わかりまし。
ソースコードのマルチバイト対応情報が
あればおしえてぷりーず。

と書いたところで
1.2はマルチバイト対応済みじゃん・・・
くやしいのでそのまま投稿。
なんでバックポートしてないんだ。

708:nobodyさん
09/04/03 12:08:01
OpenPNE以外でsymfony1.2を使ったオープンソースのものって何かないですか?
ソース読んで勉強したいのですが・・・

709:nobodyさん
09/04/03 21:10:14
バージョン上がるたびに諸々の変更を余儀なくされるsymfonyは採用されないだろ

710:nobodyさん
09/04/04 17:50:58
メジャーバージョンアップとマイナーバージョンアップの区別がつかない奴がいるとは思わなかった

711:nobodyさん
09/04/21 22:02:48 oOMQhPeY
responseにsetHttpMetaメソッドあるけど、
HttpじゃないMetaってあるの?
setMetaでよくね?

712:nobodyさん
09/04/24 00:06:42
>>711
ソース(AssertHelper.php)見ると、<meta http-equive...>と出力させたい場合は、addHttpMeta()で追加、
<meta name=...>と出力させたい場合は、addMeta()で追加するらしい。

symfony 1.2系には、setHttpMeta, setMetaは無いね。削除されたのかな?

1.2系では、sfResponseに直接追加しなくても、view.ymlで設定すればおk。


713:nobodyさん
09/04/25 21:56:50
symfony1.1.6なんですけど、
config_handlers.yml
で独自ハンドラを追加して、
そのクラスをlib直下においたら、アクセス時にその独自ハンドラが存在しないと
怒られるんですが、どうしてですかね・・・・。
debugがONだと動くのですが。。。

714:nobodyさん
09/04/26 23:35:53
>>713
prod環境(debug=off)では、複数のファイルの読み込みを避けるためなのか、いくつかのクラスをpackingしています。
このクラスの中には、sfAutoloadも含まれています。

packingする際、まず先に、config_handlers.ymlに設定された、「すべての」ハンドラをインスタンス化しようとします。

独自ハンドラについては、まだsfAutoloadがインスタンス化されていないため、オートロードに失敗します。

debugがonの場合、packingしないため、先にsfAutoloadがインスタンス化されます。
それゆえ、独自ハンドラもsfAutoloadを通して、読み込むことができる様になります。

この問題を解決するために、sfAutoloadに頼らず、手動でクラスファイルをinclude(require)します。

includeする場所は、ProjectConfigurationが最適でしょう。


715:714
09/04/26 23:40:24
蛇足ですが、sfAutloadが読み込まれていないからといって、
先にsfAutoloadを手動でincludeしてしまうと、その先で二重定義だと言われて、
実行時エラーとなってしまいます。

716:nobodyさん
09/04/27 07:39:55

URLリンク(www.namiten.com)

717:nobodyさん
09/04/27 12:34:04
塾所www

718:699
09/04/29 16:03:53 rB9MGWda
1.2 doctrineでSQlLのクエリーログが出なくなった原因わかりました。
ひつようない?いらない?一応張っておきます。

URLリンク(gomojp.blog77.fc2.com)

719:nobodyさん
09/04/30 16:07:02
なんでpropel、count()なんてしてしまうん

720:nobodyさん
09/05/07 12:16:55
propelでサブクエリーとJOINって出来る?
SELECT * FROM foo main JOIN (SELECT sub.id, MAX(sub.add_date) AS max_add_date FROM foo sub......) ON main.id = sub.id AND main.add_date = max_add_date WHERE ......
みたいなのが作りたいんですけど

最悪ONはWHEREに書いてもいいかな。
無理っぽいのかなあ。どうでしょうか?

721:720
09/05/07 12:19:38 SY3Om6u2
ああ、またデフォルトでsageはいってた。
専用ブラウザこの設定うざいな。しつれいしました。

あとpropelでというかCriteriaでの間違いでした。
お願いします。

722:720
09/05/07 12:38:05
すまん
検索キーワード変えたらすぐ見つかった
URLリンク(blog.gnetworks.co.jp)

723:714
09/05/07 22:58:24
>>720
複雑なクエリは、無理してCriteria通さずに、直接SQL渡した方が見通しがいいような気がする。

$stmt = Propel::getConnection()->prepare('select ...');
$stmt->bindValue(..); // パラメータを渡す必要があるなら
$stmt->execute();
while (($row = $stmt->fetch(PDO::FETCH_BOTH) != false) {
...
}


724:nobodyさん
09/05/08 02:48:43
クエリも使いまわしたりするからな。
直接SQL渡すより極力Criteriaで使ったほうがいい。

そういうプログラミングをしないならDoctrine使ったほうが良い

725:nobodyさん
09/05/08 07:23:57
クエリ使いまわすなら、どこかのテーブルクラスに入れとけばいいだけかと。
SQL直書きの方が見通しが良くなる事も普通にあると思う。
どっちがいいかというのは難しい問題だけど、その時々の決められた方針に従うとか。
>>724
しばらくPHPはほぼ触ってないんだけど、Doctrineはもう実用レベルなんだ。
見てみよう。



726:nobodyさん
09/05/16 04:48:31
Propelは取得するカラム増減するだけで、setとかhydrateとか自分でやらないかぎりモデルがまったく使えなくなるのがメンドイ。
てか、1.3からpoolとかしてるから、下手に自前でやると危険そう。そこでsave呼ばれたときを考えたりすると・・・
まあORマッパーなんだから、selectいじるなってのはあるんだろうが。

Doctrineってそういうの強そう?

727:nobodyさん
09/05/16 06:05:29
>>726
いや、その為にPeerBuilderで拡張できるようになってるわけだが。
BasePeerをちょっと拡張したクラス準備するだけでもいいし。
いくらでも手はあるし、そういうことができるように作られている。

728:nobodyさん
09/05/16 06:07:26
このひとのとか
URLリンク(code.google.com)

729:nobodyさん
09/05/19 14:29:31 qhW3ZTR1
キャッシュファイルが多すぎてsymfony ccがなかなか終わらないんだけど
どうしたらいいの。
サービス稼働中だとキャッシュの作成とバッティングして時間かかるんかなぁ
psでプロセス見るとD(割り込み不可=IOアクセス中)のままだ。
cache clearはサービスを止めて行うもの?

730:nobodyさん
09/05/19 14:36:50
てか、サービス止めて、
ディレクトリごとrm -rfした方がずっと速いかも・・

731:nobodyさん
09/05/19 16:47:50
>>729
コンテンツキャッシュはぶっちゃけSQLiteキャッシュ使ったほうが何かと勝手がいいぞ。
キャッシュの削除条件設定も柔軟に対応できるし。

ファイルキャッシュは増えてくると不都合が多すぎる。

732:nobodyさん
09/05/31 06:43:32 rQz6XN2i
1.2使ってます

DBにname address tel category file
とあってfileとcategoryはそれぞれ別で登録するようにしたいのですが
sfFormつかうとfileやcategoryを登録したら他のデータがきえちゃいます。
個別にフォームヘルパーつかって登録するとかみたいな方法しかないですか?


733:714
09/05/31 13:22:23
>>732
ORM何使ってる
Propel?
Doctrine?

Propelなら、
Modelの各フィールドに対して更新フラグが立っている場合のみ、Update対象列になる。
resetModifiedメソッド呼んで、更新対象外フィールドのフラグ折ってやれば、多分おk



Doctrineは...知らん


734:nobodyさん
09/05/31 13:24:24
>>733
名前欄残ってた。orz
関係ないから無視しといて。

735:nobodyさん
09/05/31 14:26:16 rQz6XN2i
>>733
あぁ、そうか・・・。
スケルトンのとおりにvalodator通した後そのまま
$myTabler = $form->save();
ってやってたから全部保存されちゃってたんですね。

必要なフィールドだけセットして保存しちゃえばよかったんだ
ありがとうございました。やってみます


736:735
09/05/31 15:59:53 rQz6XN2i
なんか結局1.0と似た感じになっちゃったorz
対話形式で進めていくものをつくってくと結局こうなるのかな

737:nobodyさん
09/06/04 08:41:11
バリデータでファイルがアップされているかの確認はどうるのでしょうか?

validate/test.ymlへ
file:
required: yes
のように記述してもうまく動きません。


738:nobodyさん
09/06/04 23:42:58
>>737
Symfonyのバージョンは1.0系 or 1.1系?

もしそうなら
URLリンク(symfony.xrea.jp)
の「ファイルのバリデータ」の通りに書いてる?


739:nobodyさん
09/06/10 18:11:14

嗚呼愛しのファビエンヌ
URLリンク(codezine.jp)

740:nobodyさん
09/06/10 18:22:34
公開がインタビューの半年後とか、やる気ねぇなぁ・・・。

741:nobodyさん
09/06/10 18:34:35
読み方フランチョスじゃないんだなワロス

742:nobodyさん
09/06/10 19:37:01
ついに大文字になりますて…
まるで大文字になるのをみんなが待ち望んでいたかのような書き方だな。

743:nobodyさん
09/06/10 20:20:53
正直DIはいらねーな

744:nobodyさん
09/06/10 23:17:18
本気でフランチョスだなんて思ってる奴いねぇだろw


745:nobodyさん
09/06/11 12:20:15
>>744
サイボウズのアキモトサンはそう思ってたんじゃね?w

746:nobodyさん
09/06/11 17:46:55
2ch大好き秋元さん

747:nobodyさん
09/06/13 14:40:36
symfony使うんで、sfFormとAjaxを上手く組み合わせたいと思うんだが難しいかな?
だらだら探したけど、互いをおいしく利用してみたいなのはみつからないんだよな。
javascriptHelperとsfFormって連動する設計になってないよね?

748:nobodyさん
09/06/14 03:30:08
いくらでもできるよ

749:nobodyさん
09/06/14 03:48:08

ヘルパの呼び出しは
sfContext::getInstance()->getConfiguration()->loadHelpers();

Javascript呼び出したければ
sfContext::getInstance()->getResponse()->addJavascript();

750:nobodyさん
09/06/18 17:31:00
今までsymfonyで動いてたサイトを移動したいんだけど
移動先のレンタルサーバがspl_autoload_register使えなくてsymfony動かないっぽいんですが
フレームワークを変えるしか方法ないですかね?

751:nobodyさん
09/06/19 10:12:40
レンタルサーバを変える

752:nobodyさん
09/06/24 00:44:44
>>739
フランチョス社長やったんか

753:nobodyさん
09/06/26 11:45:18
doctrineについて教えてください。
schema.yml の定義で下記
relations:
****:
foreignAlias: ****
*****:
class: *****
refClass: *****
foreignAlias: *****

foreignAlias, class, refClass, について詳しく説明しているサイトありますか?

754:nobodyさん
09/06/29 20:27:14
symfony 1.2で質問です。

ヘルパーをactionで使おうとしているのですがmyproject/lib/helperに格納されているものしか使えません。
module毎にmyproject/app/myapp/mymodule/lib/helper/MyHelper.phpという風にすれば使用できると思っていたのですが認識違いでしょうか?
教えてください。

755:nobodyさん
09/06/30 02:08:50
>>754
symfony標準のhelper
/myproject/app/myapp/modules/mymodule/lib/helper
/myproject/app/myapp/helper
/myproject/lib/helper

に加えて、各プラグインについて、
/myproject..../myplugin/modules/mymodule/lib/helper
/myproject..../myplugin/lib/helper

のみ

故に、
myproject/app/myapp/mymodule/lib/helper/MyHelper.php
ではなく、
myproject/app/myapp/modules/mymodule/lib/helper/MyHelper.php
とすれば、いけるんじゃない?

詳細は、sfApplicationConfiguration.class.phpのgetHelperDirsメソッドのソース読んでみて


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch