スレ番がないよ
乙
乙
6 :
nobodyさん :2008/01/25(金) 17:12:02 ID:+k7LvvR1
ZFよりずっといい
画像だけを返すaction書く場合も 糞重たいフロントコントローラを経由しないといけないのがファッキン
mod_rewriteにルール追加してそのファイルだけベタで書けばいいじゃない
9 :
nobodyさん :2008/01/25(金) 19:21:11 ID:bLswP8P9
staticな画像やページなら、sfSuperCacheで解決するはず
12 :
(・∀・) :2008/01/26(土) 13:06:28 ID:???
飛べ!Symfony Java、そしてRuby on Railsを超えろ!!!
13 :
nobodyさん :2008/01/27(日) 21:12:38 ID:AVzkGtr2
googleの方のフィードには出てこなくなったのにな
"symfony"でアダルト関係のフィードばっか流れてくる件 エロ業界で大活躍か・・・
16 :
nobodyさん :2008/02/11(月) 23:07:47 ID:al48mtAB
まずエロからだろ
エロならまだましだが、禿げまでがsymfony使うのがなぁ… 手嶋屋に汚されないことを願う
18 :
nobodyさん :2008/02/15(金) 12:36:34 ID:8523bvdk
なんで過疎ってるんだろう?
ヒント:symfony時代は終わって今はCodeIgniterの時代
>>10 つーことは 1.1 でようやく PDO で接続するってことか。
で。1.1 はいつ出るの?
いま一生懸命つくってます。 from フランチョス
22 :
nobodyさん :2008/02/21(木) 19:39:42 ID:HGoxrwI+
はよせんかい!
symfony1.1はpropel 1.2でいきます。1.0ではpropelをコアに入れてたんだけど、 1.1でpropelをplugin化したんだわ。 だから、1.1でpropel 1.3をpluginで入れてもらってもいいっすよ。 でも1.0でPDO使いたかったら、sfPDODatabaseでも使ってくれよ。 from フランチョス
おまいら、漏れに子供ができたので、寄付をお願いします。 from フランチョス
>>23 それってどこに書いてあったの?
>>24 寄付がたった400ユーロだったらしいね
\6万ちょっとか 出産祝いなら十分だろ
symfonyへの寄付じゃなく フランチョスへの出産祝いだぞ?
フランチョスっておんな?
17歳の美少女だよ
31 :
nobodyさん :2008/02/28(木) 18:06:36 ID:Lb04kTfU
美少女(´Д`)ハァハァ フランチョスの話ばっかりだな。
symphony使ってみたいんだが、日本語マニュアルあるのか?
シンポニーわろた
>>32 「symfony 日本語」で一番上に出てくるんですけど・・・。
公式って意味では、ないのかも。
>>33 そ、それも「フォ」って読むのは知ってる?
>34 フランス語でもphoはフォ?
symphonyが元でidentifyするためにsymfonyなんだろうな
最も前途有望だったsymfonyがcakePHPに負けた 何故だ!
PHP4を切り捨てたから。
php関係のブログを書いてる人たちほとんどがCakeを使い始めたから
>>1 言語による意思の疎通ができなかった朝鮮人のために日本人が作ってやった言葉だからね
日本人にとっては易しいけど日本語圏外の人々にとっての難易度は日本語と大差ないよ
まあ当然といえば当然なんだけどね
俺はフランチョスの発想好きだよ propelとかphingは正直どうかなとおもうけどそれでもcakeよりはずっと洗練されてる
symfony の入門書読んでいて思ったが インストールがPEARを前提にしているのも 普及しない点の一つだろうな。 共有サーバーでPEARが入っているところなんてないだろう。 当然んshellもなし。 手動(ファイルコピーのみ)で入れられればいいんだが。
44 :
nobodyさん :2008/03/02(日) 21:44:19 ID:Bfz65PoO
pearインストール「も」できるってだけじゃん。 ローカルで開発してsymfony freezeしてアップすればいい。
symfony って名前がいいね。 使ったことはないけどね。 簡単な、cake と ちいたん と ci でいいや。
>>45 ciってなにかと思った。
CodeIgniterのことか。
俺はcimpoのことかと思った
48 :
32 :2008/03/03(月) 23:26:36 ID:???
>>33 あースペルが違ったのか。作ってる奴がフランス人なのか。
CIは命名規則ぐちゃぐちゃで終わってるからなぁ… あれは簡単どころか無駄が多すぎるわ
>>42 本買う以前に公式のドキュメントも読まんのか?
PEARでもsubversionでもアーカイブでもお好きな方法をどうぞとかいてあるぞ。
>>48 ご明察。
綴りが英語ならsymphony、フランス語ならsymfony。
ちなみに俺が知っている限りでは日本語マニュアルはない。
翻訳途中の読み辛いのなら以下。
ttp://symfony.xrea.jp/
空気読まずにすまん。
マニュアルは「ない」、って言って紹介するとか、翻訳する人の労力に対するリスペクトがまるでないことに素でカチンときたんだが。
読みづらいのはホントだが、それは補足的に言うことであって何もやってねー奴が上から目線でいう事じゃねえよな。
ついでに言っとくが、おやぢ組のマニュアル知らないとかどんだけモグリだよ。
http://develop.ddo.jp/symfony/book/jp/1.0/ すまんカッとなって書いた。後悔はしていない。
スレの初めに貼ってあるのにな まあカリカリするなよ
プラグインの日本語訳してくれてる人っていないかな…。 オレもチョコチョコ翻訳サイト使って翻訳やってるんだけどね。 誰も手付けてないなら、本格的にやろうかなぁ。
俺もフランチョスのブログを今一生懸命訳してます
プラグインのマニュアル自体しっかりしてないよね。
syckはえー なんで今まで馬鹿でのろまな亀みたいなspycなんか使ってたんだろう・・
質問なんですが validate.ymlを設定した場合にPOSTされたときは 基本的にvalidate.ymlでチェックして、 ある特定のページからPOSTでページ遷移してきた場合は チェックしないようにymlで記述することって出来ますか? やっぱりactionでvalidate書くしかないんですかね?
表示するユーザ数+1のクエリが発行されるからアクセス数の多い中規模〜大規模なサービスでは使えない。 この辺言及する人が少ないのはsymfonyユーザのレベルが低いからだろうか。
??? そんなのお前のさじ加減次第じゃん
Cakeスレからのコピペです。
ボトルネックはORMだよな。
実際、中〜大規模で使ってるしな。
syckって不安定じゃね? なんか何も表示されなくなって(エラーログもなし) 一つずつエクステンション外していって syck外したら直った 一応動作はしていたんだが…
0.6から1.0へのバージョンアップ作業してるけど結構変わってるな〜 知らんクラスだらけでショボンヌ
内部コードUTF-8固定だったファッキンハードコートが直ってるな
sfFileCacheのバグ直ってねーな while ($file = readdir($dh)) だとディレクトリエントリが"0"だった時にループ抜けちゃうのに
sfFilterにisFirstCall()メソッドあるけど フィルタが複数回呼ばれるのってどういうケース?
forward() した時とか?
71 :
nobodyさん :2008/03/21(金) 06:30:25 ID:ZPCxprEF
forwardって普通Actionの中で実行されるよね つまり、executionFilterの中で。 ということは、複数回実行される可能性があるのは、 プリフィルタ($filterChain->execute()の前に書かれた処理)だけってことかな? ポストフィルタでもisFirstCall()のチェックしなくちゃ いけないんだろうか?
$sf_last_module勝手になくしたフランチョスのあほ
確かめてないけどvalidateのときもなんかおかしい順番だった気がする。preActionだっけかな。
>>71 「普通」の意味がよくわからんけど
forward()するとFilterからやり直すでしょ?
forward() は sfController に「次に実行するアクション」を登録する機能であって
ExecutionFilter に対してのものではないわけだし
1.0 のコードしか見てないのでバージョン違ったら知らんけど
forward() = sfController に次に実行するアクションを登録する機能 になったの? 例外を使った内部リダイレクトみたいな機能だった記憶があるが forwardした時点で、その後の処理はすっとばされてたような
おまいら symfony 1.0.12 キターーーーーーーーーーーーーーーーー! 最終だぞ!
春が来たー って「ついに」じゃねーの?
なんでバージョンアップが嬉しいの? 対応させるのが面倒くさいじゃん
管理画面google様にキャッシュされてるところ結構多くてワラタ st_timeoutとかでググったらまるみえだお
sfViewCacheManagerのcleanメソッドなんで消えたん? 一括削除する時どうしたらいいの?
symfony1.1 はまだ?
相変わらずキャッシュまわりのコードひどいな〜 同じnamespaceという引数でも arrayの場合とstringの場合がある 同じ変数名を違う文脈で使うなよ・・・
Symfony 1.1 Beta 2 released キターーーーーーーーーーーーーーーーー!
対応めんどくせーーー
1.0と1.1何が違うの?
symfonyのforkでtymponyってfw作ったらお前ら使う?
中身がよければtymponyでもmanconyでもyucorinでもなんでもいいよ
sfFileCacheのgetFileNameメソッドで返ってくるパスの中に、 //が混じってる。 しかも何故かエラーにならない。 そこで発見したんだが、 linuxのファイルパスの中に/が連続していくつあっても(//////とかでも) 一つの/として解釈されんのな。 これ常識?
うん
嘘だっ
91 :
nobodyさん :2008/03/28(金) 05:38:53 ID:E0RevjUb
データ再登録時など あらかじめ値が入ったフォームを表示させる時に、 RequestParameterに値を入れてviewに渡してるんだけど、 このやり方だとキャッシュの部分でnoticeが出る。 どうするのがいいの?
92 :
nobodyさん :2008/03/28(金) 11:05:15 ID:vIjtk+SR
>>85 ブログよめよ。
詳細な1.0から1.1への移行についてはUPGRADE に書いてある。
>>92 言いだしっぺの法則。
お前が読んでここにまとめて書け
94 :
nobodyさん :2008/03/28(金) 12:29:02 ID:vIjtk+SR
>>93 1.1向けAPIはもう変わらないよ。
来週はテストとデバッグだ。
・新CLIユーティリティ
完全に書き直した(バイバイpake)
今は新規のサブフレームワーク上で動いている。
順番が関係なくなった。
ビルトインヘルプ( symfony help なんたら)
信頼できるし直感的だよ。
・新サブフレームワーク
Forms は新しいクラスになった。
Formに現れるウィジェットは1.0よりも、色々提供され、多くのhelperを持っている。
ネイティブで操作の簡単なValidationがFillin,リクエストバインドされます?
ネイティブでCSRF対応するよ。
ネイティブでアップロード対応するよ。
ネストしたValidationやウィジェトにも対応するよ。
PHPではあなたが見たこともないくらい美しいフレームワークが出てくるよ。
:
途中まで
95 :
nobodyさん :2008/03/28(金) 12:39:03 ID:vIjtk+SR
その他の項目も、色々変わっててそれが列挙されている感じです。 自分なりにまとめさせてもらうと「すげーぜ!使え!」と言う感じです。 UPGRADEに関しては ./symfony の書き換え ./config/ProjectConfiguration.class.php の追加 をやって、 ./symfony project:upgrade1.1 やったんだが、 setting.ymlで all: .setting: compat_10: on がエラーになってしまって進めなかった・・・
97 :
91 :2008/03/29(土) 02:54:10 ID:???
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も出るしこういうパッチ的ハックはしたくなかったのですが フランチョスがあほだから仕方ないですね 出産してる場合じゃねーぞ( ゚д゚)、ペッ
ParameterHolderに値を設定しているにも関わらず、 hasしてもfalseになる。 それで気づいたんだが値をnullにしていると、 たとえキーが存在してもissetはfalseを返すんだな。 変数自体の存在を確かめるならempty使わないといけない。 issetの糞仕様に気づかずsymfonyの基底に糞コード埋め込んだSean Kerr反省しろ。
99 :
nobodyさん :2008/03/29(土) 10:01:49 ID: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 になります。
ちなみに画像自体は表示されます ただ、何故このようなメッセージが記録されるのかが分かりません
return sfView::NONE; の前にexitすればメッセージが消えました。やりました!| ^o^ | sfView::NONE;でも何らかのヘッダーあるいはボディーが送信されている… ということでしょうか。うーむ
102 :
99 :2008/03/29(土) 11:24:30 ID:???
本来出力を任せるべきだったのはsfRenderingFilterで、 その内側に置いていた自作の文字コード変換フィルタが text/html以外のレスポンスを想定していなかったのが原因でした。やりました!
以下のsfRequestにあるメソッドは廃止され、sf_compat_10がfalseに設定されていたならsfConfigurationExceptionの例外を投げます。 * ->getError() * ->getErrors() * ->getErrorNames() * ->hasError() * ->hasErrors() * ->setError() * ->setErrors() * ->removeError() !? 結構でかい変更だけど今までのプロジェクトこれで動くの?
cache.ymlのlifetimeってサーバ側のみの設定と思いきや ブラウザにもその値を送るのな client_lifetimeを別に設定したらブラウザキャッシュ頃せるけど。 普通サーバ側でキャッシュしてるなら ブラウザキャッシュはむしろ邪魔じゃね?コントローラビリティー的に。
現状1.0で特に問題ないから 稼働中のシステムを1.1にする積極的な理由はないよね っていうか、FWのバージョンアップにあわせてシステム書き換えるのって 本末転倒な気がする・・・
そのサイトが放置でなかったら 意味あるよ。
商売乙
109 :
nobodyさん :2008/03/30(日) 16:31:57 ID: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 から行いました。 以上です。よろしく御願いします。
pearがインストールされてる場所が違うんじゃない # find / -name symfony でsymfonyがどこにインストールされているか調べてみては?
>>109 $ pear config-show
でPEAR data directoryを確認するべし
そのdataディレクトリにある symfony/web/sf にaliasを張ればOKと思う
>>110 見つかりました。ありがとうございます。
>>111 そういう探し方を教えていただけたのは大変ありがたいです。
ありがとうございました。
114 :
nobodyさん :2008/04/02(水) 10:27:50 ID:Dc54B1X4
1.0.13が出たぞ。 詰まらんバグ修正のみ。
既に1.0にしてる場合はsymfonyのアップグレートだけでok? symfony upgrade 1.0としてみても何も変化なかった
116 :
nobodyさん :2008/04/02(水) 21:38:58 ID:vRpL56C/
DBに接続できなかったらメンテナンス中ページを表示したいと思います sfDatabaseExceptionが投げられるので、 それをどこかでcatchしたらいいのではと思うのですか そういう処理はどこに書けばいいですか?
filter使ったら出来ました
ログのpurge処理を知りたくて"purge"でsymfonyライブラリ内検索しても 見つからない どこでしてんのよ?
peak時の値出すようにしたら平気で500kbくらい上乗せされた やべぇ
sfWebDebugそこら中でハードコーディングされてるな guessworkの中の人がなんで ラップせずにsfWebDebugを直接書き換えてるんだろうと思ったら そういうことか・・
標準クラスと同名のクラスをアプリのlibとかに置いておいたら それが使われるんだな クリーンに拡張できない場合はファイル配置で上書きする方がいいね
frontend_dev隠しのための標準的な方法って 提供されてないですか?
frontend_hoge_devとかにしろよ!
google様に拾われたらowariじゃん
IPアドレスで動的にdebug=trueにしろよ
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の有無で挙動変化ないことを祈るのみ。
ipチェックをコントローラの基底クラスに組み込んでる フィルタでやってもよかったかも
ログの切れ目が分かりにくいです レスポンスの最後に ---------------------------- みたいなわかりやすいログメッセージを入れたいのですが どうすればいいですか?
echo '---------------------------- '. "\n";
表示したいのではなくログに出したいのです
actionないで。$this->setLog(****, ****)
すべての処理の最後にしたいんです
ログ吐くだけのフィルタを作って登録したらいいんじゃないの
>>136 僕の質問なので勝手に質問しないで下さい
このフレームワーク、テンプレート名にいちいちSuccessとかつくのなんで? わかりづらいので削りたいんだけど、設定変更できる?
削除してください。
むしろ分かりやすいだろ View名が末尾に付いてるんだよ テンプレート名だけで、どんな性格のページなのか推測できる 分かったかパンツカピカピ野郎
DBの文字コードをUTF-8 で開発して、 携帯のみSJISではき出したい場合どうするの?
変換する以外ないだろ
フィルターって出力時に使えるんだっけ?
つかえるよん
ポストフィルタをisFirstCall(){}の中に入れてたら実行されないんだな(#゚Д゚)プンスカ
149 :
nobodyさん :2008/05/01(木) 03:54:41 ID:nVRRbGB6
symfonyのヘルパで docomoの?guid=onって付けにくくね? スマートなURLにしてるから勝手にスマートにされちゃうじゃん どうしたらええの
1.1はいつだ〜? 次1.0で行くか1.1で行くか迷うわ
一週間いじってみたがこんな致命的バグの潜んだFWは使う気になれん
いるいるこういうやつw
symfonyってセッションの初期化 $_SESSION = null; $_SESSION = array(); ってやってるけど 別にnull代入しなくてよくね? なんでこうなってるか知ってる人いる?
>>151 1.1いじったんじゃない?
まだ駄目だよ。
1.0でもう一週間どうぞ。
>>153 前にもこの質問あった気がするな。
たしか明示的に開放するためだけど、現行のPHPならnull代入はなくてもOKで、
「歴史的な経緯」みたいなかんじだったような・・・
Think ITの5月特集はPHPで、 月曜日の特集はsymfony1.1を使った記事になるらしい。
1.0系打ち止めじゃなかったのかyo
1.1RC1でました。
>>157 サンクス、1.1でform helperがuse_helper()しないと使えないのはバグだと思ってた。
しかしこれ、正直なところ使いづらいよな。
なんか昔々のHTML_QuickFormに似てる。
jsやcssをデザイナがいじる今のご時勢じゃ、オーバーヘッドが大きいだろうし、
設定はyamlで統一されてるのに、validationだけオブジェクトベースというのも違和感があるし。
1.0までのやり方もこの先ずっと使えるようにして欲しいけど、
http://trac.symfony-project.com/wiki/Symfony11Helpers ここを見るとdeprecatedと書いてあるな。
別のFWを物色するか・・・。
>>161 設定ひとつでいままでのもそのまま使えるYO
163 :
161 :2008/05/10(土) 16:54:50 ID:???
>>162 お、ほんとに?
use_helper()しなくてもいける?
>サンクス、1.1でform helperがuse_helper()しないと使えないのはバグだと思ってた。 俺もそうだと思ってた。 でもuse_helper()使わないといけないならなんでsettings.ymlに # # Helpers included in all templates by default # standard_helpers: [Partial, Cache, Form] って書いてあるんだろう?誰かわかる?
俺も1.1使ったら form helper がデフォルトで使えなかった… デフォルトには書いてあるからバグか?
yahoo!answerはviewキャッシュ使ってないのか
167 :
162 :2008/05/12(月) 14:26:35 ID:???
実用でTCPDF使ってる人いますか? sfTCPDFPluginとTCPDFとIPAの日本語ttfフォントで動くには動いたんだけど…。 大丈夫かね? なんせちょとでも挙動が不安定だと、ユーザにすんごい怒られるんで。はぁ…。 やっぱPDFlibかなぁ…。
レイアウトを動的に変更したいのだが、 setLayoutってアクションの中しか使えないの?
>>169 できなくはないけどアクションの中以外でどこで変更したい?フィルタ?
171 :
169 :2008/05/14(水) 14:42:57 ID:???
自分で調べてみてフィルタで出来た。 でもフィルタの動作自体がよく理解できないなぁ・・・ 実行の順番とか。
$_POSTと$_GETを一緒くたにして処理してんのか こんな欠陥フレームワークを使う奴の気がしれん
いるいるこういうやつw
1.1のフォームで勝手にfillinが効いてるんだけどやめさせるには どこで設定すればいい?
1.0.16でました。 セキュリティーフィックスです。
ブラウザテストってseleniumideでやった方が楽じゃね? 存在意義あんの?
選択肢は多いほうがいいだろうが
セレニウムだと最初のレッドが作れない
レッドってなに?
かっこつけてパーシャルとか言ってるけど 生PHPを単にincludeするのと全く同じだよね? もったいつけすぎww
わざわざパーシャルと言うくらいだからキャッシュ周辺で何かやってんでは? 今ソースも見れない環境なのでなんとも言えないが。
で、これはおまえらの給料アップに貢献してくれるのか? 因みにSmarty(笑)は結果的におまえらの給料を最大で半減させたよなw 一歩引いて、冷静に、よーく考えて選べよ、馬鹿ども。
183 :
nobodyさん :2008/05/23(金) 19:57:49 ID:XSrnXrCW
RC2きたー!!
Cookieの有効・無効を判断して、無効だったときに警告ページに飛ばしたいんだけど、 どう書くのがsymfony風?
そんな単純な処理にsymfony風も何もないだろ
>187 サンクス
symfonyのファイルキャッシュ、ファイルが増えてくるとある日突然ぶっ壊れてるね 急に書き込めなくなって、ディレクトリまるごと削除しようとしても出来なくなる 以前も同じことがあって、その時はC2Dが出る前の熱暴走しやすいサーバだったので それが原因だと思ってたんだが、またなった。 fsckで修復してからやっても変わらず。 大量のキャッシュをファイルシステムで管理するのは無理ある予感。
>>189 symfonyの問題と言うよりOSの限界。
特に同じファイルに大量のファイルがあると問題が起きる。
万単位になったら、要注意だと思う。
>>189 OS(というか使用しているファイルシステム)は何だったんでしょうか?
>>190 確かに普通にPHPのファイル関数で読み書きしてるだけだから
symfony固有ということはありえないね
>>191 OSはFC6
ファイルシステムはext3です
ほかのファイルシステムなら大丈夫かな。 ZFSとか。
cronで毎日symfony ccすることにしたよ
195 :
nobodyさん :2008/06/22(日) 17:43:18 ID:+qDf8Vsb
動的なタイトルを設定するときが何かしっくりこなくない? 基本はview.yml でテンプレート毎に設定するけど、 動的に設定するときはアクションで設定?
>>195 1.1 だとその辺が変更になってるみたいね
中の人もこれはおかしいって思ってたんだろうね
シンポニーて読むの知ってた?
シンポニーてのは もともとフランス語で交響曲て意味なんだよ だからsymfonyて単語は無いんだよ 作者が当て字のようにつくっただけで ほんとはチンポニーと言うんだよ
200 :
nobodyさん :2008/06/26(木) 13:10:13 ID:g+nGdcio
造語のが検索しやすいしね
201 :
nobodyさん :2008/06/26(木) 18:14:47 ID:Ib0rEj6C
各モジュールやアプリケーションにまたがって 使われるクラスを作りたいんだけど、 そういうファイルってどのディレクトリに入れるのが適切?
202 :
nobodyさん :2008/06/26(木) 20:10:08 ID:Pvojb66n
>>201 一番上の方の lib とかに入れとけばautoloadされなかったっけ?
曖昧なかんじですまん。
203 :
nobodyさん :2008/06/26(木) 21:06:37 ID:Ib0rEj6C
>>202 プロジェクト下だったりアプリケーション下だったりモジュール下の
libに入れれば各々のところでautoloadされるみたいですね。
ありがとうございます!
settings.yml の .settings: timeout: 180 って何の設定?
セッションが180年継続されることです。
祝 1.1
キタコレ。
208 :
nobodyさん :2008/06/30(月) 22:14:01 ID:p53V2UEr
Symfony(で使ってるpropel)って、SQLiteの時にsqlite.soを要求するってことはSQLite2? SQLiteで作ったファイルを使ってpropel-build-schemaさせようとして半日悩んでしまったが、一行目にハタと気がついてしまった。 自分バカっす……。
209 :
208 :2008/06/30(月) 22:14:47 ID:???
っと、脱字。「SQLite3で作ったファイル」ね。
210 :
nobodyさん :2008/07/01(火) 16:31:40 ID:qqn3liZn
example.com/hoge?a=b を routing.ymlで example.com/hoge/a_b という風にすることってできないですかね? やるとしたら.htaccessいじるしかないのでしょうか
>>210 mod_rewriteで変換するのが楽そうやね。
aとbの組み合わせが限られていて少なければ全部書いていけばrouting.ymlでもできるだろうけど。
>210 yamlに直接PHPを書けるよ。
213 :
210 :2008/07/02(水) 15:35:36 ID:rbMFbkRb
>>211 やっぱそっちのほうが楽ですよね
でも、見るファイルがrouting.ymlと.htaccessに散らばるのが嫌なんですよねえ
>>212 ためしに
/:module/a_<?php sfContext::getInstance()->getRequest()->getParameter('a') ?>
っていう感じでやってみたんですが、
Fatal error: Unsupported operand types in C:\PHP\PEAR\symfony\util\Spyc.class.php on line 667
と出てしまいます。
まだsymfonyのことよくわかってないので、
色々試してみます。
ありがとうございました!
routingにパラメータ取得持ってくるとか… なんてかわいそうな人
215 :
210 :2008/07/02(水) 18:46:03 ID:rbMFbkRb
ほかに取得するものが浮かばなかったので・・・
ていうかRouting拡張すりゃいいんじゃん
symfony_data_dir/config/config_handlers.ymlをプロジェクト/configにコピって持ってくる config/routing.yml class: CustomRoutingConfigHandler で、好きにカスタマイズしなよ
218 :
nobodyさん :2008/07/04(金) 22:35:50 ID:6INfqE2e
219 :
nobodyさん :2008/07/04(金) 23:01:37 ID:6INfqE2e
む、と言うかレンタルサーバーのSSHが落ちてるかもしれんです。
ssh落ちるとか怖すぎ
なんでsymfonyってこんなに落ちぶれてんの?
>>221 2日も釣られる人が居なくてあまりにもかわいそうだから、釣られてあげるよ
二日も話題無いなら十分落ちぶれてると思うけどな
話題がないんじゃない! ネットに情報があふれかえっているから、 こんなところで話す必要がないのだ!
二日レスがないくらいで落ちぶれてるなら、この世に落ちぶれてないWebアプリフレームワークは 存在しないな。 毎日2ちゃんねるへ来てしまう重度の人でなければ、なかなかそういう発想はできない。
226 :
212 :2008/07/12(土) 16:05:19 ID:???
symfony1,1試してみているんだけど、 あいかわらず外人の作るフレームワークは確認画面を考慮してないな。 HTMLQuickFormで例えると$form->freeze()的な処理はどうやったらできるんだろう。 これを解決しないと日本じゃつまずくと思う。
>>227 もう既に何度も話題に上がって解決された話題を、今更穿り返すな。
>>228 少なくともこのスレと前スレを読み返した範囲では、
どこを探しても1.1のフォームフレームワークで確認画面をどう実現するか、
という話題は見当たらないんだが。
前スレ934はフォームヘルパ使っているからcompat_10モードだよな?
「解決された」と言い切れるほど自信があるならポインタくらい示せよ。
誘い受けですね、わかります。
231 :
nobodyさん :2008/07/14(月) 11:32:13 ID:x4hcg1ov
確認画面なぞ、確認画面Success.php作るってだけの話だろ? HTMLQuickFormを使いたいってんならその画面でHTMLQuickFormを使えばいいだけだと思うんだが・・・ 何が不満なんだい?
>>229 なんでこのスレなんか見てるの?その前にまず公式のドキュメント見ればわかるだろ…
あんなにでかでか書いてあるのにポインタ示せとか、盲目すぎ
ゴミクズども口から糞垂れる前に胸に手を当ててバリデーションをしろ
>>227 今ざっとコードを見てみたんだが freeze() にあたる処理を入れる余地はないなこれ
あるタイプの Widget はそれ本来のタイプの HTML 出力をする機能しかないわけだから
sfForm(を extends したユーザフォームクラス)のレベルで
入力画面用の Widget と確認画面用の Widget を切り替えるような仕組みを作る必要があるのかな……?
いま公式ドキュメント読みつつ脱線して fabien が sfForm の MVC 適合を解説してるブログとか読んでるところだけど
手間を省くためにも
>>232 がでかでか書いてある箇所の URL を挙げてくれるとありがたい
1.1版The Definitive Guide to symfonyの読み込みが足りてないのは素直に認めるとして、
>>231 がsfForm使ってないのに適当に答えてるらしいことはよくわかった。
236 :
nobodyさん :2008/07/14(月) 13:21:01 ID:Bo+zcAFi
FWって初めて使ったんだが、覚えることが多いな 慣れれば便利そうなんだが 他のFWもこんな感じ?
>
>>231 がsfForm使ってないのに適当に答えてるらしいことはよくわかった。
それ今のお前まんまじゃんw
もっとよく読め。
>>234 Thank You Pageにあたる部分にsetFlashを使ったアクションを一枚噛ませれば良い。
そして最後にgetFlashして登録
>>238 setFlashじゃリロードされた時に消えないか?
240 :
nobodyさん :2008/07/14(月) 15:43:56 ID:x4hcg1ov
>>235 もし、HTMLQuickFormを念頭に置いて文句を言ってるんだとしたら、たぶん、こういう事でないかな?
「HTMLQuickFormとsymfonyではパラダイム自体が違う。」
確か、HTMLQuickFormだと
if (なんたら) {
formの処理
} else {
formのフリーズ
}
フォームの出力
という感じのコードになったと思うが、symfonyだと、そもそも分岐自体をFWが受け持ってしまっている。
ので、ワカランと言ってるのではないか?と思う。
>>236 他のFWも覚える事は多いだろうと思う。
というか、FWは、FWだけ覚えればOKっていうもんじゃなくて、あくまでPHP+FWだからな。
PHPがまともに使える(それこそFW使わんでも同じだけの機能を作れる)ような人が、楽できるように出来てるもんなんだ。
今までPHPを勉強してなくてFWから勉強する・・・は、止めた方がいいだろうな。
(もし、そういうつもりで言ったのでなかったとしたらスマン。)
現場でんなこと言ってられる分けないだろワナビー死ねよかし
いつ現場って出てきたんだよ(;´Д`) 現場の話なら現場の話って最初から言え、っつーか、後だしで条件出してくるんじゃねぇよ。
>>239 リロードされて消えるからいいんじゃん。
消えたら登録せずにエラー出せばよい。
リロードでの連投許可するってなら別だけどね。
ぎゃくにquickformだとhiddenだからバリデーション2回走らせたり効率悪すぎるだろ?
確認画面でリロったら入力値が消えるってどんなクソ仕様だよwww
流れぶった切って質問 symfony1.1 + compat10 動的に個数が変わる data[0][aaa] data[0][bbb] data[1][aaa] data[1][bbb] data[2][aaa] data[2][bbb] のような、3次元配列のバリデーションはどうやればいい? validateXXX()メソッドでゴリゴリやるしかない?
>>244 お前ばかか?誰が確認画面で消えるなんて言った?
sfFormってsymfonyのオリジナル? escapingOutputもパクリ元のRailsにないし symfonyもまぁまぁがんばってるね
別のスレで違ってたのに今気づいたので こっちで質問させてください。 symfony1.1をちょっと触ってみようと思いテストしたのですが、 %PEAR_DIR%\phing\Phing.php 内の printVersion() は、 static なのに %PEAR_DIR%\symfony\plugins\sfPropelPlugin\lib\task\sfPhing.class.php では、上記 phing/Phing を継承しているにもかかわらず printVersion() をただの function として定義しているため symfony propel:build-model などで Cannot make static method Phing::printVersion() とエラーが出ます。 sfPhing.class.php 内の printVersion() を static にすれば解決はするんですけど、 正しくは、どうすればよいのでしょうか?他の方はエラー出てませんか? ちょっと気持ち悪いので、どなたか教えてください。 Phingのバージョンは最新だと思っています。 @version $Revision: 1.51 $
250 :
249 :2008/07/16(水) 09:13:54 ID:???
他スレでアドバイス頂いて解決したので一応書いておきます。 通常の pear とsymfony にバンドル版とでソースが違ったようです。 pear のものを uninstall したら動くようになりました。
symfonyで使うのにPropelじゃないO/Rマッパでよさげなのがあるという噂を聞いたのだが、心当たりある人いるかい?
s2だお
Timpopelopeloのこと?
>>251 doctrine じゃなかったっけ?
使ってる人いたら報告希望
>>247 sfFormを使わずにやりたいからCompat10プラグインなんだ。
Doctrine使ってるよ。 クラス定数を書かなくていいので楽だよ。 でも、使おうと思ったらどんなORMでも使えるよね。
俺もTimpocorine使ってる
258 :
nobodyさん :2008/07/17(木) 01:53:41 ID:r8Tb5l59
FWを覚えるのて長く使えないから、無駄だよな C++,C#覚えてた方が無駄じゃないよな
259 :
nobodyさん :2008/07/17(木) 09:27:50 ID:r8Tb5l59
おまいらがsymfonyを習得できた頃には また新しい超人気のFWが登場するだろうw 短期で習得しないと回収できないよ、この業界はね
C++というか、Cを勉強しておくのは役に立つぞ。 symfonyを勉強しておくのもCを勉強おくのと同じくらい役に立つが とりあえずCを勉強しておけ。
PHP C++ C# C そして、いよいよsymfonyの出番だ! おかしくね?
262 :
nobodyさん :2008/07/17(木) 19:13:50 ID:6/yjc+oz
逆だよ、逆。 Cってのはどっちかというと、コンピュータ(ハード側)に則した言語なんだ。 考え方が異質だけと単純。 それに対して、PHPとかsymfonyになってくると人間側の「もっと簡単に、省ける事は空気読んで省けいて書けた方がいいよね」になってくるんだよ。 その為、見た目は簡単だけど、複雑になってる訳。 単純な方から複雑な方へ勉強していった方が理解が早い・・・はずだと思うんだ。
C++なんか覚えるなよ… あんな欠陥言語は早いとこ絶滅させないと
Cなんてとうの昔に忘れました
>>263 なぜ、そう考えるのかは分かるんだが・・・
もし、C++を理解しながら、ありゃダメだって思ってるんなら、一度boost::spiritとかいじってみるといいかもよ?
言語というより、パズルとして楽しめるw
テンプレートが出てきたところからC++はカオス化してしまったな。 auto_ptrとその仲間の機能をすべて答えなさい。 とかやったら輪ロスすぎるww
PHPなら仕事ないな。C++ならまだ仕事はある。
sfWidgetFormSelectRadioなんですが、 選択項目をタグ単位では取り出せない仕様なんですか? ラジオボタンによくある ◎個人 苗字[ ]名前[ ] ◎法人 法人名[ ] 担当者名[ ] みたいなものを実装したいのです。 個人/法人区分じたいもDBに保存したいので、 フォームクラスとは別に生成するわけにも行きませんし…… 横並びと縦並びになる場合は自作のformatter()関数を作って対処したのですが、 これもデフォルトではulタグ前提になっていて、なんか不便ですよね。
269 :
age :2008/07/28(月) 21:14:47 ID:L1kOSCp5
sfWidgetFormSelectRadioのcheckedと sfWidgetFormSelectのselectedの指定って どうやってやるんですか? ググっても見つからないんで1.1使ってる人教えてください
>>269 アクションクラスで
$this->form->setDefault('name', 'value');
したら自動で入らない?
フォームクラスでsetDefaults([連想配列A])して
アクションクラスでもsetDefaults([連想配列B])していたら、
Bだけが有効になるっていうハマりがあったな。
sfFormの定義を見たら、
setDefault()は$nameと同じ要素だけ上書きしているが、
setDefaults()だとマージしないで配列ごと上書きしていた。
自前でgetDefaults()してからarray_merge()するか、
setDefault()使っとくか。
271 :
age :2008/07/29(火) 17:50:14 ID:???
>>270 できました、ありがとうございます。
もう一つ質問させてください。
1.0での
<?php echo select_tag('hoge', options_for_select(array('a', 'b', 'c'), null, array('include_custom' => '選択してください'))) ?>
みたいな選択する配列ではない文字(ここでは選択してください)
をデフォルトで表示するにはどうやって設定するのですか?
>>271 sfWidgetFormSelectを追いかけてみたけど、
include_customに相当する機能はないね。
array(''=>'選択してください')を連結しとくしかないんじゃ?
273 :
age :2008/07/31(木) 09:43:53 ID:???
>>272 ありがとうございます。
やっぱりできないんですね、仕方ないので言われた通り連結しときました。
FormやMailに関しての参考が少ないのもあるんですけど1.1になって
使い勝手が悪くなったと思うのは俺だけですかね
OOPのデメリットだろうね。 保守性はあがるけど、開発効率はさがる。 とくに一人とか少人数でやってる場合。 一人でやってるなら無理にsfForm使わなくて独自orQuickFormとかを使ったほうが 効率はいいんじゃないかな。
>>274 それもフォームの形式や頻出度合いによる
sfFormってモデルとかならず結びついてんの? テラ糞フォームwww
>>276 何railsと勘違いしてんの?
頭悪いにもほどがあるだろ…
>>275 DBの構造とフォームの内容が一致している場合の
手間の少なさは特筆物だけど、
欄Aに入力があったら欄Bを格納、無しなら欄Cを格納、
のように場合わけの必要があると、
とたんに自作ValidatorSchema作らされたりして難しくなるよな。
汎用性の無い例外的な処理なら、わざわざValidatorSchemaつくらんでも、 Formクラス内に実装しちゃえばいい。 QuickFormなんか使うよりはよっぽど楽。 DBの構造とフォームの内容が一致は大して関係ない。 どちらかというと、フォーム同士の組み合わせが複雑に絡み合うエンタープライズ分野向きだわな。
ActiveRecordとAdminGeneratorとsfForm混同してごっちゃになっちゃったんだねきっと
propel:build-forms=sfFormだと思ってるんだろ
>>279 たしかに理解できてないのかもしらんが、
[×]←チェックボックスA
[ ]←チェックボックスB
「 」←テキストボックスB
[ ]←チェックボックスC
「 」←テキストボックスC
たとえばこんな状況で、
・AがチェックされてなければBやCの状態は問わない
・AがチェックされていたらBまたはCのいずれか一方に少なくともチェックが必要
・BおよびCにチェックが入っている場合のみ、対応するテキストボックスの中身を評価する
こんな記述をしようとしたら、
入力値評価用のバリデータ自作した上で、
ポストバリデータがsfValidatorAndとsfValidatorOrでスパゲッティになるんだが、
漏れが気が付いてないだけで、もっと上手いやり方があるのかい?
>>283 具体的にQuickFormでのコード書いてくれない?
おれsfFormで書くから
285 :
283 :2008/07/31(木) 19:46:41 ID:???
×・BおよびCにチェックが入っている場合のみ、対応するテキストボックスの中身を評価する ○・B and/or Cにチェックが入っている場合のみ、おのおの対応するテキストボックスの中身を評価する
286 :
283 :2008/07/31(木) 19:50:06 ID:???
>>284 >>274 に頼んでくれ。
少なくとも漏れはHTML_QuickFormには戻りたくないよ。
>>286 なるほど。じゃぁどう作ってる?Helper駆使?
>>283 >入力値評価用のバリデータ自作した上で、
要はバリデータスキーマクラスが1個増えるってことだよね?
条件上ごちゃごちゃするのはしょうがないが、バリデータ増やさなくても
isValidやbindオーバーライドしてそこに書いてやれば良くない?
289 :
283 :2008/07/31(木) 20:04:41 ID:???
>>288 sfValidatorSchemaCompareをパクって、
フィールドとオペレータと値を引数に取るバリデータクラスmyValidatorSchemaIfを作って、
$this->validatorSchema->setPostValidator(new sfValidatorAnd(array(
$this->validatorSchema->getPostValidator(), // 親クラスのポストバリデータも動くようにするためにAnd
new sfValidatorSchemaCompare('email', sfValidatorSchemaCompare::EQUAL, 'email_confirm',
array(),array('invalid' => 'メールアドレスが一致しません。')
),
new sfValidatorOr(array(
new sfValidatorAnd(array(
new myValidatorSchemaIf('A', myValidatorSchemaIf::EQUAL, 'on', // チェックされている
array(),array('invalid' => ' ')
),
new sfValidatorOr(array(
new myValidatorSchemaIf('B', myValidatorSchemaIf::NOT_EQUAL, '', // チェックされていない
array(),array('invalid' => ' ')
),
new myValidatorSchemaIf('C', myValidatorSchemaIf::NOT_EQUAL, '', // チェックされていない
array(),array('invalid' => ' ')
),
)),
)),
new myValidatorSchemaIf('A', myValidatorSchemaIf::EQUAL, '', // チェックされていない
array(),
array('invalid' => '少なくとも1つをチェックしてください。')
),
)),
)));
テキストボックスの処理が入ってない状態でこうなっちゃうんだけど。
テキストボックス無い状態なら、こんな感じじゃない? public function isValid() { $r = sfContext::getInstance()->getRequest(); $nf = $this->getWidgetSchema()->getNameFormat(); if($r->getParameter(sprintf($nf, 'A'))) { if(!$r->getParameter(sprintf($nf, 'B')) and !$r->getParameter(sprintf($nf, 'C'))) { $r->setError(sprintf($nf, 'A'), "AがチェックされたらBかCもしくは両方をチェックしてください"); $this->isBound = false; } } return parent::isValid(); }
$r->setErrorのとこは $this->getErrorSchema()->addError( new sfValidatorError( new sfValidatorPass(),"AがチェックされたらBかCもしくは両方をチェックしてください" ) , 'A'); こっちにするべきか
$r->getParameter()のところは$this->getValue()で取れるわ
>>290-292 ありがとうございます。
比べて見たら漏れって馬鹿だなってまるわかりだね。
でも4章までしかないフォームガイドじゃさっぱりわからないことだらけで。
>>293 sfFormのパブリックメソッドを見渡して、どんな動作するか予測したり試してみたりすると良いよ。
ここまでの流れで随分分かりやすく解説されたのに、
言い訳だと思える
>>295 の知能に同情
sfFormって便利なの?
>>297 それは無い。動作検証してるし。
逆にsfValidatorCallbackでやると、$this->getValueで値がとれないから無理。
ちょっとコード晒してみなよ。
300 :
283 :2008/08/01(金) 13:56:08 ID:???
293のフォームとは違うのですが public function isValid() { $result = parent::isValid(); print_r($this->getValue('a')); if($this->getValue('a') == '2') // Aが2かどうか { if($this->getValue('b') === '') { $this->getErrorSchema()->addError( new sfValidatorError(new sfValidatorPass(), "bが空欄です。"),'b'); $this->isBound = false; } } else { if($this->getValue('c') === '' || $this->getValue('d') === '') { $this->getErrorSchema()->addError( new sfValidatorError(new sfValidatorPass(), "cまたはdが空欄です。"),'c'); $this->isBound = false; } if($this->getValue('e') === '' || $this->getValue('f') === '') { $this->getErrorSchema()->addError( new sfValidatorError(new sfValidatorPass(), "eまたはfが空欄です。"),'f'); $this->isBound = false; } } return $result & (0 == count($this->errorSchema)); }
301 :
283 :2008/08/01(金) 13:56:54 ID:???
print_r()している箇所で、 parent::isValid()がtrueの場合でないと、 $this->getValue()の値が取得できていないようです。
302 :
283 :2008/08/01(金) 14:14:21 ID:???
sfForm::bind()を読むと、 $this->validatorSchema->clean()でsfValidatorErrorSchema例外が起きたら $this->values = array()されちゃってますね。 bind()にセッション変数に格納した値を渡すような場合もある以上、 getParameter()を使うのも問題があるので、このやり方は使えないようです。
>>301 ていうか、configureでの設定間違えてる。
ソース全体晒すか、sfFormのソースよく読みなおしてごらん。
304 :
283 :2008/08/01(金) 14:56:54 ID:???
>>303 configure()ですか?
propel:generate-crudしたものに
・widgetの追加
・validatorの追加
・setPostValidator()
・setDefaults()
してるくらいです。
先に上げたポストバリデータ方式だと、
動作自体は期待通り動いているので、
バリデータの記述に問題があるとも考えにくいのですが……
まず290-292のコードは動いたの? >293のフォームとは違うのですが とか勝手にフォーム変えて、動かないコードの一部を晒されて、 他人が理解できると思ってるの?
306 :
283 :2008/08/01(金) 16:00:11 ID:???
>>305 なるべく忠実にやってから上手く動かないので、
他のフォームで試行錯誤していたっていう流れだったのですが、
確かにわかりにくかったとは思います。
しかし挙動は同じです。
public function isValid()
{
print_r($this->getValue('A'));
if($this->getValue('A'))
{
if(!$this->getValue('B') and !$this->getValue('C'))
{
$this->getErrorSchema()->addError(
new sfValidatorError(
new sfValidatorPass(),"AがチェックされたらBかCもしくは両方をチェックしてください"
)
, 'A');
$this->isBound = false;
}
}
return parent::isValid;
}
bind()の時点でバリデーションは終わってるのだから、 isValid()はバリデーション結果を返すだけの役目のはず。 isValid()に書くのはお門違いちゃう?
$this->getValue('A') ('A')が顔に見えるww
ああ…そうだな…
routing.ymlでしこしこしろってことかな
routingいじってもできるだろうけど、 もっと原始的に、 symfony generate:module frontend poge にして DOCUMENT_ROOT/hoge/ 掘ってindex.php置いて相対位置書き換えるんじゃだめなん?
なるほど、そういう手もあるか。 railsだと、generate controller hoge/poge みたいにやると、ちゃんと階層化されたコントローラ(モジュール)ができるんだけど フランチョス的には階層深くするなってことなのかな。 それならそれでフランチョスの意志に従っても良い気がしてきた。
routing.ymlに mobulea: url: /modulea/:param1/* param: { module: modulea, action: index } moduleb: url: /moduleb/:param1/* param: { module: modulea, action: index } と記述すると、modulebのルーティングルールが呼ばれないんだけど、 どうしたらいいんでしょう?moduleaは呼び出されます。 ちなみに、上の二つを消し、以下のように書き換えると そのルールすら呼び出されません。 hogemodule: url: /:module/:param1/* params: { action: index } 使ってるsymfonyのバージョンは1.0.16です。 ルールの呼ばれる、呼ばれないはdevの画面右上のlogs & msgsで確認してます。
315 :
314 :2008/08/04(月) 20:31:46 ID:???
ごめんなさい。できました ただのyamlの記述ミスでした。 吊ってくる
気づいたら symfony-1.1.1 出てるなあ
318 :
nobodyさん :2008/08/10(日) 03:35:56 ID:zn9kEIVJ
1.0系たけど 各Loggerじゃなくて それらに指令を出すトップレベルのsfLogger自体をオーバーライドしたい時は どう書けばいい?
sfLoggingConfigHandlerで $data .= "\n\$logger = sfLogger::getInstance();\n"; とハードコーディングしてた・・ ほんと使えないフランチョスだな
1.1ではsfAggregateLoggerになってるのか そりゃそうだよな 何か変な実装だもん
>>273 compat10を有効にしてフォームウィジェットを使わなければいい
322 :
nobodyさん :2008/08/11(月) 22:25:50 ID:jwJ3rV7r
323 :
322 :2008/08/12(火) 13:06:13 ID:???
>>322 自己解決。settings.ymlのno_script_nameがonになってた。申し訳ない……。
でもこれ、何個アプリケーション作ろうともデフォルトはonなのな。
324 :
nobodyさん :2008/08/13(水) 14:28:50 ID:ccVg322Y
The defenitive Guide to symfony ってマンモス本より役に立つ?
form_remote_tagでは、引数の配列のurlに?〜でパラメータを入れて、 remote_functionでは、引数の配列のwithにパラメータを入れるっていうのが 紛らわしいというか奇妙というか 1.0の話だけど
パラメータをurlエンコードして /module/action/word/%E3%82%A8%E3%83%B3%E3%82%B3%E3%83%BC%E3%83%89 って感じにしたパスをlink_toに渡してリンクを作っていたんだが link_toがエンコード文字部分を勝手に書き換えてたせいで変なバグに悩まされた ('A`)
328 :
nobodyさん :2008/08/15(金) 01:40:17 ID:YW2vuQsP
Internal Server Error画面を独自のものにするには どうしたらいいですか?
マンモスSymfony本を見て、実際に手を動かし始めたところですが、以下の二点で詰まってしまいました。
アドバイスを頂ければ幸いです。
(1)バリデータのエラーメッセージをデフォルトで日本語化することはできないのでしょうか?
(2)メッセージの一部パラメータ化(例:「$a1は$a2文字から$a3文字までの長さで入力してください」)って出来ないのでしょうか?
アクションごとにバリデータのメッセージを設定する方法は検索できました
(
ttp://develop.ddo.jp/symfony/book/jp/1.0/validate_form.htmlの 「名前をつけたバリデーター」以下の方法で、日本語を設定していけばいいんですよね?)
が、これをアクションごとに記述していくのはやはり手間です。他に方法はないのでしょうか?
330 :
nobodyさん :2008/08/16(土) 16:52:57 ID:z7m75dUv
propelで、SQLの確認の仕方おしえてください
dev
332 :
329 :2008/08/17(日) 16:02:07 ID:IR0jQIbG
>>329 自己res。今のSymfony1.1では、
>>329 のやり方って古かったんですね。
今のsfFormなら、少なくとも(2)は出来る事がわかりました。ただし(1)(デフォルトでの日本語化)はまだ方法がわかりません。
まぁ、各バリデータのconfigureだけをオーバーライドしたクラスを作ってしまえばいいのかもしれませんが、なんとなくスマートではない気がしますし、メッセージを管理する場所がバラけてしまうのも少々厄介です。
何か他にいい方法はないでしょうか?
Propel:getConnection()->getLastExecutedQuery(); だったっけ
334 :
nobodyさん :2008/08/18(月) 16:19:58 ID:jvpRje/g
>>332 sfFormを継承して、configureの後にValidatorSchemaを全部ナメてってsetMessageしてやれば何とかなりそうだけど・・・
これってやっぱ車輪の再発明?
335 :
327 :2008/08/18(月) 17:12:57 ID:???
327の自己レス サーバーとローカルの構成を変えていたのが原因で、 違う場所に保存されていました。(^^;
場違いな疑問なんだが、なんで例えが車輪になったんだ。 よくあるものならなんでも良かったってことか?電球とかオナホールとか
この後、「車輪の再発明」の語源スレになります。
338 :
334 :2008/08/18(月) 22:24:47 ID:jvpRje/g
>>334 いちおー出来たっぽいが、誰か見てみる?
Symfonyいじり始めて一週間&実質20行のコードだから、あまり過度な期待はしてもらっても困るけど。
でもこの程度のこと、絶対誰かやってると思うんだけどね。
洋梨のようです
340 :
nobodyさん :2008/08/19(火) 20:41:23 ID:8DZ4PLH3
getメソッドで、 form_tagを使った時の遷移先に ?key=valueじゃなく ルーティングルールを適用させる方法ってある?
341 :
334 :2008/08/19(火) 20:58:45 ID:???
>>339 だね。やっぱこの程度のこと、もう誰かor本家がやってるか。
342 :
nobodyさん :2008/08/20(水) 23:33:43 ID:LuQqZLWt
sfPropelOptimisticLockBehaviorPluginって、誰か使ってるヒトいる? 楽観的ロックって、自分で実装すると結構めんどくさいんだよね。 特に汎用にしようとすると。
343 :
nobodyさん :2008/08/22(金) 11:58:57 ID:Vc/mgEWX
344 :
nobodyさん :2008/08/22(金) 21:23:08 ID:fOZ3YS9P
Cannot redeclare get_callbacks()ってどうすりゃいいんだ? use_helper('javascript')が複数あるとこれになるみたいなんだが、 helperが使われてるか確認する方法ってある?
345 :
344 :2008/08/22(金) 21:30:22 ID:fOZ3YS9P
ごめん、早とちりだった。 use_helper('javascript') と use_helper('Javascript') がごっちゃになってたからエラーになってたみたいだ
>>343 海外のサイトのユーザ登録をいくつかこなしてみればわかる
1.1使ってみた 1.0より洗練されててよいね〜
デフィニシブガイドって1.0ベースでしょ? 1.1とだいぶ違うから買っても使えなそう フランチョステラ詐欺師www
1.1ってdefaultって名前のモジュール作らない方がいいの?
sfForm、作りかけてた俺俺Formにそっくりだ 俺とフランチョステラエスパー
353 :
343 :2008/08/25(月) 11:14:01 ID:???
>>346 ふむ、今まであまり気にしてなかったが、言われてみればあまり見た記憶がないな
>海外サイトのユーザー登録での確認画面
外人ってせっかちなのか、それとも画面以外(ex.メールとか)での確認の方を重視してるのか……
まぁ、これ以上はスレ違いか。
わざわざ静的ページつくらんでもフォームの時確認すりゃいいだけだし
>>355 日付を見ると、その記事は間違いなく1.0を対象にした記事。
1.1だと、「use_helper('form')」って書かないとヘルパーは動かない。
1.1だとヘルパー使わずフォームを使うのがフランチョスのお勧め。
sfCompat10を有効にすれば大丈夫だっけ?>ヘルパー
357 :
356 :2008/08/26(火) 11:04:31 ID:???
おっと、フォームってのはもちろんsfFormのことね。
詳細は
>>3 の一番上のリンクの少し下のほう、「symfony Forms in Action」を参照。
358 :
nobodyさん :2008/08/26(火) 15:28:55 ID:C/n8oxtA
スロークエリのログ上のプライオリティーって CRIT/ERR/WARNINGのどれ? エラーじゃねーし WARNINGだと弱すぎ、CRITだと強すぎな感じで悩む
>>343 リンク先の公式ページで
「何に使うプラグインなんだかワカンネ」
ってコメント付いてるぞwww
2ヶ月くらい前にも確認画面の話題でもめてたよなこのスレ。
もう確認画面なんて無駄なもんつくるのやめようぜチョッパリ
確認画面なんていう文化が育ったのは、 日本語の中で文字コードが乱立した結果、 確認せずにPOSTすると化けに気が付かないからだろうな。 外人はそんな心配要らないのだから。 日本人の(過度な)慎重さも要因かもしれん。
日本人はちょっとでもミスがあるとダメだっていう風習だからな。 アメとかは「ミスがあるのはしょうがない。大事なのははその対応」ってかんじだから。
つーか送信時にアラート出して確認させりゃいいだけだよな。 admin generatorの削除時のやつと同じように。
>>363 Javascript使える環境しか相手に仕事されてない方ですね、わかります。
別にjs使えないならフォームもう一回表示させれば良いだけだよな。 静的ページにする必要はまったく無い
携帯は固体識別でアラートの役割できるし。 しかし未だにjs無しの環境で仕事してるやつ居るんだな… アマゾンの奥地で謎の未開原住民を見た気分だ
動かすのが実際にはIE7でも、 レアケース対応で要求仕様に入ってる事は結構あるんじゃないか?
JS使えない環境に対応するのは、ネスケ4.7に対応するようなもんだな。
jsなしの場合はアクセス不可って処理で無問題
370 :
nobodyさん :2008/08/29(金) 02:54:24 ID:BLGUiryP
コントローラとモデルの中間くらいの、 モジュールをまたがって共通性のある処理ってどこに書く? 一つのモジュール内だけだったら、 actionsに非publicなメソッドを書けばいいけど。 Rubyのmixinがあれば・・・
sfMixinはactionの中から自分にmixinさせることはできなそうだし 共通した祖先クラス書いて継承させるくらいか・・ あんまりキレイな方法じゃないが
actionsのファイル名が全部actions.class.phpなのが ide使ってると分かりにくいな hogeActions.class.phpにしたい
>>372 できるよ。
hogeAction.class.php
Actionと単数形になる。
いつの間にか$_REQUESTが使えるようになってる 前はわざわざクリアしてたような・・
sfRequest::POSTとかもう使わないようになったの? $request->isMethod(sfRequest::POST) とかやっててバグになってた('A`)
モデルはcodeigniterマネして自作して フォームまわりも自作ライブラリ使って、 mvcの骨格だけsymfony使ってる状態になった 骨格のためだけにsymfonyというフルスタックフレームワーク使うのは コストが高い気もするけど symfonyの一番素性がいい部分は、mvcまわりなんだよな
378 :
nobodyさん :2008/09/02(火) 21:17:55 ID:XzTndE53
symfonyってrails真似てるんだっけ? だったら機能を理解するためにrailsに手出そうかと思うんだがどうだろう
railsよりいけてるとこもあるよ actionにexecuteというプリフィックス付けるとことか。 railsは何のプリフィックスも付けないというあり得なさ。
MVC部分だけでもmovajiより洗練されてるでしょ
formクラスってデフォじゃlib/formの下に置くようだけど ここってautoload対象だよね。 formクラスの大半ってmoduleに依存してるから modules/モジュール名/form/の下にformクラスを 置いちゃおうとおもんだけど別にいいかな? modules/モジュール名/ってactionsとtemplates以外のフォルダを作って いいのかどうかもよくわかってないんですが。
url_forやredirectにわたす引数で常にモジュール指定しないといけないのはつらい。 "index" とだけ渡したら今のモジュールのindexアクションを呼ぶようにするには 自前で作るしかないのかな。
あとクエリー文字列に/(URLエンコード済み)を入れると not foundになっちゃうのは仕様なんかな。 hoge/index <-- 存在するアクション hoge/index/q1/123 <-- q1 = 123のクエリーパラメータ付き。OK hoge/index/q1/aaa%2Fbbb <-- q1 = aaa/bbbのクエリーパラメータ付き。NG
ルーティングファイルで定義して@hogeとかで指定すればでできるんじゃないのと勉強中の俺が言ってみる
>>385 は意味が違ったな
ルーティングファイルでルール設定しても省略できない?
モジュールが複数あるとめんどそうだが
モジュール複数あり。 てかrailsだとアクション名だけ指定したらモジュールはカレントなんだよね。 なんでそうなってないんだろう。 アクションで$this->getModuleName()で取れるから 自分でsfActionsに関数追加して対応した。
1.0使ってるんだが、 たまにinput_hidden_tagで、タグが出力されないことがあるんだが、 なんなのこれ?いまいち条件がわからない
391 :
388 :2008/09/11(木) 14:46:59 ID:???
$params = $sf_params->getParameterHolder()->getAll(); foreach($params as $key => $param){ echo input_hidden_tag($key, $param); } こんな感じで書いてて一部の要素が出ないときがあるんだ、 もちろん$paramsにはその要素入ってるからな
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です。 よろしくお願いします。
./symfony propel:build-forms あと、1.0と1.1はだいぶ変わったので気をつけたほうがいいです。
>>393 レスどうもです。
それを流した後に
symfony propel-generate-crud bbs bbsdata bbsData
をやってみたのですが同じエラーになります。
ちなみに
>>393 さんのコマンド流した結果は以下のみです。。
>> propel generating form classes
symfony X PHPの本てなに? そんなタイトルの本あったっけ?
397 :
nobodyさん :2008/09/16(火) 00:40:12 ID:NpaR+YH4
symfony cc した?
>>397 してみました。
ちなみに色々調べて見たのですがどうも
symfony propel-build-allのinsert-sqlでテーブルの作成?に失敗してるくさいです。
propel-generate-crud 以前の問題のようです。すみません。
OSがvistaなので管理者権限でpropel-build-allをやって見たのですがやはりnsert-sqlで失敗します。
設定ファイル再度見直して見ます。。すみません。。
399 :
392 :2008/09/16(火) 01:21:15 ID:???
insert-sqlの失敗の件ですが、PDOが使えなかったのが原因でした。。 で、テーブルの作成にも成功したのですが、 symfony propel-generate-crud bbs bbsdata bbsData で、同様のエラーになります。 symfony propel:build-formsも同様です。。 明日頑張って見て駄目なら1.1.0でやって見ます。 回答頂いた皆さんありがとうございました・・・。
テストや開発なら、Virtual PCでCentOSぢゃね? VMWareに比べて遅いけど面倒が無いし。
もう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
すいません自己解決しました チャンネルを追加してませんでした スマソ
403 :
nobodyさん :2008/09/19(金) 19:52:42 ID:WjV+U7OQ
1.1では、requestのアップロードファイル関係のメソッドが 軒並みcompat10になってるんだけど 1.1ではファイル関係どうしたらいいの?
grepで探してもsfWebRequestの中にしか$_FILESがないんだけど・・ もうファイル関係は自分でやれってこと?
$request->getFiles('contact')
>>403 sfFormにbindすればいいだけだろ。
わからないなら自分でやれ
formでやるようになったのか dd
408 :
nobodyさん :2008/09/20(土) 18:26:49 ID:ZSi/YVuR
創価学会にはストーカーマニュアルがあってうろつきや盗聴方法について細かく指示されている うろつきについては「子供が襲われないように地域の安全のためにパトロールしましょう」だそうだwww 盗聴については「たまたま自分の家が盗聴されてないかどうか調べてたら声が聞こえてきて 子供の安全のためにこれからはこれを利用してみんなで盗聴しましょう」だそうだwww この言い訳使ってたらまず創価学会に間違いないし他の言い訳使ってんなら創価学会じゃない可能性が高い 熊本隆談www
面白そうだから僕も創価学会に入る!
411 :
nobodyさん :2008/09/28(日) 21:06:44 ID:kj5kHv7I
1.1.2来たね>Symfony
1.1.3の間違いだろ?
413 :
411 :2008/09/30(火) 15:28:36 ID:???
414 :
nobodyさん :2008/10/02(木) 01:01:06 ID:C/bhStf9
パーシャルがめんどければ関連マスタをつくればいいじゃない
416 :
nobodyさん :2008/10/02(木) 12:00:19 ID:C/bhStf9
>>415 いやまぁそうなんですが(汗)
さすがに「カラム二つ、レコード2〜3」というテーブルをそのためだけに作るのは躊躇われます(汗
1.1.4もうきた
Symfony徹底入門は出るのかな?
420 :
nobodyさん :2008/10/06(月) 17:11:06 ID:X18KqfOa
javascriptヘルパーに サーバサイドで設定したjavascriptの変数を出力する機能ないの? なめてんの?
自分で書くかと思ったら、 いつの間にかPHPにJSONエンコード/デコード関数追加されてたのか
jsonエンコとか2年ぐらい前からあるだろ
423 :
nobodyさん :2008/10/07(火) 00:09:51 ID:mdBxPQQp
sfPropelUniqueValidator、バグってるね。
どんな時もかならずカラム名を小文字にするから、OracleとかだとgetColumn出来ない。
修飾されてないカラム名を引っ張ってこないといけないから、Peerから簡単に取得することも出来ない。
※いやまぁ、$fieldNamesとtranslateFieldNameあたりをこねくり回せばできるんだろうけど、
毎回やるのは流石に面倒だ(苦笑
ここの過去スレ(グーグルのキャッシュからひっぱった)にあった
ttp://www.net-newbie.com/trans/creole.html のCreole::NO_ASSOC_LOWERあたりの記述を見ると、一筋縄ではいかないのは解るんだけどね…。
sfPropelUniqueValidatorもそんな感じ(こっちはアドミンジェネレーターで使う)だったから、
二つともラッパ書いてコピペでオーバーライドしちまった。
美しくないし、将来のバージョンアップを考えると少々不安でもあるが……どうしたもんだろうか?
英語出来んから本家に報告も出来んが……この程度のバグ、誰か気が付いてるよね?(苦笑
コードだけでも投げれば? 片言でも通じるよ むかし別のオープンソースのバグ見つけたときMLにパッチ投げたら通じたぞ
425 :
423 :2008/10/07(火) 09:38:11 ID:naXPI71M
426 :
nobodyさん :2008/10/07(火) 11:02:54 ID:mdBxPQQp
うーむ、sfValidatorPropelUniqueもそういうつくりになってるらしい……>423 もしかして(モデル生成時に)「カラム名を強制的に小文字にする」とかいうオプションがあるのだろうか? >Oracle使用時
427 :
423 :2008/10/07(火) 11:19:29 ID:???
あ、間違ってた
>>423 sfPropelUniqueValidator→sfValidatorPropelChoiceね
>>426 のとおり、どっちもほぼ同じ理由で動かないんだけど、sfPropelUniqueValidatorにはgetColumnなんてメソッドはない(苦笑
もうOracle使うメリットが無い
質問させてください。 アドミンジェネレータのadmin_double_listが便利なので、 アドミンジェネレータ以外でも使いたいのですが、 可能でしょうか? 可能でしたら、方法を教えてください。
>>429 生成されたキャッシュみれば使い方わかるよ
431 :
429 :2008/10/11(土) 01:25:13 ID:???
>>430 ありがとうございます。
さっそく見てみます。
ちなみに、double_listを生成するヘルパー的なものはないのでしょうか?
>>431 あ、いや、だからキャッシュみれば、
object_admin_double_listってヘルパー関数の使い方がわかるって意味で…
433 :
429 :2008/10/11(土) 04:31:43 ID:???
あ、なるほど; ありがとうございます! 調べてみます!
みなさんはログイン処理作るとき、どうしてますか? 自作してますか?それとも、sfGuardプラグインなどを使ってますか? sfGuardプラグインって、なんとなく使いづらそうな印象があるのですが・・・
438 :
nobodyさん :2008/10/18(土) 22:26:34 ID:q6NYCrNL
symfony ccした時にapacheが生成したキャッシュを更新できないときあるじゃないですか? あれどうやって解消してます? いろいろ方法あると思うけど apacheの実行ユーザーとログインするユーザーを一緒にしてしまう >セキュリティ的に問題が・・・ないかな? とか 書き込みできないファイルを削除 または rootになってchmod 0777 * >めんどくさい とか どんな感じで解消してます?
ディレクトリが777なら削除はできるんでなかったっけ?
>>438 意味がわからん
キャッシュを更新できないってのは削除できないって事?
単にディレクトリが777になってないだけじゃないのか
441 :
438 :2008/10/19(日) 06:02:39 ID:???
>>439 >>440 削除はできますよ。
ではなくて、cacheの中にapache(httpdの実行ユーザー)がオーナーのファイルがあって
symfony ccしたときに上書きできないことがあったんです。で、これを削除すれば、ccは出来るけど
恐らく、apacheが書き込もうとした時に失敗するから、例えばデバックモードで開発をしてる時に
うまくキャッシュを更新できないのではと、思ったわけです。
てか、なんで?
他の人はなったことないの?
普通にみんな遭遇するのかと思ったけど
symfony ccの中でキャッシュを更新する?ってのがよくわからん。ディレクトリ残して全削除されるんじゃねーの?
ccで上書きの意味がわからんのだが ccはキャッシュ削除だろ そもそもキャッシュのオーナーがapacheの実行ユーザーなのは当たり前だと思うが
yamlファイル書き換えた直後にccしたらキャッシュに上書きしようとすることあるよ そのときは一度Apache経由でアクセスしてやればいいと思う
445 :
438 :2008/10/20(月) 19:52:46 ID:K3O7/LLa
皆さんレスサンクス
そうか、ccってクリアした後に、キャッシュ作るもんだと勘違いしてました。
で、
>>444 さんの
>yamlファイル書き換えた直後にccしたらキャッシュに上書きしようとすることあるよ
これに引っかかって、上書きできないことがあったんですね。
しかも、必ず起こるわけじゃないですね。
どういう条件のとき上書きしようとするのかちょっとわからないけど
ありがとうございました。
446 :
445 :2008/10/20(月) 20:18:39 ID: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なので、平気そうに見えます。 どうしてでしょうか? まあ、特に必要ないといえばないのですが、マニュアルと違うっぽいのできになったもので。 お願いします
>>446 1.1ではweb_debugの項目は廃止されてるよ
フロントコントローラで
ProjectConfiguration::getApplicationConfiguration('frontend', 'prod', true);
じゃね
448 :
446 :2008/10/21(火) 12:41:26 ID:V5bf6vPW
>>447 ありがとうございます。
なんか、マニュアルとあわないけど、まあ、447さんのやりかで問題ないので気にしないことにします。
Web Debug Toolbar Activation, in frontend/config/settings.yml
dev:
.settings:
web_debug: on
とはっきり書いてあるんですけどねえ。なんか不具合があって途中で廃止されたとかですかね。
オープンソースなんだから気付いたんならメールすればよい 開発に貢献したまえ
compact10の互換のためだろうが
まあデフォできいてないならマニュアルとしては一言書いておいてほしいとこだな
>>451 書いてあるだろ。
1.0=>1.1の項目に。
>>448 が言ってるのはbookの16章のとこだろ
1.1のマニュアルに書いてないからわからなかったって事じゃねーの
454 :
nobodyさん :2008/10/22(水) 11:49:18 ID:xQzdLTf7
まぁ、あまりお勧めしないとだけ言っておく。 規模次第だけど、結構手間。
>>447 つけたしだけど、廃止されてるのはfilters.ymlでの設定で、web_debugはsetting.ymlでは使えるよ
prod環境でツールバー出すときは、factories.ymlでlogの設定を修正してsetting.ymlでweb_debugをonにしないと駄目だな
458 :
nobodyさん :2008/10/24(金) 16:11:28 ID:ebeBY5Qd
MySqlの varchar(255) binary をpropelで定義するのは無理っぽいですか? symfony propel-build-allした後にalter ~するんでしょうか?
sfFormでinput_date_tagのrich=trueに該当するの無くないか…?
>>459 使いたかったら自分でビューに記述すりゃよくね?
他のところはrenderRowしてさ。
そういうことぢゃなく?
>>460 echo $formで済むものをなんでわざわざそんな無駄踏む必要あるんだよwwwww
普通にwidgetクラスつくればいいだけだろうがw
462 :
460 :2008/10/26(日) 18:22:01 ID:???
>>461 そーゆーモンかね。
まぁ、可能な限りecho $formやrenderRowで済まそうとすればそれもアリか。せっかくsfForm使うんだもんな。
漏れは「ヘルパーあるんだからそれ使えばいいぢゃん」と思うが、これはバラでrenderLabelやrenderErrorしてるからなんだろう。
463 :
460 :2008/10/26(日) 18:27:20 ID:???
念の為追記。 一応、compat_10しなくても、フォームヘルパーもオブジェクトヘルパーも動く。 もちろん、本当に(まったく)同じ動作をするかはしらん。 input_date_tagが動くかどうかも試してないw
idだけを変えるforeachの中でlink_toを繰り返し呼ぶのって気持ち悪いな マッピングって結構コストあるじゃん 単にidをハメるだけでいいベースのURLを取得できればいいんだが
sf_contextみたいな標準でviewで使える変数を他にも定義したいんだが それはsfContextのfilterTemplateParametersで定義してる。 sfContextをオーバーライドするのは色々まずいよね どうすればできる?
url_forでURLだけ作ってIDだけまわすとかできない?
>>465 app.ymlで定義してテンプレート内でsfConfig::getで取得するとか
468 :
nobodyさん :2008/10/27(月) 04:14:08 ID:kNx8sH92
アクセスコントロールについての質問です。 secureをonにしたアクションに権限なしアクセスした時、 モジュールごとに、リダイレクト先アクションを変えたいのですが、 settings.ymlではそういった細かい設定は出来ませんよね? やはり、preExecuteなどで自分でチェックするしかないのでしょうか?
>>464 そういうのは自分で作ってコミットするんです。
>>468 modules/config/settings.yml
に書いたんじゃだめなんでしたっけ?
試してなけど、より細かい範囲?の設定がうわがかれるからいけそうだけど
modules/名前/config/settings.yml 間違えた
473 :
nobodyさん :2008/10/27(月) 11:45:10 ID:x9xrCR0d
コーディング規約にクラス名とそのファイル名に関する記述が見つからないんですけど クラス名は小文字ではじめてラクダ?lowerCamelCaseっていうですか? でファイル名はclassName.class.phpみたくclassを入れるのでしょうか? modelの中に作られるORMのファイルが違うし、 クラス名って大文字ではじめるのが、 ほとんどの言語で規約になってるじゃないですか? 小文字ではじめるって言うのsfだけに限ったことですか? なんか気持ち悪くて・・・
>>471 レスありがとうございます
それも試してみたのですが、無理でした
ただ自分で書いても、わりとアッサリ出来ました
飛び先が一つしか設定できないっていうのは正直不可解な仕様です
みんな不満なくやっているのでしょうか・・
476 :
473 :2008/10/28(火) 14:53:05 ID:???
>>474 レスありがとうございます。
すいません。その章はざっと読み飛ばしてました。
クラス名はUpperCamelCaseで良いみたいですね。
でも
UpperCamelCase is the standard for class and variable naming.
っておかしくないですか?変数の名前?
変数はlowerCamelCaseですよね?
まあ、そんなに気にすることないのかな。
プラグインとか入れてみるとクラス名がlowerCamelCaseになってるの多いけど
あれって、厳密に言えば規約違反ってことですよね?
こんな感じでやっちゃいます。
クラス名:UpperCamelCase
メソッド・プロパティ:lowerCamelCase
ファイル名:ClassName.class.php
うちの会社では、viewはデザインからテンプレートのコーディングまでデザイナーがやるのですが アクションで設定したテンプレートで使える変数の一覧をページで簡単に確認できるようにしようと思ってます。 いろいろ試してみたのですが、テンプレートに渡した変数はActionでしか取得できないっぽいですよね? そんなことないですか? postExecuteで例えばセッションとかResponseにセットして、Filterで表示とか考えたのですが postExecuteを全モジュールに作るのもめんどいし またActionの独自クラスを作ったとしても、モジュール作った後に継承元を変えるのも いまいちな感じなんですよね。 MyUserにsetすればweb_debugツールバーで見れるんですけど、深い階層の配列が見づらいし・・・ テンプレにアサインした変数の一覧表示なんて、ものすごい要望の多そうな機能なので いくらでもありそうだけど、なんか見逃してたりします? また、うまい方法もしくはプラグインなどあったらお願いします。
478 :
447 :2008/10/29(水) 13:12:01 ID:eltEv9kS
あ、sageで書いてましたすいません。 なんがごちゃごちゃ書いてますけど、一言で表現すると アクションでテンプレートに渡した変数の一覧ってfilterで取得できませんか? できれば、アクションを変更しないで、filterのみで実現したいです。 って感じです。 よろしくお願いします
フランチョス喧嘩してんの?
>>477 エクリプスのプラグイン作ってあるんで、100万くらいで売ってあげるよ
>>480 あ、じゃあお願いします
振り込みますので名義と口座番号と暗証番号お願いします。
ところで、フランチョスってなんですか?
>>481 了解です。
引き出しますので名義と口座番号と暗証番号お願いします。
svnの1.2の新しいadmin generatorで $attributes->getRawValue() これをつかってるキャッシュの行でコケるんだけど、 開発途中でバグってるだけだよね
1.2Beta1きましたよ
そろそろ新しい書籍が欲しいところですなぁ。 フォーム周りとかだいぶ変わったし。
actionにrequestだけ渡してくるのってアンバランスな仕様だな userも渡してこいよ
どう考えてもuserよりrequestのが圧倒的に多いだろ。 userまで渡す方がアンバランス
1.1のsfValidatorNumberバグってるな 0入れるとrequiredのエラーが発動しやがる
>>488 普通セッション使わない規模の方がむしろ少ないだろ
ショボグラマー乙
>>490 つか、なんで$this->getUserぢゃいかんの>
それを言うなら$this->getRequest()でもいいじゃんって話になる メソッドの最初から使えると、 どのタイミングで$user = $this->getUser()するかとか、 あれこの時は既に$user存在してるっけ、とかいちいち考えなくていいのがいい
>>490 アホかお前。
頻度のこと言ってるのもわからないの?
だったら動的タイトル設定やPDF用のヘッダ操作だって
使わない規模の方がすくない。
ということで$responseも実装。
なんてパラメータ増やしてたらキリないだろww
ほぼ毎アクション使う$requestに対してsfUserは? って考えればわかるよね。 >あれこの時は既に$user存在してるっけ、とかいちいち考えなくていいのがいい こんなこと考えてる時点でショボグラマー
ログイン状態扱ってたらほぼ毎actionでuser使う 自分の分からないことをまったく想像できないのがショボグラマーの特徴だな 第二引数で渡して使うも使わないも自由にする方がいい こんなことは議論の余地すらねーよ素人
,===,====、 _.||___|_____||_ .. ∧_∧ /||___|^ ∧_∧ .. (・ω・`)//|| |口| |ω・` ) . ./(^(^ .//||...|| |口| |c ) ..... ∧_∧ / // ||...|| |口| ||し ....... (・ω・`) //.... ||...|| |口| || /(^(^ // .... .||...|| |口| || スレは仲良く使ってね "" :::'' |/ |/ '' " ::: ⌒ :: ⌒⌒⌒ :: "" ` :: ,, ::::: ,, ; ̄ ̄ ̄ "、 :::: " ,, , ::: " :: " :::: " . ∧_∧ ===,=(´・ω・`) ||___|_゚し-J゚||_ ∧_∧/ //.___|^∧_∧ (´・ω・`) /|| |口|(´・ω・`) ./(^(^//|| || |口|⊂ _) ∧_∧ /./ || || |口| || ∧_∧ ∧_∧ (´・ω・`)/ ...|| || |口| || (´・ω・`) (´・ω・`) /(^(^/ / .|| || |口| || ゚し-J゚ "" ゚し-J゚:::'' |/ |/ '' " :: ":::::⌒ :: ⌒⌒⌒ :: "" ` :: ,, ::::: ,, " ̄ ̄ "、 :::: " ,, , ::: " :: " :::: ぼくたちは、なかよくつかってるよ
>>492 >それを言うなら$this->getRequest()でもいいじゃんって話になる
まったくそのとおり。
だから実際$requestは省略できる。
よって$userも要らない。
>>495 Responseは?Loggerは?Contextは?
>あれこの時は既に$user存在してるっけ、とかいちいち考えなくていいのがいい
こんなことで考えるのに、どの引数がどのオブジェクトに設定されるのかは
迷わないの?
>>497 釣りか?技術者とは思えない論理展開で言葉もない
中学生もsymfony使ってるんだな
>>495 >ログイン状態扱ってたらほぼ毎actionでuser使う
使わねーよw
本当にSymfonyで開発したことあんのかw
あ、言っとくが、もちろん使うことはあるぞ。確かに良く使うほうではあるわな。
>$this->getUser()
けど、ちゃんとsecurity.ymlやらsetting.ymlやら設定しとけば「毎action」なんてこたぁねーだろ?
もし本当にそういう要求がある(AttributeやFlush使いまくりとか、ユーザー毎にやたらと細かい権限設定がある)んだったら、sfActions継承して新しい基底Actionクラス作ればいいだけ。
よく使う方ならそれで充分じゃないか 実際、mojavi時代にはcontroller,request,userがactionに渡されていた それがsymfonyになり、いったん何も渡されなくなった それが1.1以降また今度はrequestだけ渡されるようになった requestだけを渡すくらいならuserを渡しても、誰も何も損しないだろう requestとuserは両方ともコンテナで類似性が高く、 二つ渡ってくる方がバランス的に気持ちいい シンプルな話じゃないか。 基底actionは書くのが当然だと俺も考えているが、それは別の問題だろう
>>498 釣りっていうのは君が今している内容の無いレスのことを言うんだぜ。
君の言う中学生のほうがまともなレスしてるぞ
>>499 確かにほぼ毎アクション使うってのはちょっと仕様的に破綻してるな。
ユーザIDみたいなのをテーブルに書き込ませたりするなら、
sfGuardPluginみたいにモデルにコンテキストから突っ込んで自動保存させたほうが
コード少なくて済むし。
>>500 Mojaviでも3.0で消えたぜ。3つ渡してたのはPHP4の仕様上の問題で仕方なく。
>requestとuserは両方ともコンテナで類似性が高く
そうでもない。それだったらクッキー操作が入る$responseも入れないと
バランス悪い。
ふーん。センスない奴が多いんだな 最終的には審美的な問題だから、分からない人に何を言っても説得出来ないし、 ああ、君はそうなんですかとしか言えないが。 コンテナの話をしている時に クッキーを担当しているという理由でresponseをあげる時点で決定的にセンスが欠けている。
実際responseとrequestでクッキー行き来してるしな。 片方だけ実装してバランスが良いとか…
まぁ同じパラメータホルダーだから類似してるって気持ちは分からなくも無いけどな。 コンテナなんて間違った言葉の使い方しちゃうから、話がややこしくなる。 自分がマイノリティなのを、周りがセンスないから…と言ってひきこもっちゃった子 の特集こないだNHKで見たわ。気をつけると良い。
>>495 良いこと教えてやるよ。
お前みたいな少数派でも対応できるように、symfonyには
core_compile.ymlって設定ファイルがある。
そこでsfActionsだけハックしたものを使うものが可能。
幸いsfActionsはたいしたことしてないんで、sfUserを突っ込むのも
簡単だろ?
まぁ他人のセンスを疑う前に、勉強しような!
507 :
nobodyさん :2008/11/06(木) 20:49:11 ID:jbsmLZzy
sfGuardPluginが独自のテーブルを作っちゃったりするのが気持ち悪いのと 勉強もかねて、ログイン機能を作ってプラグインにしてみました。 ちょっと疑問に思ったのですが プラグインが独自で使う設定ってどこに書かせるのがいいのでしょうか? 例えば、認証に使うテーブルクラスの名前やカラムの名前などを とりあえずsetting.ymlに書いて読むようにしてあるのですが よく考えたら、ログインの時だけ必要な設定を毎回メモリーに読み込むのは 微妙だと思ったんですよね。 モジュールはプラグインに入っているので、module.ymlに書かせるのは難しいと思うんですよ。 後は独自の設定ファイルを書くようにしてsfYamlクラスで読みにいくとか。 どういう風にするのが一般的・・・というのはおかしいですが、 皆さんどんな感じにしてます?
>>507 sfGuardPluginを使うのが一般的という感じにしてます
509 :
507 :2008/11/06(木) 21:08:03 ID:jbsmLZzy
>>508 すいません。ちょっとわかりづらかったですね。
モジュールを含むようなプラグインで
アプリ全体で必要じゃない設定が必要なとき
設定ってどこに書かせるのがいいのでしょうか?
要約するとこんな感じです。
510 :
507 :2008/11/06(木) 21:15:43 ID:???
あ、そうか moduleを作ればいいのか。 sfGuardAuthモジュールテンプレートをカスタマイズする を読んでて気づいた。 試してみます。
511 :
nobodyさん :2008/11/07(金) 18:36:24 ID:Oe+2PckL
アクションファイルの中のクラスによって、 $bbsdata = BbsdataPeer::retrieveByPk($this->getRequestParameter('id')); $this->bbsdata = BbsdataPeer::retrieveByPk($this->getRequestParameter('id')); と書かれていますが、thisの有無の違いがわかりません。 初歩的な質問ですいませんが、お願いします。
512 :
nobodyさん :2008/11/07(金) 19:57:17 ID:Oe+2PckL
訂正 X アクションファイルの中のクラスによって、 ○ アクションファイルの中のアクション(メソッド)によって、
>>511 テンプレートのなかで
<?php print_r($bbsdata->toArray());?>
ってやってごらん
514 :
nobodyさん :2008/11/08(土) 00:24:41 ID:3C+cxs1C
テーンプレートから参照するためにthisをつけるということでしょうか? そうだとしてもその理由がいまいちわかりません。
>514 Symfonyがそういう風に作られているから。 ・・・ま、確かに少々気味悪くはあるが、これは設計思想の問題だからしゃーない。 どーしても中身を知りたければ、__getと__setでググれ。
>>514 理由?
$this->setVar('bbsdata', Bbsdata.....
って書くのが面倒な人のためのショートカット
517 :
nobodyさん :2008/11/10(月) 19:06:23 ID:95yh0Lxp
moduleの名前にハイフンを入れても、forward時に勝手に取り除くようになってるのですが
これは何故でしょうか?
例えばfoo-barというmoduleにしたいと思って
symfony propel-init-admin app foo-bar FooBar
とやっても
ttp://hoge.hoge.hoge/foobar じゃないとアクセスできないし、ヘルパーなどで作られるURIもfoobarになってしまいます。
複数の単語を含むようなmoduleを作りたいときはアンダーバーじゃないとだめっぽいですね。
たしか厳密にいえば、アンダーバーはURLに含めてはいけなかったと思ったのですが。
sfController::forward()のしょっぱなでいきなり取り除いているので、
たぶん設定ではどうにもならないと思うのですが、どうにかなりますか?
普通にアンダーバーつかってるけど、禁止はホスト名だけじゃない? アマゾンのURLとかみても(パラメータだけど)アンダーバーつかってるし。
519 :
nobodyさん :2008/11/10(月) 19:42:04 ID:95yh0Lxp
>>518 ありがとうございます。
ホスト名でしたっけ?今ちょっと探してみたけど、見つからないし
そういわれてみるとそんな気もします。
まあ、アンダーバーでやりますか・・・
ところで公式にsymfonyで作られてたサイトの一覧見たいのありましたよね?
ためしに、symfonyで作られてたサイトのURLをみて
モジュール名どんな風にしてるのか見ようかと思ったのですが、見つからなくなっちゃいました。
知ってたら教えてください。
520 :
519 :2008/11/10(月) 19:59:53 ID:???
ハイフンの方が気持ち悪い
522 :
nobodyさん :2008/11/13(木) 12:59:14 ID:9D9L1EQK
Peerクラスの名前がわかってて そのテーブルの主キーの名前を取得したいのですが、 なんか良い方法ありますか?
523 :
522 :2008/11/13(木) 14:23:15 ID:???
すいません。見つけました。 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を変えるか、多少重くなっても、ビヘイビアを選択するかですかね。
おとなしくビルダークラス作ってカスタマイズしてろよ
1.1.4を使ってます。 Criteria::CUSTOM を使って外からくる値をSQLに突っ込む時 quoteするメソッドってないんですか? propelが1.3になるとadapterにquoteというメソッドがあるみたいですが 1.2の時はどうするんでしょうか? 別途自前で用意してもいいですけどあるなら使おうかと・・・ カラム名とかをバックスラッシュでquoteするのは見つけましたけどシングルquoteが見つかりません。 お願いします。
526 :
nobodyさん :2008/11/21(金) 18:59:55 ID:teu4KGCR
アクションから取得したデータでCSVファイルを作成し、そのデータをもとに グラフ表示したいのですが、どのような流れでつくるのがいいでしょうか? アクションから取得したデータをもとにどこかにテキストファイルを作って、それを読み込ませるという 流れでやろうと思っているんですが。 開発経験がほとんどないのでお願いします。
527 :
nobodyさん :2008/11/21(金) 23:11:15 ID:MX0rvE3s
symfony 1.0使ってるものです。 validate/action名.ymlの fillinのconvertersに、自作の関数を入れたいんだが 自作の関数をどこに書けばいいの?
1.0.19キター
529 :
525 :2008/11/26(水) 11:50:19 ID:???
突っ込む値が文字列ならシングルクオートのみをクオートすればいいから
addslashes
でいいのか。実際コードたどると使ってるところがありますね。
で、数字だったらキャストしてやると。
Zend_DbのquoteIntoみたいなのあればいいと思ったけど、まあ、なんか作るかな。
>>526 なんか質問が壮大すぎませんか?
もうちょっと的を絞ってお願いします。前レスを見ればわかると思いますが
ここの人たちは怖い人たちが多いので「PHPのぐだらない〜」のほうが向いてるかもしれません。
530 :
test :2008/11/28(金) 02:01:50 ID:???
アクションで取得したデータをそのままテキストファイルに流し込むには どのような処理をすればいいのでしょうか?
JOINしたテーブルのカラムってSELECTで参照できないの?
>>532 例えば、決済トランに会員マスタをJOINしても、会員マスタのデータはSELECTできない。
それはpropelの使い方が悪い
1.2.0きました
なんとか1.1 -> 1.2を完了した。 やっぱりDBがPDOになった(propelが1.3になった)周りの変更がでかかったな。
ドクトリンはどうよ
>>537 kwsk。doSelectRSとか、あの辺?
select直投げとかも使ってるから、結構インパクトあるかも。
まぁ、最低でも三ヶ月は移行しないけどね。1.1.0も結構バグあったし。
しかしSymfonyは結構サイクル短いな。
1.2の標準はドクトリンなんだろ? プロペルなんて使ってる奴は昭和
ドクトリンで WHERE A AND ( B OR C ) みたいなカッコ表記するのってどうやるの?
そのまま $query->where('A AND ( B OR C )')
>>540 ドクトリンは標準ではないんだよ。
どちらもOKといったかんじ。
ドクトリン使うかなー propelとかありえない。プロペラ付けて遙か彼方に飛んでいって欲しい。 で、パフォーマンスはどうなん?>ドク
Doctrineとか駄目だわ。 Propel1.3のがパフォーマンス良いし、コードジェネレートで IDEでの補完効いて楽。 ActiveRecordとか終りすぎ。
生SQL最強でFA
まぁマッパはどっちでも良いが、 プラグインの都合でドクだと少々困る人は困るかもな
みんな1.2やり始めてるん? 関心関心
1.1でやってるなら1.2にしたほうがいいわな 1.1からpropel1.3使ってたから移行楽だった
sfFormで質問なんですが sfValidatorAnd で複数のバリデーション実行する時って 1個でもエラーあったら次の処理終了とかできませんか? あと、エラーメッセージを配列で取得したい時ってgetErrorSchemaで取得するしか方法ないのかな?
いまだにfrontend_devまるだしサイト結構あるなw
frontend backendって名前にすること自体ありえん
553 :
nobodyさん :2008/12/17(水) 18:05:07 ID:MLlBkt3T
symfonyのadmin generator見たいに画面を自動で作っちゃうのを スカフォなんとかとか言いませんでしたっけ? sca〜こんな書き出しだったきもする。 どっかで見た気がするんだけど、思い出せない。 確か緑色の本で見たのかな。 気持ち悪いので知ってたら教えてください
スカッフロード
555 :
553 :2008/12/17(水) 19:30:21 ID:???
>>554 ありがとうございます
さっぱりくっきりしました。
scaffold 足場、足場組み.
っていう意味みたいですね。
どう見てもスカトロです ありがとうございました
frontend_dev丸出しサイトみるとAPC使ってるところないね APCの使用率はどのくらい?
そんな低くないだろ〜 10%くらいはあるんじゃね
jobeetの話題がないな。 もうここに来る奴には用済みか? symfony propel:data-loadで Class '?JobeetJob' not found in /usr/share/pear/symfony/plugins/sfPropelPlugin/lib/addon/sfPropelData.class.php ってでるわ。 一度だけ成功したんだけれど、最初からもう一度やってみようと思ったら、またでるようになった。 なんか抜けてるのかな?
ちゃんとモデルビルドしてあんの?
563 :
561 :2008/12/22(月) 15:54:53 ID:???
>562 php symfony propel:build-modelですよね。 してます。 分からないので最初からもう一度やってみます。。。
symfony ccは?
565 :
561 :2008/12/22(月) 19:40:37 ID:???
>>564 キャッシュクリアもやってます。
1.0以来久々だったので復習がてらやってるんですけど。
以前はあまり悩むことはなかったのですが。
日本語訳サイトと本家を行ったり来たりしてるから、何か間違ってるかも。
明日も休みだし、ゆっくりやるか。
566 :
nobodyさん :2008/12/22(月) 20:26:14 ID: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 :2008/12/23(火) 04:55:42 ID:???
>566 1.2.1です。 >561の自分のレスを見るとクラス名に「?」が入ってるな。。。 設定ファイルの改行コードがくさい気がしてきた…。 明日、再度頑張ってやってみよう。
symfony1.2のpropelってPDO使えないサーバだと駄目?
symfony1.2にはphp5.2以上が必要です。
外注さがすときはphpのほうが見つかりやすいけどな。 一人でシコシコやってるだけなら好きにすればいい。
必ずしも優れているほうが普及するってわけでもない phpがwebアプリケーションのシェアとっちゃったから、急激な逆転はないでしょ
体感的な話で申し訳ないが、RailsはPHP+Cakeなどに比べるとかなり重い。 DBに接続しない、単純なページ表示するのにも、キャッシュが効いていない場合は どうなってんだってくらいRailsは表示に時間がかかる。 じゃあキャッシュ効かせればいいじゃんって話なんだけど、 ちょっとした情報を取ってきて表示が変わるようなページに対しては、 毎回表示が遅くなる、という事に。 DBまわりは、自分はPropel等使ってないから単純な比較は出来ないな。 個人的には、パフォーマンスはPHP、書きやすさはRuby(Rails)な感じ。
574 :
570 :2008/12/27(土) 22:14:46 ID:???
手元で10000回ループして文字列連結を試したけど どうひいき目に見てもPHPのが速かった・・・
railsを速く動かすにはかなりノウハウがいるだろ
>>570 5.1.6とかまた酷いもんを比較対照にしてるなwww
php擁護が多い
symfonyスレだもの
>>577 むしろあの古い比較記事自体、酷いrails擁護だろ
自分で何もしないやつほど吼えるよね
582 :
nobodyさん :2009/01/07(水) 11:59:39 ID:E9TXficj
>>580 エンジニアに英語は必須でしょ。勉強しようよ。
そういう言う俺は公文の中学生英文法を勉強してるへたれだけど。
583 :
nobodyさん :2009/01/08(木) 10:30:11 ID:RWe/YoFS
actionでテーブル名からそのOMクラス名を取得するにはどうすればいいですか?
584 :
583 :2009/01/08(木) 14:04:48 ID:RWe/YoFS
admin generatorをカスタマイズしてたんですけど actionでやらないで、generatorでやってしまいました。 actionだと Propel::getDatabaseMap($connectionName); でDatabaseMapを取得して、どうにかするのかな? 試してないけど。
doctrine試してるんですけど doctrine-build-all-reload すると、データベースを一回ドロップして作りなそうじゃないですか? その時、encodingの値を無視してDEFAULT CHARACTER SET latin1で作っちゃうんですけど 設定でどうにかなりますか? doctrine-build-all-reloadを使わないとか、mysqlの設定をいじってデフォルト値を変えちゃえばどうにかなるとは思うのですが symfony側でどうにかならないかなあ。
586 :
585 :2009/01/12(月) 05:17:13 ID:JXhDeiPx
ああ、専ブラがまたデフォルト下げ設定になってました。 すいません。
587 :
nobodyさん :2009/01/17(土) 00:20:55 ID:LLHZVk4w
schema.ymlでフィールドの選択可能な値一覧を指定する事って出来ますか? MySQLのENUM型みたいなの。 イメージとしてはこんな感じです。 propel: customer: id: ~ sex: [male, female]
ORMで定義するんじゃないの?
589 :
587 :2009/01/18(日) 05:03:02 ID:cj4gRIwu
>>588 ちょっとよく分からなかったので、とりあえず保留・・・
別テーブル作ってmale, femaleの2つのレコードを作って対処しました。
別の質問なんですけど、generator.yml に password, password2 という
2つのフィールドを定義しています。
modules/user/validate/edit.yml というバリデータを用意して2つのフィールド
ともにrequiredにして、sfCompareValidatorで2つのパスワードが一致しているか
チェックしてます。
それ自体はとりあえず動作したのですが、やりたい事はユーザーの新規作成
の時はパスワード入力は必須にして、更新の場合は値の入力は任意で、
値を入力した場合のみ2つが一致するかチェックさせたいです。
ゴリゴリ書けば出来ると思いますが、一番楽な方法ってどんなんですか?
シコシコ書くしかないね。
591 :
587 :2009/01/18(日) 11:59:51 ID:???
>>590 そっかー。残念ですがシコシコやります。
ありがとうございました。
sfForm を誰か簡単に説明してください。 これでフォーム周りがよくなったの?
悪くなった。
595 :
nobodyさん :2009/01/24(土) 21:08:57 ID:BN/V3l3x
blogを作るチュートリアルをやってます。 postとcommentという2つのモジュールがあるやつです。 postのedit画面でcommentの一覧表示をさせてますが、 これと同じ事をadmin generator(? generator.yml を使うやつ)で できませんかね。
>>595 できるよ
まぁできるってだけで、それが効率いいかどうかは微妙
598 :
nobodyさん :2009/01/29(木) 21:43:36 ID:rSa/9joZ
1.0.19の調査中ですが質問させて下さい。 Apacheにて、BASIC認証・SSL・nonSSL の3つのディレクトリで構成したいのですが、 symfonyに適合させるためには、 webディレクトリ下にディレクトリを作成して、 フロントコントローラを移動するのが ベストでしょうか?
599 :
nobodyさん :2009/01/29(木) 21:44:00 ID:rSa/9joZ
あげてもうた、ごめんなさい
>BASIC認証・SSL・nonSSL ここがよくわからん BASIC認証+SSL SSL NonSSL の三本立て? どっちにしろSymfonyとは関係なさげ
>>600 さん
3本立ての3システムです。
これは、1プロジェクトにしたいです。
Apacheは、ディレクトリ単位ででした
設定(.htaccess等)できないので。
symfonyのwebディレクトリも3ついると
思っています。
間違いがありましたらご指摘よろしくお願いします。
なんか勘違いしてる余寒・・・
602 :
601 :2009/01/30(金) 21:47:29 ID:???
×Apacheは、ディレクトリ単位ででした ○Apacheは、ディレクトリ単位でしか
公開フォルダを3つに分ければ簡単に出来る。 でも同一コンテンツでセキュリティーレベルが違うって考えが おかしい気がする。
604 :
601 :2009/01/31(土) 11:44:52 ID:???
>>603 さん
ご返答ありがとうございます。
具体的には、
>>598 のやり方で、
よいという事でしょうか?
同一コンテンツではありません。
事例的には、Amazonnとか
商品サイトと、商品注文サイト、会員サイト
の3つでセキュリティレベル違うのと同じです。
その方法だね。 ただ、action内で識別するロジックを忘れるな。
606 :
nobodyさん :2009/02/03(火) 18:04:37 ID:7F1r2xmv
sfPropelPagerで検索結果のページをページングする時 formから来た?hoge=huga......................といっぱいついてくるクエリーはどうしてます? セッションに保存するのも微妙だし テンプレートで$_SERVER['QUERY_STRING']か取得してごにょごにょするのもどうかなと。 sfPropelPager自体には無さそうですよね? sfPropelPagerを拡張してmodel側で$_SERVER['QUERY_STRING']をどうにかする感じでしょうか?
607 :
606 :2009/02/03(火) 18:40:10 ID:7F1r2xmv
あ、link_toのoptionにquery_stringっていうのがありますね。 この辺をうまく使う感じでしょうか?
Criteriaだめだな。 簡単なクエリなら作れるけどANDとかORが複雑に絡み合ったりするとお手上げ。 なにがしたいのか意味がわからない。
オブジェクト指向で考えろ
610 :
608 :2009/02/04(水) 20:32:27 ID:???
>>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で、みないな事書いてない?
アクションでアサインされた全ての変数を テンプレート内で、取得したいときって $sf_context->getActionStack()->getLastEntry()->getActionInstance()->getVarHolder()->getAll() ってわざわざ書かないとだめ?
>>610 Criteriaがダメなんじゃなくて、そもそもその文抽象化されてないから。
まぁ俺はサブクエリビルドクラス使って対処してるけど。
>>610 上書きされる件はCriterion使えばできない?
615 :
nobodyさん :2009/02/10(火) 10:59:01 ID:HED7VAZr
symfony test:unit で、ファイル名まで指定して単体で実行すると問題ないが、まとめて単体テストを実行するときに255か返ってくる、 とい問題が起きました。どこでエラーになっているかを表示、あるいはログに記録する方法はあるでしょうか?
訳あってsymfony1.0使っているんだけど、 sfValidatorManagerの拡張クラスを作って、 それをValidate実行時に使わせることってできる?
できるよ
ほほー。どこになんて書けばいい?
自分で考えろ
どこに何を書くも糞も無いだろう。必要なクラス持ってきて1.1↑と同じように書くだけ
1.0、1.1、1.2みんなはどれ使ってるの? なぜか1.0のメンテナンス終了が2010年の1月で1.2のメンテナンス終了が2009年の11月なのでどちらで作っていくべきか迷ってるんですが。。。どれが良いと思いますか?
>>621 最近始めたので、1.2使ってる
なので、どれがいいかは分からない
1.2でルーティング周りのクラスが追加されていて、特にsfRouteCollectionを使用すると、より簡潔にrouting.ymlを記述出来るようなので、
これから始めるのなら、1.2の方がいいんじゃないの?
英語サイトの情報見れないなら1.0が無難。 そうでないなら1.2。
PHPが5.1なので1.1使ってる。 同じような人、結構いそうな気がするけど。
あれ、5.1って致命的なバグがあって使わないようにとかアナウンスされてなかったっけ。 どんなバグだったか忘れたけど
cent osが5.1じゃなかったっけ?
そんなもん入れ替えろよ…
PHP5.1を使い続ける必要性があるのか? 単純なパフォーマンスでも5.2系の方が優れてるはず
1.2を使っています。 メール送信を実装しようと思ったのですが、 $mail = new sfMail(); とすると、 Class 'sfMail' not found になってしまいます。 なにか設定が必要なのでしょうか?
631 :
629 :2009/02/15(日) 13:21:32 ID:???
>>630 なるほど。sfMailはなくなったんですね。
ほかの方法を調べてみます。
>>627 ,628
勝手にサーバー環境を変えることが出来ない仕事ってのもあるんですよ。
スレ違いすんません。
アクション内で内部URLから絶対URLを生成するにはどうすればいいの?
634 :
nobodyさん :2009/02/15(日) 14:11:46 ID:LyJslojL
>>626 だね。Redhat/CentOSの5は5.1。
>>628 そりゃま、完全に1から自分でインストールできるんならね。
流石にPHP4はもう使わなくてすむとは思うがw
>>633 smfony 1.2の場合
sfContext::getInstance()->getController()->genUrl($internal_uri, $absolute);
↑url_forの実装
$internal_uriに内部URL
$absoluteは相対パスならfalse、絶対パスならtrueを渡す
いつまでも穴あきの5.1使うような仕事なんてしてちゃだめだろ
仕事を選べない人は大変ですね
638 :
nobodyさん :2009/02/16(月) 13:00:38 ID: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 :2009/02/16(月) 16:25:53 ID:???
>>635 ありがとうございます。
$this->genUrl()
でダメだったのであきらめてました。
でも、なんでこんなに長いんだろう・・・;
欲しいメソッドはmyActionに実装したらいいだけジャン
>>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さん :2009/02/17(火) 20:01:10 ID:K56TvPG0
PropelでEXISTS演算子を使いたい場合、やっぱりCriteria::CUSTOMで直接記述するしかないのかな? まぁ、副問い合わせも使うんだし、当たり前といえば当たり前か。 やってみたことある人いる?
質問です。 DBテーブル定義を修正しようとして、schema.ymlを修正し、 ./symfony propel-build-all を実行すると、 DBテーブルの内容が全部消えてしまいます。 今はダンプファイルを取っておいて、あとで書き戻すことで対応していますが、 何かもっと洗練された方法はないでしょうか?
propel-build-model
645 :
643 :2009/02/18(水) 09:25:54 ID:???
追記です。 propel-load-data というコマンドがあるようです。 しかしこれは、DBにセットするデータをyamlファイルで用意してやらなければ なりません。WEBブラウザなどからDBに入力したデータをyamlファイルに書き出 す方法は無いようなので、yamlファイルを作るのはちょっと手間に感じられます。 これならダンプファイルを取っておいて、それをエディタで修正してロードす るほうが現実的なような...。
すみません、symfony & MySQLで、最後に挿入した行のIDを取得するには、 どうしたらいいですか?
648 :
643 :2009/02/18(水) 21:35:13 ID:???
>>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);
>>646 Propelなら、モデルのsaveメソッドを呼び出した後、単にgetすればOK。
Doctrineは知らんw
symfony1.2ってデバックモードの時WEBデバックツールでSQLって表示される? symfony1.0の時はされたと思うんだけど、1.2からされなくなってるみたいで。 あと、1.2で実行したSQL文そのものって取得できますか?(1.0でのgetLastExecutedQueryのような)
>>652 SQL表示されるよ
symfonyどこにインストールしてるか知らんけど、pearから取ってきたのなら、
javascriptを有効にした上で、
data/symfony/web/sfに対して、仮想ディレクトリ(エイリアス)を作るか、
プロジェクトのwebフォルダにコピーすれば、いけるはず。
また、この情報は、実行したログを解析してるだけだろうから、ログ直接眺めてみたらいいんじゃない?
1.2から使い始めたので、getLastExecutedQueryとか分かんね。
これも、ログ見たらいいんじゃないの?としか言えない
>>652 バージョン古いか、propel.iniの設定か
>>653 >>654 database.ymlのclassnameをprodと同じにしてたのが原因だったみたいです。。
DebugPDOに変えたらSQL表示されました
getLastExecutedQueryはログがどうやってSQL取り出してるか探してみます
Propelってsqlつくるだけってのが出来ないのがウザイな。 絶対実行とセットだから、サブクエリやろうとすると独自拡張に頼らざるを得ない
symfonyの問題じゃないかもだけど、携帯サイトで実行結果をファイルにキャッシュって セッションIDをURLで埋め込むから出来ないよね?
できるよ
>>656 $sql = BasePeer::createSelectSql($criteria, array());
>>659 あのさ、$c->add(ModelPeer::ID , 1);
とかやってごらん
idのとこが?になってるだろ?
?を置換する独自拡張が必要という意味だって思わなかった?
あと、第二引数は参照になってるから、 array()なんてやっちゃ駄目だよ。
勉強になったかな?
symfonyで自作のクラス組み込んだ時とかに、 不具合があっても画面真っ白でエラーも表示されないってことない? レスポンスが情報吐く前にコケてるのか知らないけど この状態になるとすげーデバッグしにくい。 高度にレスポンス管理するのも考えものだよなぁ
>>661 Apacheのエラーログ見たら
PHPレベルのFatalエラー吐かれてない?
dev環境だけ表示される場合もあるし、
/var/log/messagesかも。
>>662 apacheログのこと忘れてた!と思って見たら
exit signal Segmentation faultが大量に・・
調べたらxdebugの設定ミスだった
助かりました。ありがとう!
Cakeからsymfonyに移りたいのですが、 なにから勉強すればいいのかわかりません。 定番のチュートリアルなどあるのでしょうか? いくつか見つけたのですが、バージョンが古いようで・・・ 主にsfFormの使い方とデータの登録・取得、ログイン処理などを覚えたいのですが・・・
666 :
664 :2009/03/14(土) 00:20:34 ID:???
>>665 1.2向けのチュートリアルが始まっていたのですね!
翻訳してくれている方もいるとは・・・
さっそく試してみたいと思います!
668 :
664 :2009/03/14(土) 03:16:17 ID:???
>>667 Cakeは標準でコンポーネントなどが充実していて便利なのですが、
それらのクセが強くて、
ちょっと外れたことをしようとするとえらい面倒で・・・
とくにAuthコンポーネントやSecurityコンポーネントなど。
また、Cakeで作られたサイトは、
だいたい、ちょっと見ただけですぐCakeで作られていると分かります。
それくらいクセが強いです。
うまくいえませんが、こんなかんじです。
質問です。 キャッシュ機能を使って、任意の文字列をキャッシュしたいのですが、 どのようにすればよいのでしょうか? 分かる方がいましたら教えてください!
すみませんが、質問です。 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 :2009/03/14(土) 15:48:40 ID:???
すみません、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番目の引数について
http://gomojp.blog77.fc2.com/blog-entry-54.html 以上です。どなたかアドバイスをお願いします。
672 :
670 :2009/03/14(土) 16:11:20 ID:???
補足です。
symfonyでhierselectができる!の補足(fillin時の手当) | LinuxなWEBデザイナーの覚書き。
http://php-sql-gdgd.jugem.jp/?eid=13 > fillinを受ける側のフォームは、各input_tag等のフォームヘルパー関数の引
> 数2つ目(デフォルト値を入れるところ)をnullにする。
> ※私は最初「''」を指定した状態でフィルインできませんでした。object系
> のフォームヘルパーを使ってDBからデフォルト値を持ってきてる場合はどう
> なるんだろう??今度実験してみよう…
たしかに、hogeSuccess.php を
echo input_tag('hoge', null); // さらに直した行。
と書くと、バリデーションが hogeSuccess.php に差し戻したとき、フォームに
ユーザの入力値が入っていました。fillinが動作したようです。
しかしこれでは、デフォルト値の設定ができなくて困ります。page/hoge では
$hogeの値である"ほげ"がフォームに入っていて、バリデーションが動作したと
きは、ユーザの入力値が表示されてほしいのです。
673 :
670 :2009/03/14(土) 16:30:13 ID:???
すみません、自己解決? したみたいです。 試行錯誤して、 echo input_tag('hoge', null, array('value'=>$hoge)); と書いてみたら、希望していた通り、デフォルト値もユーザ入力値も表示され ました。 しかしこれもかなり冗長なので、ためしに echo input_tag('hoge', $hoge); に戻したところ、今までと違って、問題なく表示されたのです。 なんで?!最初のコードと少しも変わらないのに?! とりあえず動作はするようなので、このまま開発を進めることにします。 お騒がせして申し訳ありませんでした。
質問なんだけど、validation/[アクション名].ymlって、部品化とかして共通化 する方法は無いんだろうか? 二つのアクションがあって、大部分のフィールドは共通なんだけど、片方にだ けいくつか追加フィールドがあるので、バリデーションの設定の大部分が共通 になる。うまくまとめられたらいいと思うんだけど。
675 :
674 :2009/03/16(月) 16:50:44 ID:???
すみません、自己解決? したみたいです。
継承
だからsfFormが生まれたわけで
679 :
nobodyさん :2009/03/20(金) 20:30:44 ID:bZdrj/Cj
sfFormの話が出たので少々便乗。 1.1以降でSymfonyをステートフルにするには、sfFormでCSRF対策フィールドを1リクエストごとにユニークにすればいいんだよね? ソースを嘗めたらそんなに難しくなさそうな気がしたんだけど、何か勘違いしてるかな? いや、「PHPのフレームワークでステートフルなのはPiece Frameworkだけ、なんて文章をちらりと読んだんでね。 もちろん、↑のやり方だと、sfFormで値を持ちまわしているところしかステートフルにならんのは理解してる。 Piece Frameworkのステートフル機能のウリは、getだろうと初回のpostだろうと(その気になれば)ステートフルに出来るってところなんだろうとは思うけど。
質問です。 1.2使ってるんですが、フォームからunsetで消した項目に、 POSTされた際にアクション内で値をセットするにはどう書けばいいのでしょうか? 送信された値から別の値を生成してインサートする、みたいなことがやりたいです。
もうCakeのはいいからどっかsymfonyの本をだしてくれ〜
682 :
nobodyさん :2009/03/22(日) 22:34:47 ID:XhaR9twF
>>680 自分は1.1だが、そーゆーことやりたいときはbindする前の配列いぢくる。 一度validateしたいときは、
1.普通にbind
↓
2.NGならおしまい、OKなら値生成→配列に格納
↓
3.バリデータを置き換える
↓
4.もう一度bindしてvalidate
かな。まぁ、sfFomオーバーライドすればもう少しスマートに出来ると思うが。
>>681 だね。もう少ししっかりした、1.1/1.2対応の解説書は欲しい。
書籍なんていらねーよ。1.1も1.2も一年しかメンテナンスされない使い捨てリリースだし。
そんなこと言ったらほぼ全てのFWの本がいらんことになる
1.0は3年リリース。 ほぼ全てとか何言ってるんだろこの人
すみませんが、質問です。
symfony 1.0 の環境に、sfCSRFPluginを導入して利用しようとしているのです
が、うまく動作しないのです。
sfCSRFPlugin - symfony-doc-ja - CSRF対策用プラグイン - Google Code
http://code.google.com/p/symfony-doc-ja/wiki/sfCSRFPlugin コードを見ると、METHOD=POSTの時だけ、トークンの値をチェックするようになっ
ているのですが、どういうわけか、このフィルタの中では、POSTの場合でも
GETだと認識されて($_SERVER['REQUEST_METHOD']が"GET"となる)、チェック
がいつも働かないのです。
このフィルタ以外の場所、例えばactionクラス等では、GETかPOSTかを正しく検
出できています。
どうにも原因が分からないのですが、どなたかアドバイスをいただけないでしょ
うか?
フランチョスに聞いてください
腐乱著すですが何か?
寒い…このひと寒すぎる。 書き込む前に確認しようよ。 自分がどれだけ恥ずかしいことを書いているかを。 2chだけでなく日常生活でも、寒いことを言っては 場を凍りつかせているんだろうね。
symfonyって、あるアクションに対してPOSTだけしか受け付けないように設定する ことってできませんか?
getPostParameterで値が取れれば処理、取れなければエラーかリダイレクト、とか。
isMethodみたいのがなかったっけ?
693 :
690 :2009/03/26(木) 13:08:38 ID:???
PHPコードでやれば判別はできますが、validation/<アクション名>.ymlや
filters.ymlなどで設定する仕組みが、symfonyには用意されていないでしょうか?
>>691 後出しですみませんが、1.0限定でお願いします。
>>692 sfRequest::getMethod() ですね。
methods:[] だっけな。なんかそんなのあったわ
695 :
690 :2009/03/26(木) 13:21:03 ID:???
zendなんかはそういう指定できるけど postしか許可しないactionを別に指定するブラックリスト方法は 何かの都合でaction名を途中で変えた場合に、 設定だけが残る可能性があるから疑問
1.0にsfFormもってこりゃいいじゃん。
pdt2.0から /* @var $test Test */ の補完がきかなくなったな
699 :
nobodyさん :2009/03/29(日) 00:23:38 ID:WiWw0VPX
1.2でDoctrine使ってるんだけどSQLクエリーのログって出てる? envがdevでwebdebug trueでもどこにも出てる気配ないんだけど。 なんか最初のうちは1.1の時みたいにwebdebugに円柱のボタンがあった気もするんだけど・・・・ logにsfDoctrineLoggerっていうボタンはあるけどクエリーは何も出てない。 いろいろいじってるうちにおかしくなったのかな?
701 :
699 :2009/03/29(日) 09:22:10 ID:WiWw0VPX
>>700 ほうほうDebugPDOですか。
すんません、Doctrineの時はどうすればいいのでしょう?
paramかattributesになんか書くのでしょうか?
つーか普通に出るし
symfonyからODBC接続でDB2からデータ持ってきたいんだけど、なぜか日本語が化けるんです。 Z^Z^Z^みたいな。 何でですかね・・・。
眠いからじゃないかなzzz
>>703 DB2かぁ、動作報告あったっけ?
まずは propel db2 でgoogleじゃない?
あるいは doctrine db2 か。
DB2の内部コードSJISにしてるとかじゃないの
symfony1.0系で開発をしているのですが、 Validator、Helperなどが マルチバイトに対応していない事わかりまし。 ソースコードのマルチバイト対応情報が あればおしえてぷりーず。 と書いたところで 1.2はマルチバイト対応済みじゃん・・・ くやしいのでそのまま投稿。 なんでバックポートしてないんだ。
OpenPNE以外でsymfony1.2を使ったオープンソースのものって何かないですか? ソース読んで勉強したいのですが・・・
バージョン上がるたびに諸々の変更を余儀なくされるsymfonyは採用されないだろ
メジャーバージョンアップとマイナーバージョンアップの区別がつかない奴がいるとは思わなかった
711 :
nobodyさん :2009/04/21(火) 22:02:48 ID:oOMQhPeY
responseにsetHttpMetaメソッドあるけど、 HttpじゃないMetaってあるの? setMetaでよくね?
>>711 ソース(AssertHelper.php)見ると、<meta http-equive...>と出力させたい場合は、addHttpMeta()で追加、
<meta name=...>と出力させたい場合は、addMeta()で追加するらしい。
symfony 1.2系には、setHttpMeta, setMetaは無いね。削除されたのかな?
1.2系では、sfResponseに直接追加しなくても、view.ymlで設定すればおk。
symfony1.1.6なんですけど、 config_handlers.yml で独自ハンドラを追加して、 そのクラスをlib直下においたら、アクセス時にその独自ハンドラが存在しないと 怒られるんですが、どうしてですかね・・・・。 debugがONだと動くのですが。。。
>>713 prod環境(debug=off)では、複数のファイルの読み込みを避けるためなのか、いくつかのクラスをpackingしています。
このクラスの中には、sfAutoloadも含まれています。
packingする際、まず先に、config_handlers.ymlに設定された、「すべての」ハンドラをインスタンス化しようとします。
独自ハンドラについては、まだsfAutoloadがインスタンス化されていないため、オートロードに失敗します。
debugがonの場合、packingしないため、先にsfAutoloadがインスタンス化されます。
それゆえ、独自ハンドラもsfAutoloadを通して、読み込むことができる様になります。
この問題を解決するために、sfAutoloadに頼らず、手動でクラスファイルをinclude(require)します。
includeする場所は、ProjectConfigurationが最適でしょう。
715 :
714 :2009/04/26(日) 23:40:24 ID:???
蛇足ですが、sfAutloadが読み込まれていないからといって、 先にsfAutoloadを手動でincludeしてしまうと、その先で二重定義だと言われて、 実行時エラーとなってしまいます。
塾所www
718 :
699 :2009/04/29(水) 16:03:53 ID:rB9MGWda
なんでpropel、count()なんてしてしまうん
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 :2009/05/07(木) 12:19:38 ID:SY3Om6u2
ああ、またデフォルトでsageはいってた。 専用ブラウザこの設定うざいな。しつれいしました。 あとpropelでというかCriteriaでの間違いでした。 お願いします。
722 :
720 :2009/05/07(木) 12:38:05 ID:???
723 :
714 :2009/05/07(木) 22:58:24 ID:???
>>720 複雑なクエリは、無理してCriteria通さずに、直接SQL渡した方が見通しがいいような気がする。
$stmt = Propel::getConnection()->prepare('select ...');
$stmt->bindValue(..); // パラメータを渡す必要があるなら
$stmt->execute();
while (($row = $stmt->fetch(PDO::FETCH_BOTH) != false) {
...
}
クエリも使いまわしたりするからな。 直接SQL渡すより極力Criteriaで使ったほうがいい。 そういうプログラミングをしないならDoctrine使ったほうが良い
クエリ使いまわすなら、どこかのテーブルクラスに入れとけばいいだけかと。
SQL直書きの方が見通しが良くなる事も普通にあると思う。
どっちがいいかというのは難しい問題だけど、その時々の決められた方針に従うとか。
>>724 しばらくPHPはほぼ触ってないんだけど、Doctrineはもう実用レベルなんだ。
見てみよう。
Propelは取得するカラム増減するだけで、setとかhydrateとか自分でやらないかぎりモデルがまったく使えなくなるのがメンドイ。 てか、1.3からpoolとかしてるから、下手に自前でやると危険そう。そこでsave呼ばれたときを考えたりすると・・・ まあORマッパーなんだから、selectいじるなってのはあるんだろうが。 Doctrineってそういうの強そう?
>>726 いや、その為にPeerBuilderで拡張できるようになってるわけだが。
BasePeerをちょっと拡張したクラス準備するだけでもいいし。
いくらでも手はあるし、そういうことができるように作られている。
729 :
nobodyさん :2009/05/19(火) 14:29:31 ID:qhW3ZTR1
キャッシュファイルが多すぎてsymfony ccがなかなか終わらないんだけど どうしたらいいの。 サービス稼働中だとキャッシュの作成とバッティングして時間かかるんかなぁ psでプロセス見るとD(割り込み不可=IOアクセス中)のままだ。 cache clearはサービスを止めて行うもの?
てか、サービス止めて、 ディレクトリごとrm -rfした方がずっと速いかも・・
>>729 コンテンツキャッシュはぶっちゃけSQLiteキャッシュ使ったほうが何かと勝手がいいぞ。
キャッシュの削除条件設定も柔軟に対応できるし。
ファイルキャッシュは増えてくると不都合が多すぎる。
732 :
nobodyさん :2009/05/31(日) 06:43:32 ID:rQz6XN2i
1.2使ってます DBにname address tel category file とあってfileとcategoryはそれぞれ別で登録するようにしたいのですが sfFormつかうとfileやcategoryを登録したら他のデータがきえちゃいます。 個別にフォームヘルパーつかって登録するとかみたいな方法しかないですか?
733 :
714 :2009/05/31(日) 13:22:23 ID:???
>>732 ORM何使ってる
Propel?
Doctrine?
Propelなら、
Modelの各フィールドに対して更新フラグが立っている場合のみ、Update対象列になる。
resetModifiedメソッド呼んで、更新対象外フィールドのフラグ折ってやれば、多分おk
Doctrineは...知らん
>>733 名前欄残ってた。orz
関係ないから無視しといて。
735 :
nobodyさん :2009/05/31(日) 14:26:16 ID:rQz6XN2i
>>733 あぁ、そうか・・・。
スケルトンのとおりにvalodator通した後そのまま
$myTabler = $form->save();
ってやってたから全部保存されちゃってたんですね。
必要なフィールドだけセットして保存しちゃえばよかったんだ
ありがとうございました。やってみます
736 :
735 :2009/05/31(日) 15:59:53 ID:rQz6XN2i
なんか結局1.0と似た感じになっちゃったorz 対話形式で進めていくものをつくってくと結局こうなるのかな
バリデータでファイルがアップされているかの確認はどうるのでしょうか? validate/test.ymlへ file: required: yes のように記述してもうまく動きません。
公開がインタビューの半年後とか、やる気ねぇなぁ・・・。
読み方フランチョスじゃないんだなワロス
ついに大文字になりますて… まるで大文字になるのをみんなが待ち望んでいたかのような書き方だな。
正直DIはいらねーな
本気でフランチョスだなんて思ってる奴いねぇだろw
>>744 サイボウズのアキモトサンはそう思ってたんじゃね?w
2ch大好き秋元さん
symfony使うんで、sfFormとAjaxを上手く組み合わせたいと思うんだが難しいかな? だらだら探したけど、互いをおいしく利用してみたいなのはみつからないんだよな。 javascriptHelperとsfFormって連動する設計になってないよね?
いくらでもできるよ
ヘルパの呼び出しは sfContext::getInstance()->getConfiguration()->loadHelpers(); Javascript呼び出したければ sfContext::getInstance()->getResponse()->addJavascript();
今までsymfonyで動いてたサイトを移動したいんだけど 移動先のレンタルサーバがspl_autoload_register使えなくてsymfony動かないっぽいんですが フレームワークを変えるしか方法ないですかね?
レンタルサーバを変える
doctrineについて教えてください。 schema.yml の定義で下記 relations: ****: foreignAlias: **** *****: class: ***** refClass: ***** foreignAlias: ***** foreignAlias, class, refClass, について詳しく説明しているサイトありますか?
symfony 1.2で質問です。 ヘルパーをactionで使おうとしているのですがmyproject/lib/helperに格納されているものしか使えません。 module毎にmyproject/app/myapp/mymodule/lib/helper/MyHelper.phpという風にすれば使用できると思っていたのですが認識違いでしょうか? 教えてください。
>>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メソッドのソース読んでみて
CoCが流行の昨今ymlの設定地獄なんて 時代遅れも甚だしいな。 こんなの流行るわけねーだろ。 CakePHPの爪の垢でも煎じてのんでろやこの屑FWが。
いくらCoCにしても設定ファイルはいるだろ。
Symfony 1.0になる前にちょっと使ったらymlをちょっと書き間違えると Symfonyの深いところでエラーが出てもうダメポって挫折してCakePHPで 快適生活してるんだけど、最近のSymfonyはそこらへん快適になった?
ヴァリデーターがフォームフレームワークになったからだいぶ減った感じだけど そのフォームヘルパーでやたら苦労してる。 かなり使い込めれば快適なんだろうけどちょっと変わったことやろうとするとめちゃくちゃはまる
CoCって、Symofnyだってデフォルトの規約もってるだろう。 さらに設定ファイルでいじれるだけで、そこがCakePHPより良いとか意味がわからん。 設定ファイルの糞さこそCakeの癌で改善されてるのに
ちょっと書き間違えても動くからなぁ他のFWは って事だろ
CoCって言葉を使いたかっただけだろ。
はまりもあるしドキュメント不足な面もあるが、慣れれば割と快適。 使い始めて半年くらい、いまはサクサクサイト構築していってる。
うだうだ言うより、極めてしまえば、最近の有名どころは強力なツールになると思うんだがなぁ
虎は何故強いと思うね?もともと強いからよ。
ymlきめぇ
htmlきめぇ
>>766 XMLを手で記述するよりはましだと思うよ
もっとも、個人的にはJSONで十分なんだけどね
769 :
nobodyさん :2009/07/28(火) 23:40:23 ID:jaMsZG3/
バッチで実行した処理で、コマンドラインからactionを実行したいんだけど symfonyは標準でそういう手段提供してないの?
init-batchとかあった actionはあくまでweb経由で呼び出すんすかのー
task でいけるんでねかな
しっかし寂れたなw 2年くらい前の元気さはどこへいったw
バージョンアップしてもサポートが半端なんだよな バージョンアップ版のがサポート短いとか追っかけていく気にならん
糞みたいだったzfのスレは伸びてるな もう抜かれてしまったのか?
Cake>>>Zend>>>>>>>>>>>>Symfony だからな日本じゃ 日本人はもっさりが何よりも嫌いだからJSFとかそういうのも流行らない
Zend、使われているかなぁ?
Symfony使いから見たら使われてないように見えるのかもしれないけども 少なくともSymfonyよりは間違いなく使われてる
cakeって別に速くないだろ ciは軽いから速いが
Symfonyに比べりゃ全然速いけどな
CI は汚い。 Kohana が好き。
781 :
nobodyさん :2009/08/20(木) 12:06:22 ID:QNoYFkWw
symfonyで作ったページがクロールされないと思って調べてみたら トップページをwgetしてみたら404が帰ってきてた。 ブラウザで見ると普通なんだけど、何をどうやって調べれば解決するか わからないので、誰か知恵を貸してください
何その謎現象 apacheのログ見たら?
User-Agent見て処理変えてたりしてるのかな?
784 :
781 :2009/08/21(金) 11:40:39 ID:gourhDGv
>782 普通はおこんないものですよね? ログみたけど、よくわからんのです。wgetのときだけ404返してるだけで・・・ >783 UAをIEとかに偽装したり、Refererつけたりしてみましたがwgetなら404・・・。あとどこで判別してるんすかね・・・。ヘッダ全部出してみるしかないすかね。 rewriteの書き方が悪いのかな
Zendでauの携帯からだけ404になったことならある 原因はmod_rewrite
>>785 mod_rewriteの何が悪かったの?
全部他人任せで解決しようとするなよ
そんな注意するようなことでもなくね? 現象が謎すぎるから俺も興味あるよ
789 :
781 :2009/08/21(金) 18:46:10 ID:gourhDGv
790 :
781 :2009/08/25(火) 19:11:09 ID:X6yGpm6m
すまん、まだ解決してない。 mod_rewriteはログはかせてみたけど、問題なさげだった。 symfonyの問題ぽい。
勉強がてらにsymfony1.2を使ってみているのですが
デフォルトのCSSは無いのでしょうか?
デバッグツールバーやチェックマークのでるデフォルトのページには
スタイルが適用されていますが
http://localhost/module/index にアクセスした場合には、チュートリアルのようなスタイルが適用されず
素っ気ないページになってしまいます。
高度なデザインは求めていないのですが、フレームワークを使う場合でも
cssから作るものでしょうか?
792 :
nobodyさん :2009/08/26(水) 11:26:43 ID:1Yy9HhcH
>791 システム開発とデザインは別なので、そういうのがほしければ CMSに求める。
793 :
791 :2009/08/28(金) 08:36:33 ID:???
>>792 そいうことですか。ご回答ありがとうございます
ドクトリンヌもフランチョス達が作ってたのか
>>795 symfonyの開発陣にdoctrineの開発者が参加したのは最近のはずだよ
railsだとセッションID生成するためのシークレットキーみたいなのを設定するが、 symfonyには見あたらないような。 その辺でセキュリティ的な問題とかないのかな。
しかし英語圏ではsymfonyとCakeのシェアはどうなんだろ? 2ちゃんではCakeのが伸びてるようだけど。 自分は1プロジェクトでアプリが複数作れるので助かってる。 libの下にCMSのmoduleを作り込んでapp/modules/から使っていく感じ。 複数サイト構築に便利。
ああ、そうか、railsのあれはセッションキー作りのためのじゃなく CSRF対策のキー作りだったね。勘違い。
新バージョンが出た時アップデートしてる? 何かの具合で動かなくなったら・・と思ってなかなかアップデート出来ない まぁテストケースをまとめておけばいいんだけど
趣味レベルなら多少動かないところがあっても良いか、と思ってアップデートしてる。 1.2 -> 1.3はさすがにためらうけど。
804 :
nobodyさん :2009/09/19(土) 18:38:57 ID:kqWMin9P
functionテストで、他のアプリケーションの操作をする方法はありますか? 「Frontendでコレを1にしたらBackendではこうなって、Frontendで2にしたらこうなるはず」 ってテストをしたいだけど、何かいい方法はないでしょうか? ソースを少し斜め読みしてるんだけど、アプリケーションをまたいでリクエスト出す方法が見つからないっす。 ・・・seleninumとか使ったほうが早い?
1.1から1.2なんて悲惨なくらい互換性なかったからな
CakePHPのスレは7スレ目まで逝ってるのに なんでsymfonyのスレは1スレ目で止まってますかぁ?
日本じゃ全然流行ってないからな 結局CakeかZendだよねやっぱり
cakeは外からプロパティーにいきなりアクセスさせたりと色々ダサい
2文字インデントの方がダサいと思う
まだインデント数にこだわっているのか…
cakeは不必要な?>がコード末尾に入ってるところがダサい
不要じゃないだろうに
またこの流れか
cake 採用している大御所あげてくれ。
モジラ
cakeは定数の命名規則が適当すぎ パスの命名ならDIR_HOGEとかHOGE_DIRとかHOGE_PATHとか パスであることを示すようにするだろJK CAKEとかAPPとか名前だけ見ても何なのかわかんねーよ プログラマーとしての基本的なセンスが疑わしいレベル
作る事が目的じゃなく規約が目的なのかお前は
frontend_devで実行すると例外の詳細が表示されるけど、 frontendで何の例外が発生しているか把握する方法は無いですか?
>>818 そこに表示されているバックトレースからわかるよ
どのソースの何行目で例外が出されたかすべて表示されている
画面関係の問題あると画面自体出ない時もあるよ ファイルにロギングもするのが基本
>819 frontendで例外を把握したいわけです。 devでの詳しいロギングはいらないから、例外のみ把握したい。
>>821 それはつまり例外の条件が固定されていなくて
いつどこで問題が起こっているか不明な状態で
エンドユーザーがサイトを使用中に起こった
例外をとらえて記録したいってこと?
運用レベルで例外出たらロギングするようにするのって 当然だよね
>>823 すみません、例外のみロギングするのってどうやるんですか。
マニュアル探しても見つからなくて。
ちなみに1.2です。
PHPフレームワーク総合スレって落ちたの?
yamlyaml言ってたヤツ責任取れよ
今からsymfonyはじめるなら サポート期間から言って1.0一択ですよね?
828 :
nobodyさん :2009/09/27(日) 03:25:22 ID:IjZjxhuk
symfonyをレンタルサーバーで使おうと思うのですが 専用サーバじゃないのでhttpd.confが編集できません .htaccessファイルの編集だけで使うにはどうしたらいいですか?
>>828 mod_rewriteが使えるレンタルサーバーなら、httpd.confに書けとなってる部分を.htaccessに書くだけでおk。のはず。
1.0の頃だけど、普通にsakuraとxreaで動かした経験あり。
actAs: NestedSet こんな便利な物があったとは・・・ツリー構造の実装楽勝だ!
doctrineさまさまだ!
1.2のtaskにpipeで渡して、$argumentsで取得したいですが 取得できないです。 STDINでも取得できません。 皆さんはどうしてますか?
みんなはやっぱpropel使ってるのかな。 doctrineうめぇ。しかしschema.ymlでintegerって定義するとMySQLだとbigintになるのな・・・ intで定義するとint。でもvalidatorで怒られた気がする。
initializeの中でFlashに入れた値が 次のリクエストには消えてるんだけど 何故?
835 :
830 :2009/10/02(金) 13:32:36 ID:???
mysqlのドキュメントの和訳じゃない? doctrineのprimary key bigintにしてる? 漏れはintに変更してるよ
履歴とかじゃない限りintで十分なはずだからねぇ。 やっぱbigintだと、だいぶパフォーマンス変わるかな・・・ いまのうちにalterしとくべきか。
int で念のためunsignedにします。
security.ymlで一度に複数のactionに同じ設定をさせたいのですが どうすればいいですか?
cakeに負けるのは分かっているが、symfony、zendにも人気で負けるんだなw 世界的にはおそらくsymfonyの方が人気あるんだろうけれど 本屋行っても、symfonyの本って1冊しか無かったw
下手したらEthnaにも
ねーよw cake使ってからsymfonyに戻ったらやっぱいいわ 糞ダセー実装にイライラさせられることがない
糞ダセー実際ってPHP標準規約無視の2文字インデントとか?
844 :
nobodyさん :2009/10/05(月) 09:40:38 ID:LSBycl5s
>>842 cakeの駄目さは分かるけど、zendとsymfonyだとどう?
zendはクラス名が長いのが嫌だ。 フォルダ階層にそろえてクラス名つけるとかやると、 フォルダ構成変えたくなったときに死ぬ。
cake,zend,symfonyは、cakeは簡単だが名前空間がぶつかるとか、zendはめんどくさくて
>>845 のようなこともあるとか、symfonyは日本では人気がないとか、どれも悪い面があるから選択が困るよねw
つDjango
日本で人気ある必要なんてないじゃん
zendは当初はひどいもんだったけど 他のプロダクトからパクりまくってまぁまぁマシになったっぽいね
850 :
nobodyさん :2009/10/05(月) 12:04:29 ID:X54Rskkj
>848 日本で人気がないと、アホ上司が選択に失敗するんだよ
syfony用のまともなスレって無いの!?
悲しいかな、ここだけです。 cakeもzendも使ったことないが、railsは相当使い込んだ自分としては、 symfonyはPHPの言語的糞さを差し引いても良くできてると思う。 むしろいまはsymfony+Doctrineの良さの方が目に付くかな。
railsのもっさりになれてるならsymfonyも気にならないだろうなそりゃ
日本はサクサク文化だから、Zendはおろか CodeIgniterとかどんどん軽量化トレンドに向かってるな
yahoo とか dailymotion とかエンタープライズ級の案件で 鉄板じゃない?
856 :
852 :2009/10/05(月) 22:44:25 ID:???
自分は個人サイトの構築に使ってるので、パフォーマンスはあまり気にする必要がない。 それよりいろいろ試行錯誤したいので開発効率が良い方がいいです。 <?=$form?>とかでフォーム入力が全部出力されるのとか最高。 他のFWでもあるのかもしれないけど・・・
ほぼすべてのフレームワークでできるのでは
>>857 俺にもフォームフレームワーク教えてくれ
未だに1.2のフォームに慣れない・・・ yml地獄よりはましだけどちょっと外れたことやろうとするとはまるはまる・・・
慣れたらSUGEEEEEEEEいいよ。 admin generatorと組み合わせると更によし。
慣れたらCake並に便利かつそれなりに汎用性ある? あと規約によるグループ開発の効率化も
規約の事は言うな
なるほど規約の事は触れない方がいい感じなんですね ありがとうございますw
絶対に2文字でインデントしたくないって言う奴が出て来るぜ
あんなアグリーなcakeに耐えられるような奴なら 何使ってもいいだろ
下しか見られない人ですか
テーブルとテーブル関連づけてデータ取得とか出来るん?
>>869 外部キーのデータなら取ってきてくれるよ。
ただ1階層ならいいけど、数階層あると毎回SQLを発行してデータを取りに行くからの鈍い。
なんか簡単な解決方法あるんかな?
871 :
nobodyさん :2009/10/11(日) 18:38:37 ID:5oqUe7PJ
lime+Symfonyでテストするときに「ログインしてることにする」にはどうすればいいのでしょう? やはり最初から(最初はログイン画面のURL+ID/Passを渡して)呼んでやるしか方法がないのでしょうか?
>>870 複数階層をまとめて取得するのなら、直接SQL投げるしかないと思う
Doctrineの話だよね? 普通に複数階層JOINできなかったっけ?
874 :
833 :2009/10/15(木) 18:17:01 ID:???
schema.ymlでinteger(4)ってかかないとだめだな。mysqlで32bit intにしたけりゃ。 単にintって書いたらおかしくなる。validatorでエラー。
バリデーター書き直せばいいじゃん。
876 :
833 :2009/10/16(金) 08:20:24 ID:???
そういう問題じゃないっす(笑 自分の知識不足。 なんだが、schema.ymlにintって書いてエラーが出ずにモデルがgenerateでてしまうのは問題。 不明なtypeですよとかエラーだしてくれ。
intって書いてbuild-allできないでしょ? {type: integer(4), ?????}とか書いてないの?
878 :
833 :2009/10/16(金) 11:26:03 ID:???
ドクトリンヌだからか、intでも通ってしまうんだな、これが・・・ で、いざmodelのsaveメソッド呼ぶとvalidatorが失敗する。 自動生成されたコード見るとtypeが見るとtext型として認識されてるw ちなみにintegerとだけ書くとbigintになる。
なんだpropelのはなしか・・・
ドクトリン2大分変わるんだね
881 :
nobodyさん :2009/10/21(水) 10:32:32 ID:Pip+q1Ek
symfonyでデバッグ表示でどうやるんですか? アプリ名_dev.php しかないの?
882 :
nobodyさん :2009/10/21(水) 10:39:56 ID:Pip+q1Ek
883 :
nobodyさん :2009/10/21(水) 12:20:52 ID:Pip+q1Ek
symfonyってdebugモードONでも修正したらキャッシュクリアいちいちすんの!?
新しいクラスとか追加したら。修正ならしなくてよい。
885 :
nobodyさん :2009/10/21(水) 16:18:38 ID:Pip+q1Ek
>>882 それ、1.0のURLだけど
1.0は、マルチバイトに対応してないかんね。
887 :
nobodyさん :2009/10/22(木) 00:20:18 ID:pg+lnhOY
table2_idがあるって事は リレーション組んでるだろ? 簡単に出来るじゃん。
そのサイトのアドワーズ広告が CakePHP開発者登壇イベント な時点でもう駄目だと思う
symfony 1.3ベータになったな。
時代はLithiumだし
Lithiumはまだどうなるか分からんだろ
日本のフレームワークは規模が小さすぎる
895 :
age :2009/11/17(火) 17:24:59 ID:pOG3nu7x
2.0 branch: in heavy dev...
質問なんですがsfFormで郵便番号や電話番号など分割して入力させたい場合 どうすれば実装できますか?
897 :
age :2009/11/21(土) 08:34:58 ID:eUWhrtkv
スキーマーでフィールド作れば?
898 :
nobodyさん :2009/11/21(土) 18:14:10 ID:oaKRUD8D
いまからお勉強始めるなら1.2.9がいい? それとも1.3ベータから触り始めたほうがいいですか??
900 :
nobodyさん :2009/11/28(土) 00:16:07 ID:vouX2VCO
DoctrinとPropelって共存できる? 要は、OpenPNE3のプラグイン作りたくてJobeet+Doctrinやってたのに、 OpenPNE3はPropelだったんだ。
901 :
sage :2009/11/28(土) 01:01:13 ID:TkIF74hf
排他だよね。
OpenPNE3.1からはDoctrinだよ
http://www.symfony-project.org/jobeet/1_2/Doctrine/ja/06 ここの「ホームページでのカテゴリ表示」で、
// apps/frontend/modules/job/templates/indexSuccess.php
<?php foreach ($category->getActiveJobs() as $i => $job): ?>
ってやってgetActiveJobs()を使ってるけど、ここ実は
<?php foreach ($category->getJobeetJobs() as $i => $job): ?>
で全く問題無く動く。
$category作成時に使ったSQLを使い回してるので、期限切れを拾ってくる心配なし。
ということでgetActiveJobs()作成する意味全く無し。
ちょっと例題が悪くない?
904 :
sage :2009/12/04(金) 07:52:19 ID:XqNlGg1S
もしもの事があるだろう! もしもの事が
初めてSymfony/Doctrineと出合ってから 習得するのにどれくらいかかった? 3ヶ月でようやく全体像がつかめてきたけど 実務で使うには不安たっぷりでまだ心細い感じなんだけど。。
色々比較しているうちにZendの方が楽じゃね?みたいな雰囲気になって 途中でフレームワーク変えたw
908 :
sage :2009/12/17(木) 19:42:53 ID:kq8lXuer
スキーマでUser に Phonenumbers のリレーションを設定したでしょ? u.Phonenumbers としないとPhonenumbers は何に属したリレーションかわからないじゃない。
ああ、スキーマのリレーションのとこと関係があったのか! ありがとう!
910 :
nobodyさん :2009/12/23(水) 05:02:32 ID:mmZmbbI2
propel1.5のDoctrineライクな書き方は便利なのかな。 Doctrine使う理由がなくなっちゃうけど、Doctrine使いとしてはどうなのかな?
Doctrineの書き方なんだったらDoctrine使えばいいじゃん 使ったことないから知らないけど
propelの方がパフォーマンスがいいからだろ?
Doctrineの書き方だけだと、汎用性に欠けるからな
Symfonyのサイト行くとzipファイルがあるんだけど インストールするときにPEARじゃなくてこれをポコっとサーバーに 置くだけでもインストール可能ですか?
>>914 それでOK
最近はproject/lib/vendorにぽこっと置くのが主流みたい
>>915 なるほど。
では、レンタル鯖へのインスコはsandboxを置いて
バージョンアップ毎にlib/vendorへポコっでOKっぽいですね。
なんでsymfonysスレってこんなに伸びてないの?
日本じゃあんま使われてないからな Cakeや下手したらZendよりも使われてないかも ある程度の規模になるとだいたいJavaになるからな日本のサイトは
書籍もCakeに比べたら全然ですよね。
Zend始まってきてるし抜かれそうな雰囲気醸し出してるな 新刊本もZendばっかり
ドキュメントが新設だからいちいち本買う必要もない
新刊でしか評価できない人って終わってるな
Symfonyって意外に使われてないと思う 日本の業界眺めてもCakeやZendの方が多い 有名な案件でいくつか使われてるから目立ってるだけで
まぁお前の予想はどうでもいい
Zend Frameworkは単体でやろうとするとAjax周りの実装がないからな。 かなり不便
>Ajax周りの実装がないからな え?
今はPrototype.jsよりjQueryだろうがよ。 古い古い!
別物だろ
1.4はjqueryベースで解説されてるだろ
1.2でも解説されてる。
sfZendFrameworkBridgeって1.4ではないんだけどZendFrameworkのクラスをautoloadで使える方法ってわかりますか?
全部Zendで書き換えちゃえよ 楽になれるぞ
936 :
933 :2010/01/19(火) 21:23:20 ID:???
>>934 公式に載ってんですね。ありがとうございます。
右側の検索フォームから検索しても1件も出なかったので見落としていました。
937 :
nobodyさん :2010/01/31(日) 03:37:22 ID:I2v8wvRu
OpenPNE3で採用されてるんだから、じきに国内のシェアも伸びるよ。 良書が出れば、バカ売れ確実。誰か分かりやすいやつ書いて。
OpenPNEってそんなに使われてるのか?
OpenPNEのシェアは伸びてもSymfonyのシェアが伸びる訳じゃないと思うが ゲームがいくら売れたってCのシェアが1プロダクト分増えるだけなのと同じ世に
スマートフォンのアプリに仕事が大量に流れて行くから、 HTML表示のためのフレームワーク論争は廃れて行くかも?
廃れる? PCがなくなるかリッチクライアント化するって事か?w
なくなるとまではいわんし、 相変わらずPCでHTML見ることはあるだろうが、 割合として今よりはずっと減ると思う。 これからが本格的なリッチクライアントの時代。 サーバーサイドプログラムはXML返すだけって事は増えると思うよ。
はいはい
JSONだろjk
サーバーからxmlやjson返すためだけにsf使ってるw マゾと呼ばれてもいいさ
ただのお馬鹿さんですね
漏れもほとんどjson処理。 でもバックエンドは必要だね。
HTML5でかなり動的なことも実現できるようになってきたからなぁ ブラウザ自体がリッチクライアント。 別にリッチクライアント用意するなんて無駄なこと一世代前の人間がすることだな。
そんな君の考えが一世代前だと思うよ。 スマートフォン持ったらわかる。
まだ過渡期のスマートフォンをネタに出してる時点で
次スレはまともなスレタイにしろよ。
PHPのFW/CMSスレパート数 18 XOOPS Cube 8 XOOPS 7 CakePHP 6 OpenPNE 4 Zend Framework 2 Ethna 1 symfony←←←←←←←←←← CodeIgniterですら1スレ目とはいえ820レス行ってる
このスレ2スレ目じゃね?
3だよ。
だいぶ互換性なさそうだね・・・ 今までより3倍速いのが本当なら乗り換えたいけど。
ディレクトリ構成とか全然違うんだな Doctrine2の速度がどんなもんか気になるからちょい遊んでみるか
これでCake厨やZend厨にもっさりと馬鹿にされなくて済むな
Preview Releaseぢゃ〜〜〜
960 :
nobodyさん :2010/02/25(木) 23:06:24 ID:zASngUJw
実運用始まって、途中でDBのモデル構造が変わった場合って DBの再構築するのはプログラマーの仕事だよね? symfonyに再構築の機能なんてないよね?
次スレはまともなタイトルで頼むぜ〜
>>960 ヒント:doctrine マイグレーション
2.0ってZFベースっぽいな
実際にzend使ってるしね。 symfonyのいいところはメンテがしっかりしてる。 かなり期待している。
965 :
nobodyさん :2010/03/12(金) 14:19:19 ID:BKIcJUyP
ユーザー会発足しそうだね
symfonyチャットした人いる?
ああ。tukimiyaとmassie死ねって感じだったよ。
もっと詳しく!
みんなは、ユーザー会の発足に関してどうなのよ?
>>968 やたら上から目線のアシアルmassieと、DINOツキミヤがうざかったな
fivestarはmassieの子分じゃなければいい人っぽいんだが
ディノ受けたけど面接で落とされたぜ。 Javaの開発したことないような雑魚技術担当に落とされたなんてな。 我ながら情けない。
>>971 PHP勉強会でツキミヤ本人に会ったことあるけど、クソ野郎だった。
あんな会社行かない方がいいよ。
WEBしかやった事の無いガキ集団。
symfonyの勉強会で他さがせば幾らでもマシな会社はある。
まぁアシアルも似たようなもんだ。
ディノでの面接のやりとり 面接官 「SQLインジェクション対策はO/Rマッパー等を使いますが、 クロスサイトスクリプティングはどのように対応しますか?」 俺 「最近はFWのビュー層、例えばJavaでいうならカスタムタグ等を使うことで 対応しますので、開発者側はあまり意識していないです。」 面接官 「うーん、でも開発者も意識しておいた方がいいと思うけどなぁ〜」 だったら、SQLインジェクションも意識しとけアホ面接官
意識してないって言ったから突っ込まれたんでしょ O/Rマッパーとかヘルパーとか使ってるから意識しないってのはちょっとね
975 :
nobodyさん :2010/03/15(月) 09:32:49 ID:fUO2NhZO
だれかSymponyとVS.Phpを一緒に使ってる人いる? うまくいくんだろうか。
アシアル製品は使いません
>>973 んーそれで落とされたのなら、試験官に見る目が無かったって事でおk
「FWのビュー層、例えばJavaでいうならカスタムタグ等を使うことで対応します」
多言語を漁って来た人であれば全然問題の無い回答かと思いま
978 :
nobodyさん :2010/03/15(月) 09:44:46 ID:fUO2NhZO
979 :
nobodyさん :2010/03/15(月) 09:49:01 ID:CfPHnM7n
>>978 もんだいなす
eclipsePDTより軽くていい
980 :
nobodyさん :2010/03/15(月) 10:01:56 ID:fUO2NhZO
使ったことが無いから感覚がわからないんだけど、 使い方としては、とりあえずDOS窓からinit-projectした一式をVSにImportして、 「init-app」とかDOS窓からsymfonyのコマンド叩く度に 新しく出来たファイルをVSにImportしていく感じ? 英語版30日試してみるかな。
981 :
nobodyさん :2010/03/15(月) 10:05:37 ID:CfPHnM7n
982 :
nobodyさん :2010/03/15(月) 10:35:27 ID:fUO2NhZO
983 :
nobodyさん :2010/03/15(月) 10:42:24 ID:CfPHnM7n
英語
984 :
nobodyさん :2010/03/15(月) 10:51:23 ID:fUO2NhZO
俺も英語版にするかな。とりあえずもうねる。
次スレ頼む
タイトルはどうしよう?
symfony PHPフレームワークpart2 とかでいいんでね? でも、このスレの遅さを考慮するとまだ建てる必要があるかどうか疑問
symfonyは実行速度だけではなくスレも遅いんですね
以下、ディノの中の人たちによる波状攻撃↓
ディノ社員ほんとこのスレ大好きだよな 公式のチケット荒らしといいなんとかしてほしいぜ
tukimiyaはディノにとって害悪だな
995 :
971 :2010/03/18(木) 00:16:14 ID:???
特定されて結構。 俺を落とすような会社に用は無い。 そんなことより埋め
ume
ディノ糞梅
ディノス埋め
ディノス埋め
1000 :
nobodyさん :2010/03/20(土) 22:54:52 ID:IN2AWCqn
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。