lt;?php symfonyとフランチョスのスレ ?gt;
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2006/11/18(土) 08:05:59ID:???http://www.symfony-project.com/
■askeet
http://www.symfony-project.com/askeet
■The symfony book
http://www.symfony-project.com/content/documentationHome.html
■symfonyで作られたサイトはこちら
http://www.symfony-project.com/trac/wiki/ApplicationsDevelopedWithSymfony#Japan
ver.1まで間近 がんばれフランチョス & ファビエンヌ フュージョンで
開発パワー2倍だ!
0446nobodyさん
2007/03/06(火) 02:45:15ID:???0449nobodyさん
2007/03/06(火) 06:18:28ID:???In the production environment, the configuration is cached, so the configuration files are parsed (and executed) only once after the cache is cleared.
って言ってるから完全に動的ではないんじゃ?
設定ファイル中の定数的な値を嵌め込んだりはできるけど
0450nobodyさん
2007/03/06(火) 06:34:36ID:???プレビューリリースで不満だったところが全部直ってる感じ。
素晴らしい。
0451nobodyさん
2007/03/06(火) 17:57:11ID:???0452nobodyさん
2007/03/06(火) 18:09:52ID:???ものすごくいらない。
あと俺の考えだとモデルクラスがテーブルごとに作られるのもおかしい。
クラスは共通、オブジェクトに名前つけて区別すれば良い。
コードを自動生成するとはいっても滅茶苦茶質の悪いものを大量に吐いてるだけな印象。
手で組むとしたらありえないくらい冗長なコードになってる。
なんで世界的に勢いのあるFWがこんなレベルなんだ。
0453nobodyさん
2007/03/06(火) 19:23:13ID:???Propelいやなら、Doctrineでも使ってみたら
0454nobodyさん
2007/03/06(火) 19:30:08ID:???>あと俺の考えだとモデルクラスがテーブルごとに作られるのもおかしい。
>クラスは共通、オブジェクトに名前つけて区別すれば良い。
これに関しては同意しかねる、O/Rマッパすらないんじゃ話にならねえ
が、propelがイケてないのは同意
railsのactiverecordを真似てphpで実装しようとすると
どうしても言語実装のせいで限界が出てくるので
モデルクラスを先に全部生成しちゃってお茶を濁してる感じ
実装上しょうがないのはわかるがあまり好きじゃない
0455452
2007/03/06(火) 19:45:19ID:???俺が言ってる設計は、例えば
$userinfos=sf_db::getTable("userinfo");
$articles=sf_db::getTable("article");
というようなもの。
コード書くときはいつもこういう設計をしてるし実際うまくいってると思う。
0456nobodyさん
2007/03/06(火) 20:00:36ID:???frontendで見たときにfilterのとこちゃんと見てみて。
あと、htmlのキャッシュどうなってる?
0457nobodyさん
2007/03/06(火) 20:33:43ID:???symfonyのgetConnectionとexecuteQuery使うと
返値の結果セットがfetchRowもってなくて面倒なのでDB.php使いたい。(使うしか方法が分からない)
doSelectの返値はたしかtoArrayメソッドがあるけど、executeQueryの返値にはないとか
非常にめんどいが、こんな仕様にする必要があるのだろうか?
とりあえず俺は検索を実行して配列を得たいのだけど、どうすれば良いんだろう?
本当はdoselectjoinallとかが使えれば良いんだけど変な動作するし
一つjoinするだけならdoselectjoinxxxxでいけるけど二つ以上はダメとかそんな仕様ありえんし。
0458457
2007/03/06(火) 20:35:25ID:???symfonyはjoinに対してどんな手段を提供してるの?
0459nobodyさん
2007/03/06(火) 20:36:07ID:???俺はそれでつまった
0460nobodyさん
2007/03/06(火) 20:44:01ID:???「こうしたいんだけどどうするんだろう?」の疑問を調べるのに
時間食いまくりでぶち切れた。
0461457
2007/03/06(火) 20:49:18ID:???mysqlに直接ログインして手で叩いて複数レコード返るのを確認したSQLが
$con=Propel::getConnection();
$rs=$con->executeQuery($sql);
var_dump($rs);
ってやると1レコードも返ってきてないのはなぜだなぜ挙動が違うんだ
糞仕様のせいでかえれねえええええええええええええええええええええええ
0462nobodyさん
2007/03/06(火) 22:18:22ID:???必ずプリペアドもつけてくれよ。
0463nobodyさん
2007/03/06(火) 22:56:21ID:???もちつけ。
$rsがNULLってるってこと?
それとも$rsが結果の配列ではないという事なのかな?
俺の環境では$rsにはイテレータが返ってきて、
while($rs->next()){
print $rs->get("COLUMN_NAME");
}
って感じでアクセス出来るけどなぁ。
0464nobodyさん
2007/03/07(水) 00:04:54ID:???って出てインスコできないんだけど原因わかる人いたら教えて
ちなみにbetaつけてやってみたけど�_だった orz
0465nobodyさん
2007/03/07(水) 00:22:46ID:???ハードコーディング癖は直ってねーなfabien
カンファレンスで直訴してくるか
fucking連呼で
0466nobodyさん
2007/03/07(水) 01:23:10ID:???myヘルパ書いたら結構いい感じになった。
こういうのは生でするもんじゃねーな
0467nobodyさん
2007/03/07(水) 04:35:52ID:???0468nobodyさん
2007/03/07(水) 04:41:57ID:???0469nobodyさん
2007/03/07(水) 06:05:56ID:???0470nobodyさん
2007/03/07(水) 06:11:30ID:???XSS対策は escaping_strategy じゃないっすか?
0471nobodyさん
2007/03/07(水) 06:16:46ID:???0472nobodyさん
2007/03/07(水) 06:23:30ID:???って流れだったら、
画面遷移ごとにバリデーションしておいて、
登録前にもう一回全部をバリデーションするじゃん。
そうなるとvalidate/*.ymlが冗長になるけど
そのあたりどうしてますか?
0473nobodyさん
2007/03/07(水) 08:33:59ID:???そんなことはない。
バリデーションさせたいときに、各アクションのvalidate/*.ymlを
作ればよい。
0476nobodyさん
2007/03/07(水) 13:51:38ID:???0477nobodyさん
2007/03/07(水) 14:08:27ID:???0478nobodyさん
2007/03/07(水) 15:22:41ID:???入力画面1からURL手打ち等で入力画面3に入られたりしたら
データ揃ってない事態になるでしょ?
そういう時のために最後に一括チェックしませんか?
0479nobodyさん
2007/03/07(水) 15:28:19ID:???0480nobodyさん
2007/03/07(水) 15:35:27ID:???昭和51年度生まれの無職スレ Part9 [無職・だめ]
昭和51年度生まれのダメ人間の巣窟スレPart36 [無職・だめ]
前から気になってたが
このスレに昭和51年生まれの駄目人間いるよね。
そんな駄目人間がsymfonyで何をしようとしてるか教えて。
0481nobodyさん
2007/03/07(水) 15:44:06ID:???遷移ごとにワンタイムトークンチェック?
俺はワンタイムトークンチェックは
決定的な行為の直前=ストレージへのアクセスの直前だけしてるなぁ
戻るボタン使われたりリロードされたりした時に
異常動作になりやすいから。
このへん人によって結構違いそう。
0482nobodyさん
2007/03/07(水) 16:18:18ID:???つ http://creole.phpdb.org/trac/wiki/Documentation/CreoleGuide#GettingColumnValues
0483nobodyさん
2007/03/07(水) 16:46:36ID:???1.flashにトークン入れる
2.画面に表示,hiddenにトークンいれる(同時にflashが自動的にクリアされる)
3.POSTされる
4.flashにトークン残ってないから検証できない
ってならない?
0484nobodyさん
2007/03/07(水) 17:18:33ID:???ごめん、俺はsymfony初心者で今までネイティブ関数でゴリゴリ書いてた
バカだからアドバイスできる立場じゃないんだけど…
1画面移動するごとにDB登録する仕様で作成
→時々、phpmyadmin等で巡回して、変なデータ(最後まで画面遷移して
ないやつ)を見つけたら削除
という方式でやってるよ。
今まで決済絡まないシステムしか作ったこと無いからこの辺結構アバウトかも…
0485nobodyさん
2007/03/07(水) 17:27:15ID:???アバウト云々じゃなくて設計の問題かと
0486nobodyさん
2007/03/07(水) 17:31:22ID:???技術者じゃねえw
0487nobodyさん
2007/03/07(水) 17:34:19ID:???symfony勉強中でセッション関連まだやってないけど
1.flashにセッション入れる
2.画面表示、またflashにセッション入れる
っていうやり方で出来ない?
0488nobodyさん
2007/03/07(水) 17:51:33ID:???素直にセッションでやりゃいいんじゃないかと
0489nobodyさん
2007/03/07(水) 17:56:21ID:???一画面遷移ごとにDB登録はアリなの?
俺はDBは極力いじらせたくないからなるべく少なくする方向でやってるけど
0491nobodyさん
2007/03/07(水) 18:37:25ID:???http://pc11.2ch.net/test/read.cgi/php/1173181854/
O/Rマッパのスレ立てたからよろしく
今interface定義だけでDBがいじれるs2DAOの話題で騒然だから。
propelなんて蹴散らす勢い。
0492487
2007/03/07(水) 19:02:07ID:???確かにわざわざflash使ってなにやってんだろうって気がするけど
普通にセッション使うと、複数人で一つのWEBサイト作ってる時に
セッション配列のキーが別ページで被って気づき難いバグになった事があった。
じゃあ必要無くなった時点でセッション要素をクリアすれば、と思うが
あるページからURL直叩きで他のページに移動した時の
セッションのキー被りは非常に防ぎづらいので、
こういう使い方でもflashは便利だと思う。
0493nobodyさん
2007/03/07(水) 19:07:12ID:???0494nobodyさん
2007/03/08(木) 00:06:54ID:???DB書きこみ前の一括チェックは欠かせないな。
トークンも画面ごとにネームスペース変えて
上書きが起こらないようにしないといけない。
考えると頭痛くなるが…。
0495nobodyさん
2007/03/08(木) 00:13:29ID:???セッション変数の中身すら信用できるわけではないってことだよな。
今まで作ったアプリのこと考えると…
\(^o^)/オワタ
0496nobodyさん
2007/03/08(木) 00:18:06ID:???お前も\(^o^)/オワタ
みんな\(^o^)/オワタ
0497nobodyさん
2007/03/08(木) 00:19:26ID:???限界状態マシーンとかいう機能を搭載してるらしいが
0498nobodyさん
2007/03/08(木) 00:28:10ID:???removeAttributeみたいなのいるだろ
0499nobodyさん
2007/03/08(木) 00:31:09ID:???ちなみに、nullセットしてるよ
0500nobodyさん
2007/03/08(木) 00:33:28ID:???2.次回アクセス時にflashの値とhiddenの値を比較
また、このアクセス時に前回のフラッシュの値は自動的に消滅
セッションとフラッシュは同じようなものだが
フラッシュは次回アクセス時に消去されることが約束されているセッション
自前でセッションで行うのであればそれでもいいけど
そんなことしなくてもフラッシュ使うといいよ。
というわけで、474は間違い。次回アクセス時にフラッシュは存在する
というわけで、487も間違い。flashにセッションを入れるというのは無意味
0501nobodyさん
2007/03/08(木) 00:36:33ID:???$this->getUser()->getAttributeHolder()->remove($name, $namespace)
0503nobodyさん
2007/03/08(木) 00:53:44ID:???そのhtmlの一部にsymfonyからのデータを参照させたいんだけど、
どうすれば良いでしょうか。
0504nobodyさん
2007/03/08(木) 02:30:59ID:???0505nobodyさん
2007/03/08(木) 03:48:31ID:???誰が見た時のいつの時点の何を表示させるのか
によってちがうだろうな。
0507nobodyさん
2007/03/08(木) 04:12:01ID:???大文字ではじめる?小文字ではじめる?
0508nobodyさん
2007/03/08(木) 04:18:07ID:???自分は極力汎用クラスは外に出して、PEARコーディング規約で
書くようにしてる。
0509nobodyさん
2007/03/08(木) 07:01:00ID:???symfony純正のしるしという認識だ
0510nobodyさん
2007/03/08(木) 07:17:04ID:???別に純正の印ではない
0511nobodyさん
2007/03/08(木) 07:19:41ID:???ちんぽにーの名で書き込んだ奴
お前らの一人だろw
0512nobodyさん
2007/03/08(木) 07:24:20ID:???やめた方がいいことはないだろw
何の弊害もないんだから。
自前クラスとsymfonyパッケージ中のクラスの区別が付いて
むしろいいんじゃね?
0513503
2007/03/08(木) 08:34:31ID:???インクルードすればいいのかなと思ったんだけど、、
sfのどのファイルをインクルードすればいいのか分からない。
0514nobodyさん
2007/03/08(木) 15:32:06ID:???静的ファイルからインクルードするという意味が分からない
JavaScriptを吐いて動的に表示するというわけでもなさそうだし。
0515nobodyさん
2007/03/08(木) 18:00:16ID:???インストールしてみたのですが、これと同じ症状が出て困っています。
読むとeAcceleratorを入れていると問題みたいなのですが
ウチはそんなの入れてないですし…。
0516nobodyさん
2007/03/08(木) 19:10:47ID:???0517nobodyさん
2007/03/08(木) 19:14:57ID:???0518nobodyさん
2007/03/08(木) 19:35:45ID:???symfonyで誰が見たどの時点の値なんだと聞いている
0519nobodyさん
2007/03/08(木) 20:37:17ID:???symfony使うの早すぎる段階だろ…常識で考えて。
簡単簡単て言われてるけど全然簡単なものじゃないよこれ。
素のPHPの方がはるかに簡単。
0521nobodyさん
2007/03/09(金) 03:43:04ID:???お前はもっと公式をよく読め。
symfonyは変数もクラスもアッパーキャメルケースをコーディング規約としています。
例外は二つ、symfonyコアクラスにはsfを、そしてテンプレートでは
アンダースコアでセパレートされた名前を使います。
コアクラスでsfを使っているのは、既存のPHPクラスライブラリとの重複を避けるため。
http://www.symfony-project.com/book/trunk/02-Exploring-Symfony-s-Code#Symfony%20Core%20Classes
0522nobodyさん
2007/03/09(金) 05:46:42ID:???0523nobodyさん
2007/03/09(金) 09:25:56ID:???調べてみたらなるほどこういうことか。。
0524nobodyさん
2007/03/09(金) 11:19:08ID:???0525nobodyさん
2007/03/09(金) 11:46:45ID:???Win機:symfony.batができていて、symfonyコマンドも使える(init-project〜propel-model-buildまでOK)
CentOS機:phpのbinディレクトリにsymfonyはできているが、symfonyコマンドが使えない
という状態に陥って困っています。
どちらもローカルPCで、pearコマンドでインストールしました。
Cent機ではpearコマンドを使うときphpのbinディレクトリから./pearとして使っていたのですが、symfonyの
コマンドでプロジェクトを作る時は、プロジェクトディレクトリに居ないといけませんよね?
どうやって使えばいいのでしょうか??
私のやり方は何か根本的に間違っていますか?
phpは5.2.1をjp.php.netからDLしてソースからビルドしたものです。
configure時に--disable-cgi --enable-cliでCLI版を指定済みです。
どなたか分かる方いらっしゃいましたら教えていただけませんか?
0526nobodyさん
2007/03/09(金) 12:23:24ID:???0528nobodyさん
2007/03/09(金) 18:39:40ID:???なんとなく慣習的にクラス名はアッパー
メソッド名はローワーのキャメルケースにしてたけど
0529nobodyさん
2007/03/09(金) 18:42:28ID:???なんか気持ち悪くね?
0530nobodyさん
2007/03/09(金) 20:02:05ID:???どんなプロジェクトでもいれてるんだが
i とか v もそうしないとだめなのかね
0531nobodyさん
2007/03/09(金) 20:20:53ID:???とか書くとBASICっぽいw
0532nobodyさん
2007/03/09(金) 21:38:10ID:???symfonyのコードの変数どこ見てもlower camelcaseじゃん
ドキュメント間違ってるんじゃね?
0533nobodyさん
2007/03/10(土) 00:39:04ID:???0535nobodyさん
2007/03/10(土) 03:26:54ID:???Warning: session_write_close() [function.session-write-close]: write failed: Disk quota exceeded (122) in /virtual/gekibaka/php/lib/php/symfony/user/sfUser.class.php on line 214
Warning: session_write_close() [function.session-write-close]: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/tmp) in /virtual/gekibaka/php/lib/php/symfony/user/sfUser.class.php on line 214
0537nobodyさん
2007/03/10(土) 03:49:53ID:???なかなかよさそうと思ってそんな感じにしようと思ったが
全部同一クラスだとテーブル独自のラップが出来ないな
やっぱ1テーブル1クラスがよさげ
0538nobodyさん
2007/03/10(土) 04:02:46ID:???>railsのactiverecordを真似てphpで実装しようとすると
>どうしても言語実装のせいで限界が出てくるので
別にrails真似てつくったものでもないし、
activerecord自体を真似るのに言語実装の限界も関係ないよ。
propelはもっとずっと前からあるものだし。
activerecordを真似るのはPHPでもさほど難しいことではない。
propelのコード生成は俺はむしろ助かってるけどね。
activerecordみたいに実体がないと、IDEとかでの保守がすげぇ大変。
コード補完やPHPソース側でテーブルの構造がさっと確認できるpropelのような
マッパの方がずっといい。特にテーブル数が増えてくるとそう感じる。
0539nobodyさん
2007/03/10(土) 04:21:07ID:???こことか面白い実験してるな
0540nobodyさん
2007/03/10(土) 07:58:00ID:???デフォルトのCredentials Requiredページに飛ばされる
何・故?
0541nobodyさん
2007/03/10(土) 09:04:03ID:???{sfUser} automatic user logout
こんなログないか?
0542nobodyさん
2007/03/10(土) 09:12:50ID:???なんと正しいテンプレートファイルがないだけだった
ない時は代替で変なの出さずにエラーにしてくれYO!
0543nobodyさん
2007/03/10(土) 09:19:08ID:???なんだこの糞仕様
fabienが許せない (#゚Д゚)フルフル
0544nobodyさん
2007/03/10(土) 09:26:40ID:???日本人の考え not equal フラ公の考え
0545nobodyさん
2007/03/10(土) 09:28:14ID:???イレギュラーなページでは
テンプレートが作られないケースもあるだろうという配慮なのか・・・
■ このスレッドは過去ログ倉庫に格納されています