トップページphp
1001コメント278KB

フランチョスと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

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

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

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

知ってたら教えてください。
05205192008/11/10(月) 19:59:53ID:???
公式でこんなの見つけました
http://www.symfony-project.org/forum/index.php/m/54793/?srch=module+name+hyphen#msg_54793

root作ればいけましたね。
いちいち作るの面倒なので、アンダーバーかそのまま続けてしまうかした方がよさそうですね。
慣れの問題だと思うけど、アンダーバーの入ってるURLってなんか気持ち悪くて。
0521nobodyさん2008/11/10(月) 20:20:02ID:???
ハイフンの方が気持ち悪い
0522nobodyさん2008/11/13(木) 12:59:14ID:9D9L1EQK
Peerクラスの名前がわかってて
そのテーブルの主キーの名前を取得したいのですが、
なんか良い方法ありますか?
05235222008/11/13(木) 14:23:15ID:???
すいません。見つけました。
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を変えるか、多少重くなっても、ビヘイビアを選択するかですかね。
0524nobodyさん2008/11/13(木) 20:54:44ID:???
おとなしくビルダークラス作ってカスタマイズしてろよ
0525nobodyさん2008/11/14(金) 08:14:39ID:???
1.1.4を使ってます。
Criteria::CUSTOM を使って外からくる値をSQLに突っ込む時
quoteするメソッドってないんですか?

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

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

アクションから取得したデータをもとにどこかにテキストファイルを作って、それを読み込ませるという
流れでやろうと思っているんですが。
開発経験がほとんどないのでお願いします。
0527nobodyさん2008/11/21(金) 23:11:15ID:MX0rvE3s
symfony 1.0使ってるものです。
validate/action名.ymlの
fillinのconvertersに、自作の関数を入れたいんだが
自作の関数をどこに書けばいいの?
0528nobodyさん2008/11/26(水) 06:34:11ID:???
1.0.19キター
05295252008/11/26(水) 11:50:19ID:???
突っ込む値が文字列ならシングルクオートのみをクオートすればいいから
addslashes
でいいのか。実際コードたどると使ってるところがありますね。
で、数字だったらキャストしてやると。

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

>>526
なんか質問が壮大すぎませんか?
もうちょっと的を絞ってお願いします。前レスを見ればわかると思いますが
ここの人たちは怖い人たちが多いので「PHPのぐだらない〜」のほうが向いてるかもしれません。
0530test2008/11/28(金) 02:01:50ID:???
アクションで取得したデータをそのままテキストファイルに流し込むには
どのような処理をすればいいのでしょうか?
0531nobodyさん2008/11/29(土) 17:17:28ID:???
JOINしたテーブルのカラムってSELECTで参照できないの?
0532nobodyさん2008/11/29(土) 20:31:26ID:???
>>531
できなかったらあんまし意味なくね?
0533nobodyさん2008/11/30(日) 05:18:39ID:???
>>532
例えば、決済トランに会員マスタをJOINしても、会員マスタのデータはSELECTできない。
0534nobodyさん2008/11/30(日) 20:26:13ID:???
それはpropelの使い方が悪い
0535nobodyさん2008/12/01(月) 15:40:34ID:???
1.2.0きました
0536nobodyさん2008/12/02(火) 00:10:10ID:???
短い命だったな>1.1

ttp://code.google.com/p/symfony-doc-ja/wiki/whats_new_sf12
まぁ、1.1で学んだことが無駄にはならんとは思うが、また結構変わったな。
0537nobodyさん2008/12/02(火) 05:23:30ID:???
なんとか1.1 -> 1.2を完了した。
やっぱりDBがPDOになった(propelが1.3になった)周りの変更がでかかったな。
0538nobodyさん2008/12/02(火) 09:17:20ID:???
ドクトリンはどうよ
0539nobodyさん2008/12/02(火) 09:46:52ID:???
>>537
kwsk。doSelectRSとか、あの辺?
select直投げとかも使ってるから、結構インパクトあるかも。
まぁ、最低でも三ヶ月は移行しないけどね。1.1.0も結構バグあったし。
しかしSymfonyは結構サイクル短いな。
0540nobodyさん2008/12/02(火) 17:14:50ID:???
1.2の標準はドクトリンなんだろ?
プロペルなんて使ってる奴は昭和
0541nobodyさん2008/12/02(火) 18:28:40ID:???
ドクトリンで
WHERE A AND ( B OR C )
みたいなカッコ表記するのってどうやるの?
0542nobodyさん2008/12/02(火) 18:39:26ID:???
そのまま
$query->where('A AND ( B OR C )')
0543nobodyさん2008/12/02(火) 20:45:23ID:???
>>540
ドクトリンは標準ではないんだよ。
どちらもOKといったかんじ。
0544nobodyさん2008/12/03(水) 09:49:01ID:???
ドクトリン使うかなー
propelとかありえない。プロペラ付けて遙か彼方に飛んでいって欲しい。
で、パフォーマンスはどうなん?>ドク
0545nobodyさん2008/12/03(水) 22:48:45ID:???
Doctrineとか駄目だわ。
Propel1.3のがパフォーマンス良いし、コードジェネレートで
IDEでの補完効いて楽。
ActiveRecordとか終りすぎ。
0546nobodyさん2008/12/04(木) 02:16:41ID:???
生SQL最強でFA
0547nobodyさん2008/12/04(木) 11:42:48ID:???
まぁマッパはどっちでも良いが、
プラグインの都合でドクだと少々困る人は困るかもな
0548nobodyさん2008/12/04(木) 22:27:30ID:???
みんな1.2やり始めてるん?

関心関心
0549nobodyさん2008/12/04(木) 23:56:25ID:???
1.1でやってるなら1.2にしたほうがいいわな
1.1からpropel1.3使ってたから移行楽だった
0550nobodyさん2008/12/05(金) 16:50:24ID:???
sfFormで質問なんですが
sfValidatorAnd で複数のバリデーション実行する時って
1個でもエラーあったら次の処理終了とかできませんか?
あと、エラーメッセージを配列で取得したい時ってgetErrorSchemaで取得するしか方法ないのかな?
0551nobodyさん2008/12/14(日) 09:23:29ID:???
いまだにfrontend_devまるだしサイト結構あるなw
0552nobodyさん2008/12/15(月) 10:57:09ID:???
frontend backendって名前にすること自体ありえん
0553nobodyさん2008/12/17(水) 18:05:07ID:MLlBkt3T
symfonyのadmin generator見たいに画面を自動で作っちゃうのを
スカフォなんとかとか言いませんでしたっけ?
sca〜こんな書き出しだったきもする。

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

気持ち悪いので知ってたら教えてください
0554nobodyさん2008/12/17(水) 19:11:37ID:???
スカッフロード
05555532008/12/17(水) 19:30:21ID:???
>>554
ありがとうございます
さっぱりくっきりしました。

scaffold 足場、足場組み.
っていう意味みたいですね。
0556nobodyさん2008/12/17(水) 19:42:48ID:???
どう見てもスカトロです
ありがとうございました
0557nobodyさん2008/12/17(水) 19:52:23ID:???
frontend_dev丸出しサイトみるとAPC使ってるところないね
APCの使用率はどのくらい?
0558nobodyさん2008/12/19(金) 04:01:04ID:???
>>557
2%
0559nobodyさん2008/12/19(金) 04:06:53ID:???
そんな低くないだろ〜
10%くらいはあるんじゃね
0560nobodyさん2008/12/19(金) 14:34:21ID:???
http://www.activeweb.jp/
ここいいな。fastcgiだし
0561nobodyさん2008/12/22(月) 14:49:59ID:???
jobeetの話題がないな。
もうここに来る奴には用済みか?

symfony propel:data-loadで

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

ってでるわ。
一度だけ成功したんだけれど、最初からもう一度やってみようと思ったら、またでるようになった。
なんか抜けてるのかな?
0562nobodyさん2008/12/22(月) 15:32:14ID:???
ちゃんとモデルビルドしてあんの?
05635612008/12/22(月) 15:54:53ID:???
>562
php symfony propel:build-modelですよね。
してます。

分からないので最初からもう一度やってみます。。。
0564nobodyさん2008/12/22(月) 18:44:54ID:???
symfony ccは?
05655612008/12/22(月) 19:40:37ID:???
>>564
キャッシュクリアもやってます。

1.0以来久々だったので復習がてらやってるんですけど。
以前はあまり悩むことはなかったのですが。
日本語訳サイトと本家を行ったり来たりしてるから、何か間違ってるかも。
明日も休みだし、ゆっくりやるか。
0566nobodyさん2008/12/22(月) 20:26:14ID: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とかに変えるとうまくいきます。
05675612008/12/23(火) 04:55:42ID:???
>566
1.2.1です。
>561の自分のレスを見るとクラス名に「?」が入ってるな。。。
設定ファイルの改行コードがくさい気がしてきた…。
明日、再度頑張ってやってみよう。
0568nobodyさん2008/12/25(木) 20:37:41ID:???
symfony1.2のpropelってPDO使えないサーバだと駄目?
0569nobodyさん2008/12/26(金) 07:37:20ID:???
symfony1.2にはphp5.2以上が必要です。
0570nobodyさん2008/12/26(金) 22:09:47ID:???
ttp://elliottback.com/wp/ruby-vs-php-performance-revisited/
ttp://wiki.rubyonrails.org/rails/pages/Framework+Performance
自鯖で運用する場合パフォーマンスからみても
RailsよりPHP+Symfonyを選択する理由はなし?
0571nobodyさん2008/12/27(土) 01:43:38ID:???
外注さがすときはphpのほうが見つかりやすいけどな。
一人でシコシコやってるだけなら好きにすればいい。
0572nobodyさん2008/12/27(土) 02:09:03ID:???
必ずしも優れているほうが普及するってわけでもない
phpがwebアプリケーションのシェアとっちゃったから、急激な逆転はないでしょ
0573nobodyさん2008/12/27(土) 11:09:40ID:???
体感的な話で申し訳ないが、RailsはPHP+Cakeなどに比べるとかなり重い。
DBに接続しない、単純なページ表示するのにも、キャッシュが効いていない場合は
どうなってんだってくらいRailsは表示に時間がかかる。
じゃあキャッシュ効かせればいいじゃんって話なんだけど、
ちょっとした情報を取ってきて表示が変わるようなページに対しては、
毎回表示が遅くなる、という事に。
DBまわりは、自分はPropel等使ってないから単純な比較は出来ないな。
個人的には、パフォーマンスはPHP、書きやすさはRuby(Rails)な感じ。



05745702008/12/27(土) 22:14:46ID:???
手元で10000回ループして文字列連結を試したけど
どうひいき目に見てもPHPのが速かった・・・
0575nobodyさん2008/12/28(日) 04:54:43ID:???
railsを速く動かすにはかなりノウハウがいるだろ
0576nobodyさん2008/12/31(水) 12:16:02ID:???
>>570
5.1.6とかまた酷いもんを比較対照にしてるなwww
0577nobodyさん2009/01/04(日) 23:00:05ID:???
php擁護が多い
0578nobodyさん2009/01/05(月) 08:37:49ID:???
symfonyスレだもの
0579nobodyさん2009/01/06(火) 21:35:42ID:???
>>577
むしろあの古い比較記事自体、酷いrails擁護だろ
0580nobodyさん2009/01/07(水) 00:42:52ID:???
http://www.symfony-project.org/jobeet/1_2/Propel/ja/

日本人はやる気ないなぁ。
確かに落ち目っぽいし。
0581nobodyさん2009/01/07(水) 00:59:06ID:???
自分で何もしないやつほど吼えるよね
0582nobodyさん2009/01/07(水) 11:59:39ID:E9TXficj
>>580
エンジニアに英語は必須でしょ。勉強しようよ。
そういう言う俺は公文の中学生英文法を勉強してるへたれだけど。
0583nobodyさん2009/01/08(木) 10:30:11ID:RWe/YoFS
actionでテーブル名からそのOMクラス名を取得するにはどうすればいいですか?
05845832009/01/08(木) 14:04:48ID:RWe/YoFS
admin generatorをカスタマイズしてたんですけど
actionでやらないで、generatorでやってしまいました。

actionだと
Propel::getDatabaseMap($connectionName);
でDatabaseMapを取得して、どうにかするのかな?
試してないけど。
0585nobodyさん2009/01/12(月) 05:16:23ID:???
doctrine試してるんですけど
doctrine-build-all-reload
すると、データベースを一回ドロップして作りなそうじゃないですか?
その時、encodingの値を無視してDEFAULT CHARACTER SET latin1で作っちゃうんですけど
設定でどうにかなりますか?

doctrine-build-all-reloadを使わないとか、mysqlの設定をいじってデフォルト値を変えちゃえばどうにかなるとは思うのですが
symfony側でどうにかならないかなあ。
05865852009/01/12(月) 05:17:13ID:JXhDeiPx
ああ、専ブラがまたデフォルト下げ設定になってました。
すいません。
0587nobodyさん2009/01/17(土) 00:20:55ID:LLHZVk4w
schema.ymlでフィールドの選択可能な値一覧を指定する事って出来ますか?
MySQLのENUM型みたいなの。

イメージとしてはこんな感じです。
propel:
customer:
id: ~
sex: [male, female]
0588nobodyさん2009/01/17(土) 02:22:45ID:???

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

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

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

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

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

ゴリゴリ書けば出来ると思いますが、一番楽な方法ってどんなんですか?
0590nobodyさん2009/01/18(日) 11:39:22ID:???

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

05915872009/01/18(日) 11:59:51ID:???
>>590
そっかー。残念ですがシコシコやります。
ありがとうございました。
0592nobodyさん2009/01/22(木) 16:52:06ID:???
sfForm を誰か簡単に説明してください。
これでフォーム周りがよくなったの?
0593nobodyさん2009/01/22(木) 22:02:55ID:???

悪くなった。
0594nobodyさん2009/01/23(金) 23:49:18ID:???
>>592
うん
0595nobodyさん2009/01/24(土) 21:08:57ID:BN/V3l3x
blogを作るチュートリアルをやってます。
postとcommentという2つのモジュールがあるやつです。

postのedit画面でcommentの一覧表示をさせてますが、
これと同じ事をadmin generator(? generator.yml を使うやつ)で
できませんかね。
0596nobodyさん2009/01/26(月) 01:23:09ID:???
>>595
できるよ
まぁできるってだけで、それが効率いいかどうかは微妙
0597nobodyさん2009/01/29(木) 00:34:41ID:???
>>596
どういう方法?
0598nobodyさん2009/01/29(木) 21:43:36ID:rSa/9joZ
1.0.19の調査中ですが質問させて下さい。

Apacheにて、BASIC認証・SSL・nonSSL
の3つのディレクトリで構成したいのですが、
symfonyに適合させるためには、
webディレクトリ下にディレクトリを作成して、
フロントコントローラを移動するのが
ベストでしょうか?
0599nobodyさん2009/01/29(木) 21:44:00ID:rSa/9joZ
あげてもうた、ごめんなさい
0600nobodyさん2009/01/30(金) 14:23:56ID:???
>BASIC認証・SSL・nonSSL
ここがよくわからん
BASIC認証+SSL
SSL
NonSSL
の三本立て?
どっちにしろSymfonyとは関係なさげ
0601nobodyさん2009/01/30(金) 21:45:58ID:???
>>600さん
3本立ての3システムです。
これは、1プロジェクトにしたいです。

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

間違いがありましたらご指摘よろしくお願いします。
なんか勘違いしてる余寒・・・
06026012009/01/30(金) 21:47:29ID:???
×Apacheは、ディレクトリ単位ででした
○Apacheは、ディレクトリ単位でしか
0603nobodyさん2009/01/31(土) 08:04:46ID:???

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

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

06046012009/01/31(土) 11:44:52ID:???
>>603さん
ご返答ありがとうございます。

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

同一コンテンツではありません。
事例的には、Amazonnとか
商品サイトと、商品注文サイト、会員サイト
の3つでセキュリティレベル違うのと同じです。
0605nobodyさん2009/02/02(月) 18:51:41ID:???

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

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

sfPropelPager自体には無さそうですよね?
sfPropelPagerを拡張してmodel側で$_SERVER['QUERY_STRING']をどうにかする感じでしょうか?
06076062009/02/03(火) 18:40:10ID:7F1r2xmv
あ、link_toのoptionにquery_stringっていうのがありますね。
この辺をうまく使う感じでしょうか?
0608nobodyさん2009/02/04(水) 14:13:43ID:???
Criteriaだめだな。
簡単なクエリなら作れるけどANDとかORが複雑に絡み合ったりするとお手上げ。
なにがしたいのか意味がわからない。
0609nobodyさん2009/02/04(水) 15:27:40ID:???
オブジェクト指向で考えろ
06106082009/02/04(水) 20:32:27ID:???
>>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で、みないな事書いてない?
0611nobodyさん2009/02/05(木) 14:30:33ID:???
アクションでアサインされた全ての変数を
テンプレート内で、取得したいときって
$sf_context->getActionStack()->getLastEntry()->getActionInstance()->getVarHolder()->getAll()
ってわざわざ書かないとだめ?
0612nobodyさん2009/02/05(木) 14:38:32ID:???
>>610
Criteriaがダメなんじゃなくて、そもそもその文抽象化されてないから。

まぁ俺はサブクエリビルドクラス使って対処してるけど。
0613nobodyさん2009/02/06(金) 21:04:13ID:???
>>610
上書きされる件はCriterion使えばできない?
0614nobodyさん2009/02/07(土) 02:38:32ID:???
>>613
使い方おしえてやれよ…
0615nobodyさん2009/02/10(火) 10:59:01ID:HED7VAZr
symfony test:unit で、ファイル名まで指定して単体で実行すると問題ないが、まとめて単体テストを実行するときに255か返ってくる、
とい問題が起きました。どこでエラーになっているかを表示、あるいはログに記録する方法はあるでしょうか?
0616nobodyさん2009/02/10(火) 20:29:08ID:???
訳あってsymfony1.0使っているんだけど、
sfValidatorManagerの拡張クラスを作って、
それをValidate実行時に使わせることってできる?
0617nobodyさん2009/02/11(水) 20:07:05ID:???
できるよ
0618nobodyさん2009/02/12(木) 13:08:50ID:???
ほほー。どこになんて書けばいい?
■ このスレッドは過去ログ倉庫に格納されています