トップページ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

どうぞ つ
0072nobodyさん2008/03/21(金) 08:55:09ID:???
$sf_last_module勝手になくしたフランチョスのあほ
0073nobodyさん2008/03/21(金) 14:13:07ID:???
確かめてないけどvalidateのときもなんかおかしい順番だった気がする。preActionだっけかな。
0074nobodyさん2008/03/21(金) 16:52:25ID:???
>>71
「普通」の意味がよくわからんけど
forward()するとFilterからやり直すでしょ?
forward() は sfController に「次に実行するアクション」を登録する機能であって
ExecutionFilter に対してのものではないわけだし

1.0 のコードしか見てないのでバージョン違ったら知らんけど
0075nobodyさん2008/03/21(金) 21:45:04ID:???
forward() = sfController に次に実行するアクションを登録する機能
になったの?
例外を使った内部リダイレクトみたいな機能だった記憶があるが
forwardした時点で、その後の処理はすっとばされてたような
0076nobodyさん2008/03/23(日) 01:05:21ID:???

おまいら
symfony 1.0.12 キターーーーーーーーーーーーーーーーー!

最終だぞ!
0077nobodyさん2008/03/23(日) 01:15:52ID:???
春が来たー
って「ついに」じゃねーの?
0078nobodyさん2008/03/23(日) 01:37:28ID:???
なんでバージョンアップが嬉しいの?
対応させるのが面倒くさいじゃん
0079nobodyさん2008/03/23(日) 06:34:19ID:???
管理画面google様にキャッシュされてるところ結構多くてワラタ
st_timeoutとかでググったらまるみえだお
0080nobodyさん2008/03/23(日) 07:32:26ID:???
sfViewCacheManagerのcleanメソッドなんで消えたん?
一括削除する時どうしたらいいの?
0081nobodyさん2008/03/23(日) 16:29:30ID:???
symfony1.1 はまだ?
0082nobodyさん2008/03/24(月) 06:20:35ID:???
相変わらずキャッシュまわりのコードひどいな〜
同じnamespaceという引数でも
arrayの場合とstringの場合がある
同じ変数名を違う文脈で使うなよ・・・
0083nobodyさん2008/03/26(水) 07:59:39ID:???

Symfony 1.1 Beta 2 released キターーーーーーーーーーーーーーーーー!

0084nobodyさん2008/03/26(水) 08:43:30ID:???
対応めんどくせーーー
0085nobodyさん2008/03/26(水) 14:03:51ID:???
1.0と1.1何が違うの?
0086nobodyさん2008/03/26(水) 14:39:04ID:???
symfonyのforkでtymponyってfw作ったらお前ら使う?
0087nobodyさん2008/03/26(水) 14:43:14ID:???
中身がよければtymponyでもmanconyでもyucorinでもなんでもいいよ
0088nobodyさん2008/03/27(木) 01:17:33ID:???
sfFileCacheのgetFileNameメソッドで返ってくるパスの中に、
//が混じってる。
しかも何故かエラーにならない。
そこで発見したんだが、
linuxのファイルパスの中に/が連続していくつあっても(//////とかでも)
一つの/として解釈されんのな。
これ常識?
0089nobodyさん2008/03/27(木) 01:37:16ID:???
うん
0090nobodyさん2008/03/27(木) 02:23:49ID:???
嘘だっ
0091nobodyさん2008/03/28(金) 05:38:53ID:E0RevjUb
データ再登録時など
あらかじめ値が入ったフォームを表示させる時に、
RequestParameterに値を入れてviewに渡してるんだけど、
このやり方だとキャッシュの部分でnoticeが出る。
どうするのがいいの?
0092nobodyさん2008/03/28(金) 11:05:15ID:vIjtk+SR
>>85
ブログよめよ。
詳細な1.0から1.1への移行についてはUPGRADE に書いてある。
0093nobodyさん2008/03/28(金) 11:33:12ID:???
>>92
言いだしっぺの法則。

お前が読んでここにまとめて書け
0094nobodyさん2008/03/28(金) 12:29:02ID:vIjtk+SR
>>93
1.1向けAPIはもう変わらないよ。
来週はテストとデバッグだ。
・新CLIユーティリティ
 完全に書き直した(バイバイpake)
 今は新規のサブフレームワーク上で動いている。
 順番が関係なくなった。
 ビルトインヘルプ( symfony help なんたら)
 信頼できるし直感的だよ。
・新サブフレームワーク
 Forms は新しいクラスになった。
 Formに現れるウィジェットは1.0よりも、色々提供され、多くのhelperを持っている。
 ネイティブで操作の簡単なValidationがFillin,リクエストバインドされます?
 ネイティブでCSRF対応するよ。
 ネイティブでアップロード対応するよ。
 ネストしたValidationやウィジェトにも対応するよ。
 PHPではあなたが見たこともないくらい美しいフレームワークが出てくるよ。

途中まで
0095nobodyさん2008/03/28(金) 12:39:03ID:vIjtk+SR
その他の項目も、色々変わっててそれが列挙されている感じです。
自分なりにまとめさせてもらうと「すげーぜ!使え!」と言う感じです。

UPGRADEに関しては
./symfony の書き換え
./config/ProjectConfiguration.class.php の追加
をやって、
./symfony project:upgrade1.1
やったんだが、
setting.ymlで
all:
.setting:
compat_10: on
がエラーになってしまって進めなかった・・・
0096nobodyさん2008/03/28(金) 12:46:15ID:???
言いだしっぺは>>92じゃねえだろ・・・w
0097912008/03/29(土) 02:54:10ID:???
myCacheFilterを書いて、
executeBeforeRenderingをオーバーライドして
issetチェック追加して解決しました
--
if (isset($this->cache[$uri]['page']) && $this->cache[$uri]['page'])
--
else if (isset($this->cache[$uri]['page']) && $this->cache[$uri]['action'])
--
1.1も出るしこういうパッチ的ハックはしたくなかったのですが
フランチョスがあほだから仕方ないですね
出産してる場合じゃねーぞ( ゚д゚)、ペッ
0098nobodyさん2008/03/29(土) 06:20:22ID:???
ParameterHolderに値を設定しているにも関わらず、
hasしてもfalseになる。
それで気づいたんだが値をnullにしていると、
たとえキーが存在してもissetはfalseを返すんだな。
変数自体の存在を確かめるならempty使わないといけない。
issetの糞仕様に気づかずsymfonyの基底に糞コード埋め込んだSean Kerr反省しろ。
0099nobodyさん2008/03/29(土) 10:01:49ID:mfes1fas
symfonyで画像データを出力するにはどうしたらいいですか?
actionの中で、

$response = $this->getContext()->getResponse();
$response->setContentType('image/gif');
$response->setContent($data); //$data:画像データ

$response->sendHttpHeaders();
$response->sendContent();

return sfView::NONE;

とやっていますが、
$response->sendContent();
の時点で、
PHP Warning: Cannot modify header information - headers already sent
になります。
0100nobodyさん2008/03/29(土) 10:03:38ID:???
ちなみに画像自体は表示されます
ただ、何故このようなメッセージが記録されるのかが分かりません
0101nobodyさん2008/03/29(土) 10:54:30ID:???
return sfView::NONE;
の前にexitすればメッセージが消えました。やりました!| ^o^ |
sfView::NONE;でも何らかのヘッダーあるいはボディーが送信されている…
ということでしょうか。うーむ
0102992008/03/29(土) 11:24:30ID:???
本来出力を任せるべきだったのはsfRenderingFilterで、
その内側に置いていた自作の文字コード変換フィルタが
text/html以外のレスポンスを想定していなかったのが原因でした。やりました!
0103nobodyさん2008/03/29(土) 12:34:25ID:???
1.1の機能とアップグレードについて
http://code.google.com/p/symfony-doc-ja/wiki/Symfony11Beta2
http://code.google.com/p/symfony-doc-ja/wiki/Upgrade_from_1_0_to_1_1

symfony project blog の公開翌日にはアップされてたよ。
こまめにチェックするといいかも。
0104nobodyさん2008/03/29(土) 12:45:10ID:???
以下のsfRequestにあるメソッドは廃止され、sf_compat_10がfalseに設定されていたならsfConfigurationExceptionの例外を投げます。

* ->getError()
* ->getErrors()
* ->getErrorNames()
* ->hasError()
* ->hasErrors()
* ->setError()
* ->setErrors()
* ->removeError()
!?
結構でかい変更だけど今までのプロジェクトこれで動くの?
0105nobodyさん2008/03/29(土) 14:50:09ID:???
cache.ymlのlifetimeってサーバ側のみの設定と思いきや
ブラウザにもその値を送るのな
client_lifetimeを別に設定したらブラウザキャッシュ頃せるけど。
普通サーバ側でキャッシュしてるなら
ブラウザキャッシュはむしろ邪魔じゃね?コントローラビリティー的に。
0106nobodyさん2008/03/30(日) 06:32:37ID:???
現状1.0で特に問題ないから
稼働中のシステムを1.1にする積極的な理由はないよね
っていうか、FWのバージョンアップにあわせてシステム書き換えるのって
本末転倒な気がする・・・
0107nobodyさん2008/03/30(日) 08:36:15ID:???

そのサイトが放置でなかったら
意味あるよ。

0108nobodyさん2008/03/30(日) 08:54:51ID:???
商売乙
0109nobodyさん2008/03/30(日) 16:31:57ID:5myfz3YQ
つまらない質問で恐縮ですが、手をお貸しください。
Alias /sf /usr/local/lib/php/data/symfony/web/sf
チュートリアルに上記の行があるのですが、自分の環境だと /usr/local/lib に php ディレクトリはありません。
/usr/lib/php はあるのですが、そのなかにdataはありません。
最新版のチュートリアルを落としてきたので、古いという事では無いと思いますが、
これは現状無いディレクトリを新たに作って、エイリアスを張れという事なのでしょうか。

環境はCentOS5 で php, pear のインストールは yum から行い、 symfony のインストールは pear から行いました。

以上です。よろしく御願いします。
0110nobodyさん2008/03/30(日) 16:41:54ID:???
pearがインストールされてる場所が違うんじゃない
# find / -name symfony
でsymfonyがどこにインストールされているか調べてみては?
0111nobodyさん2008/03/30(日) 16:43:34ID:???
>>109
$ pear config-show
でPEAR data directoryを確認するべし
そのdataディレクトリにある symfony/web/sf にaliasを張ればOKと思う
0112nobodyさん2008/03/30(日) 16:47:00ID:???
>>110
見つかりました。ありがとうございます。
0113nobodyさん2008/03/30(日) 16:51:22ID:???
>>111
そういう探し方を教えていただけたのは大変ありがたいです。
ありがとうございました。
0114nobodyさん2008/04/02(水) 10:27:50ID:Dc54B1X4
1.0.13が出たぞ。
詰まらんバグ修正のみ。
0115nobodyさん2008/04/02(水) 18:54:33ID:???
既に1.0にしてる場合はsymfonyのアップグレートだけでok?
symfony upgrade 1.0としてみても何も変化なかった
0116nobodyさん2008/04/02(水) 21:38:58ID:vRpL56C/
DBに接続できなかったらメンテナンス中ページを表示したいと思います
sfDatabaseExceptionが投げられるので、
それをどこかでcatchしたらいいのではと思うのですか
そういう処理はどこに書けばいいですか?
0117nobodyさん2008/04/02(水) 23:17:38ID:???
filter使ったら出来ました
0118nobodyさん2008/04/03(木) 13:07:28ID:???
ログのpurge処理を知りたくて"purge"でsymfonyライブラリ内検索しても
見つからない
どこでしてんのよ?
0119nobodyさん2008/04/03(木) 13:53:25ID:???
http://www.sooey.com/journal/2007/04/10/641/

sfWebDebugのメモリ使用量はピークでなく終了時だったのか
意味ないじゃん!
0120nobodyさん2008/04/03(木) 14:55:21ID:???
peak時の値出すようにしたら平気で500kbくらい上乗せされた
やべぇ
0121nobodyさん2008/04/04(金) 07:51:50ID:???
sfWebDebugそこら中でハードコーディングされてるな
guessworkの中の人がなんで
ラップせずにsfWebDebugを直接書き換えてるんだろうと思ったら
そういうことか・・
0122nobodyさん2008/04/04(金) 10:36:20ID:???
標準クラスと同名のクラスをアプリのlibとかに置いておいたら
それが使われるんだな
クリーンに拡張できない場合はファイル配置で上書きする方がいいね
0123nobodyさん2008/04/04(金) 17:53:44ID:???
frontend_dev隠しのための標準的な方法って
提供されてないですか?
0124nobodyさん2008/04/04(金) 19:38:55ID:???

frontend_hoge_devとかにしろよ!

0125nobodyさん2008/04/04(金) 19:56:14ID:???
google様に拾われたらowariじゃん
0126nobodyさん2008/04/04(金) 22:17:35ID:???
IPアドレスで動的にdebug=trueにしろよ
0127nobodyさん2008/04/04(金) 22:26:33ID:???

>>126

どういうこと?
0128nobodyさん2008/04/04(金) 23:09:00ID:???
web/index.phpの上部を

if( $_SERVER['REMOTE_ADDR'] == '(自分のIPアドレス)')
{
define('SF_ENVIRONMENT', 'dev');
define('SF_DEBUG', true);
}
else
{
define('SF_ENVIRONMENT', 'prod');
define('SF_DEBUG', false);
}

こんなかんじで。
frontend_dev.phpは消す。
あとはDEBUGの有無で挙動変化ないことを祈るのみ。
0129nobodyさん2008/04/05(土) 03:11:01ID:???
ipチェックをコントローラの基底クラスに組み込んでる
フィルタでやってもよかったかも
0130nobodyさん2008/04/05(土) 16:57:30ID:???
ログの切れ目が分かりにくいです
レスポンスの最後に
----------------------------
みたいなわかりやすいログメッセージを入れたいのですが
どうすればいいですか?
0131nobodyさん2008/04/05(土) 17:58:27ID:???
echo '---------------------------- '. "\n";
0132nobodyさん2008/04/05(土) 19:08:44ID:???
表示したいのではなくログに出したいのです
0133nobodyさん2008/04/06(日) 09:21:48ID:???
actionないで。$this->setLog(****, ****)
0134nobodyさん2008/04/06(日) 09:46:37ID:???
すべての処理の最後にしたいんです
0135nobodyさん2008/04/06(日) 10:22:51ID:???
ログ吐くだけのフィルタを作って登録したらいいんじゃないの
0136nobodyさん2008/04/06(日) 18:08:33ID:???

>>135

具体的に!
0137nobodyさん2008/04/06(日) 18:15:38ID:???
>>136
僕の質問なので勝手に質問しないで下さい
0138nobodyさん2008/04/07(月) 15:06:59ID:???
>>137

だれ?
0139nobodyさん2008/04/07(月) 16:10:47ID:???
>>138
オレオレ、オレだよ
0140nobodyさん2008/04/12(土) 18:53:01ID:???
このフレームワーク、テンプレート名にいちいちSuccessとかつくのなんで?
わかりづらいので削りたいんだけど、設定変更できる?
0141nobodyさん2008/04/12(土) 19:47:30ID:???

削除してください。
0142nobodyさん2008/04/12(土) 20:26:42ID:???
むしろ分かりやすいだろ
View名が末尾に付いてるんだよ
テンプレート名だけで、どんな性格のページなのか推測できる
分かったかパンツカピカピ野郎
0143nobodyさん2008/04/13(日) 23:22:29ID:???
>>142
最近、パンツはドロドロしてるわ〜w
0144nobodyさん2008/04/21(月) 15:09:17ID:???
DBの文字コードをUTF-8 で開発して、
携帯のみSJISではき出したい場合どうするの?
0145nobodyさん2008/04/21(月) 17:48:06ID:???
変換する以外ないだろ
0146nobodyさん2008/04/21(月) 19:28:03ID:???
フィルターって出力時に使えるんだっけ?
0147nobodyさん2008/04/21(月) 19:51:03ID:???
つかえるよん
0148nobodyさん2008/04/28(月) 03:59:26ID:???
ポストフィルタをisFirstCall(){}の中に入れてたら実行されないんだな(#゚Д゚)プンスカ
0149nobodyさん2008/05/01(木) 03:54:41ID:nVRRbGB6
symfonyのヘルパで
docomoの?guid=onって付けにくくね?
スマートなURLにしてるから勝手にスマートにされちゃうじゃん
どうしたらええの
0150nobodyさん2008/05/01(木) 13:19:23ID:???
1.1はいつだ〜?
次1.0で行くか1.1で行くか迷うわ
0151nobodyさん2008/05/02(金) 23:16:32ID:???
一週間いじってみたがこんな致命的バグの潜んだFWは使う気になれん
0152nobodyさん2008/05/03(土) 00:13:11ID:???
いるいるこういうやつw
0153nobodyさん2008/05/03(土) 18:38:53ID:???
symfonyってセッションの初期化
$_SESSION = null;
$_SESSION = array();
ってやってるけど
別にnull代入しなくてよくね?
なんでこうなってるか知ってる人いる?
0154nobodyさん2008/05/03(土) 22:08:35ID:???
>>151
1.1いじったんじゃない?
まだ駄目だよ。

1.0でもう一週間どうぞ。
0155nobodyさん2008/05/03(土) 22:45:24ID:???
>>153
前にもこの質問あった気がするな。
たしか明示的に開放するためだけど、現行のPHPならnull代入はなくてもOKで、
「歴史的な経緯」みたいなかんじだったような・・・
0156nobodyさん2008/05/03(土) 23:33:05ID:???
>>151
http://pc11.2ch.net/test/read.cgi/php/1177683436/276
276 名前:nobodyさん[sage] 投稿日:2008/04/30(水) 12:41:32 ID:???
一週間いじってみたがこんな致命的バグの潜んだFWは使う気になれん

http://pc11.2ch.net/test/read.cgi/php/1205475360/765
765 名前:nobodyさん[sage] 投稿日:2008/04/29(火) 00:30:20 ID:???
一週間いじってみたがこんな致命的バグの潜んだFWは使う気になれん

http://pc11.2ch.net/test/read.cgi/php/1186096518/161
161 名前:nobodyさん[sage] 投稿日:2008/05/03(土) 10:18:16 ID:???
一週間いじってみたがこんな致命的バグの潜んだFWは使う気になれん

>>154
釣られちゃ駄目ぇええwww
0157nobodyさん2008/05/03(土) 23:36:43ID:???
1.1のフォーム周りはなかなか面白いな
資料が少なすぎて困ったけど。
ttp://www.thatsquality.com/section-name/symfony
他にも1.1の解説あったらよろしく。
0158nobodyさん2008/05/06(火) 21:20:01ID:???
Think ITの5月特集はPHPで、
月曜日の特集はsymfony1.1を使った記事になるらしい。
0159nobodyさん2008/05/07(水) 13:30:47ID:???
1.0系打ち止めじゃなかったのかyo
0160nobodyさん2008/05/08(木) 08:25:32ID:???
1.1RC1でました。
0161nobodyさん2008/05/10(土) 12:37:23ID:???
>>157
サンクス、1.1でform helperがuse_helper()しないと使えないのはバグだと思ってた。

しかしこれ、正直なところ使いづらいよな。
なんか昔々のHTML_QuickFormに似てる。

jsやcssをデザイナがいじる今のご時勢じゃ、オーバーヘッドが大きいだろうし、
設定はyamlで統一されてるのに、validationだけオブジェクトベースというのも違和感があるし。

1.0までのやり方もこの先ずっと使えるようにして欲しいけど、
http://trac.symfony-project.com/wiki/Symfony11Helpers
ここを見るとdeprecatedと書いてあるな。





別のFWを物色するか・・・。
0162nobodyさん2008/05/10(土) 12:53:00ID:???
>>161
設定ひとつでいままでのもそのまま使えるYO
01631612008/05/10(土) 16:54:50ID:???
>>162
お、ほんとに?
use_helper()しなくてもいける?
0164nobodyさん2008/05/12(月) 09:09:43ID:???
>サンクス、1.1でform helperがuse_helper()しないと使えないのはバグだと思ってた。
俺もそうだと思ってた。
でもuse_helper()使わないといけないならなんでsettings.ymlに
# # Helpers included in all templates by default
# standard_helpers: [Partial, Cache, Form]
って書いてあるんだろう?誰かわかる?
0165nobodyさん2008/05/12(月) 12:22:32ID:???
俺も1.1使ったら form helper がデフォルトで使えなかった…
デフォルトには書いてあるからバグか?
0166nobodyさん2008/05/12(月) 12:34:41ID:???
yahoo!answerはviewキャッシュ使ってないのか
01671622008/05/12(月) 14:26:35ID:???
http://www.thinkit.co.jp/article/71/1/3.html
ここにやり方が書いてあった。
0168nobodyさん2008/05/12(月) 23:02:45ID:???
 実用でTCPDF使ってる人いますか?
 sfTCPDFPluginとTCPDFとIPAの日本語ttfフォントで動くには動いたんだけど…。
大丈夫かね?
 なんせちょとでも挙動が不安定だと、ユーザにすんごい怒られるんで。はぁ…。
 やっぱPDFlibかなぁ…。
0169nobodyさん2008/05/14(水) 13:10:32ID:???
レイアウトを動的に変更したいのだが、
setLayoutってアクションの中しか使えないの?
0170nobodyさん2008/05/14(水) 14:38:59ID:???
>>169
できなくはないけどアクションの中以外でどこで変更したい?フィルタ?
01711692008/05/14(水) 14:42:57ID:???
自分で調べてみてフィルタで出来た。

でもフィルタの動作自体がよく理解できないなぁ・・・
実行の順番とか。
■ このスレッドは過去ログ倉庫に格納されています