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

どうぞ つ
0033nobodyさん2008/02/29(金) 01:30:43ID:???
シンポニーわろた
0034nobodyさん2008/02/29(金) 09:07:20ID:???
>>32
「symfony 日本語」で一番上に出てくるんですけど・・・。
公式って意味では、ないのかも。

>>33
そ、それも「フォ」って読むのは知ってる?
0035nobodyさん2008/02/29(金) 11:14:43ID:???
>34
フランス語でもphoはフォ?
0036nobodyさん2008/02/29(金) 11:17:03ID:???
symphonyが元でidentifyするためにsymfonyなんだろうな
0037nobodyさん2008/02/29(金) 22:57:58ID:???
最も前途有望だったsymfonyがcakePHPに負けた
何故だ!
0038nobodyさん2008/03/01(土) 00:45:59ID:???
PHP4を切り捨てたから。
0039nobodyさん2008/03/01(土) 02:04:08ID:???
php関係のブログを書いてる人たちほとんどがCakeを使い始めたから
0040nobodyさん2008/03/01(土) 02:12:20ID:???
>>1
言語による意思の疎通ができなかった朝鮮人のために日本人が作ってやった言葉だからね
日本人にとっては易しいけど日本語圏外の人々にとっての難易度は日本語と大差ないよ
まあ当然といえば当然なんだけどね
0041nobodyさん2008/03/01(土) 05:23:36ID:???
俺はフランチョスの発想好きだよ
propelとかphingは正直どうかなとおもうけどそれでもcakeよりはずっと洗練されてる
0042nobodyさん2008/03/02(日) 13:22:34ID:???
symfony の入門書読んでいて思ったが
インストールがPEARを前提にしているのも
普及しない点の一つだろうな。

共有サーバーでPEARが入っているところなんてないだろう。
当然んshellもなし。

手動(ファイルコピーのみ)で入れられればいいんだが。
0043nobodyさん2008/03/02(日) 14:19:42ID:???
>>42
pearはローカルでも使えるんじゃないの?
俺はいつもAdminでやってるから試した事ないけど。
http://pear.php.net/manual/ja/installation.shared.php
0044nobodyさん2008/03/02(日) 21:44:19ID:Bfz65PoO
pearインストール「も」できるってだけじゃん。
ローカルで開発してsymfony freezeしてアップすればいい。
0045nobodyさん2008/03/03(月) 09:34:44ID:???
symfony って名前がいいね。    使ったことはないけどね。

簡単な、cake と ちいたん と ci でいいや。
0046nobodyさん2008/03/03(月) 15:16:35ID:???
>>45
ciってなにかと思った。
CodeIgniterのことか。
0047nobodyさん2008/03/03(月) 15:27:08ID:???
俺はcimpoのことかと思った
0048322008/03/03(月) 23:26:36ID:???
>>33
あースペルが違ったのか。作ってる奴がフランス人なのか。
0049nobodyさん2008/03/04(火) 16:47:54ID:???
CIは命名規則ぐちゃぐちゃで終わってるからなぁ…
あれは簡単どころか無駄が多すぎるわ
0050nobodyさん2008/03/07(金) 11:28:40ID:???
>>42
本買う以前に公式のドキュメントも読まんのか?
PEARでもsubversionでもアーカイブでもお好きな方法をどうぞとかいてあるぞ。

>>48
ご明察。
綴りが英語ならsymphony、フランス語ならsymfony。

ちなみに俺が知っている限りでは日本語マニュアルはない。
翻訳途中の読み辛いのなら以下。
ttp://symfony.xrea.jp/
0051nobodyさん2008/03/08(土) 00:32:09ID:???
空気読まずにすまん。

マニュアルは「ない」、って言って紹介するとか、翻訳する人の労力に対するリスペクトがまるでないことに素でカチンときたんだが。
読みづらいのはホントだが、それは補足的に言うことであって何もやってねー奴が上から目線でいう事じゃねえよな。

ついでに言っとくが、おやぢ組のマニュアル知らないとかどんだけモグリだよ。
http://develop.ddo.jp/symfony/book/jp/1.0/

すまんカッとなって書いた。後悔はしていない。
0052nobodyさん2008/03/08(土) 01:44:10ID:???
スレの初めに貼ってあるのにな
まあカリカリするなよ
0053nobodyさん2008/03/09(日) 16:17:33ID:???
プラグインの日本語訳してくれてる人っていないかな…。
オレもチョコチョコ翻訳サイト使って翻訳やってるんだけどね。
誰も手付けてないなら、本格的にやろうかなぁ。
0054nobodyさん2008/03/10(月) 04:30:14ID:???
俺もフランチョスのブログを今一生懸命訳してます
0055nobodyさん2008/03/11(火) 09:35:44ID:???
プラグインのマニュアル自体しっかりしてないよね。

0056nobodyさん2008/03/12(水) 04:17:24ID:???
>>53
たとえばこんな?
http://code.google.com/p/symfony-doc-ja/wiki/sfGuardPlugin
0057nobodyさん2008/03/19(水) 08:27:45ID:???
syckはえー
なんで今まで馬鹿でのろまな亀みたいなspycなんか使ってたんだろう・・
0058nobodyさん2008/03/19(水) 08:47:12ID:???
質問なんですが
validate.ymlを設定した場合にPOSTされたときは
基本的にvalidate.ymlでチェックして、
ある特定のページからPOSTでページ遷移してきた場合は
チェックしないようにymlで記述することって出来ますか?
やっぱりactionでvalidate書くしかないんですかね?
0059nobodyさん2008/03/19(水) 10:44:48ID:???
pluginがなんだか変だなーと思っていたら、古いバージョンがインストールされるようになっていた。
http://www.symfony-project.org/blog/2008/03/18/upgrade-your-plugins
もう直っているので、最近インストールした人は直しておきましょう。
0060nobodyさん2008/03/19(水) 22:22:21ID:???
表示するユーザ数+1のクエリが発行されるからアクセス数の多い中規模〜大規模なサービスでは使えない。
この辺言及する人が少ないのはsymfonyユーザのレベルが低いからだろうか。
0061nobodyさん2008/03/19(水) 22:29:52ID:???
???
そんなのお前のさじ加減次第じゃん
0062nobodyさん2008/03/19(水) 23:06:43ID:???
Cakeスレからのコピペです。
0063nobodyさん2008/03/19(水) 23:50:50ID:???

ボトルネックはORMだよな。
0064nobodyさん2008/03/20(木) 03:16:48ID:???
実際、中〜大規模で使ってるしな。
0065nobodyさん2008/03/20(木) 06:03:15ID:???
syckって不安定じゃね?
なんか何も表示されなくなって(エラーログもなし)
一つずつエクステンション外していって
syck外したら直った
一応動作はしていたんだが…
0066nobodyさん2008/03/20(木) 06:30:27ID:???
0.6から1.0へのバージョンアップ作業してるけど結構変わってるな〜
知らんクラスだらけでショボンヌ
0067nobodyさん2008/03/20(木) 08:25:46ID:???
内部コードUTF-8固定だったファッキンハードコートが直ってるな
0068nobodyさん2008/03/20(木) 09:18:37ID:???
sfFileCacheのバグ直ってねーな
while ($file = readdir($dh))
だとディレクトリエントリが"0"だった時にループ抜けちゃうのに
0069nobodyさん2008/03/21(金) 02:57:06ID:???
sfFilterにisFirstCall()メソッドあるけど
フィルタが複数回呼ばれるのってどういうケース?
0070nobodyさん2008/03/21(金) 04:43:34ID:???
forward() した時とか?
0071nobodyさん2008/03/21(金) 06:30:25ID:ZPCxprEF
forwardって普通Actionの中で実行されるよね
つまり、executionFilterの中で。
ということは、複数回実行される可能性があるのは、
プリフィルタ($filterChain->execute()の前に書かれた処理)だけってことかな?
ポストフィルタでもisFirstCall()のチェックしなくちゃ
いけないんだろうか?
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:???
表示したいのではなくログに出したいのです
■ このスレッドは過去ログ倉庫に格納されています