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

どうぞ つ
0426nobodyさん2008/10/07(火) 11:02:54ID:mdBxPQQp
うーむ、sfValidatorPropelUniqueもそういうつくりになってるらしい……>423
もしかして(モデル生成時に)「カラム名を強制的に小文字にする」とかいうオプションがあるのだろうか?
>Oracle使用時
04274232008/10/07(火) 11:19:29ID:???
あ、間違ってた>>423
sfPropelUniqueValidator→sfValidatorPropelChoiceね

>>426のとおり、どっちもほぼ同じ理由で動かないんだけど、sfPropelUniqueValidatorにはgetColumnなんてメソッドはない(苦笑
0428nobodyさん2008/10/10(金) 15:50:56ID:???
もうOracle使うメリットが無い
0429nobodyさん2008/10/10(金) 22:55:23ID:???
質問させてください。

アドミンジェネレータのadmin_double_listが便利なので、
アドミンジェネレータ以外でも使いたいのですが、
可能でしょうか?

可能でしたら、方法を教えてください。
0430nobodyさん2008/10/11(土) 00:36:44ID:???
>>429
生成されたキャッシュみれば使い方わかるよ
04314292008/10/11(土) 01:25:13ID:???
>>430
ありがとうございます。
さっそく見てみます。

ちなみに、double_listを生成するヘルパー的なものはないのでしょうか?
0432nobodyさん2008/10/11(土) 01:32:06ID:???
>>431
あ、いや、だからキャッシュみれば、
object_admin_double_listってヘルパー関数の使い方がわかるって意味で…
04334292008/10/11(土) 04:31:43ID:???
あ、なるほど;

ありがとうございます!
調べてみます!
0434nobodyさん2008/10/12(日) 14:42:54ID:???
みなさんはログイン処理作るとき、どうしてますか?
自作してますか?それとも、sfGuardプラグインなどを使ってますか?
sfGuardプラグインって、なんとなく使いづらそうな印象があるのですが・・・
0435nobodyさん2008/10/13(月) 01:33:52ID:???
>>434
じゃぁ自作すると良いよ
0436nobodyさん2008/10/17(金) 15:06:59ID:???
symfony-doc-ja - Google Code symfony日本語翻訳プロジェクト
http://code.google.com/p/symfony-doc-ja/

ここのchmが手元のIE8B2環境で開けなかったのでKeytoolsでデコンパイル
→cssで本文の行高さを好みで1.4に→HTML Help Workshopでコンパイル
→umaaaaaaaa

あと >>111 に助けられた
0437nobodyさん2008/10/17(金) 17:31:35ID:???
http://trac.symfony-project.org/wiki/MyFirstSymfonyProjectJapanese
これってアプリケーション名でweblogとfrontendが混ざってない?これでいいの?
0438nobodyさん2008/10/18(土) 22:26:34ID:q6NYCrNL
symfony ccした時にapacheが生成したキャッシュを更新できないときあるじゃないですか?
あれどうやって解消してます?

いろいろ方法あると思うけど
apacheの実行ユーザーとログインするユーザーを一緒にしてしまう
>セキュリティ的に問題が・・・ないかな?
とか
書き込みできないファイルを削除 または rootになってchmod 0777 *
>めんどくさい
とか

どんな感じで解消してます?
0439nobodyさん2008/10/18(土) 23:32:55ID:???
ディレクトリが777なら削除はできるんでなかったっけ?
0440nobodyさん2008/10/19(日) 01:33:59ID:???
>>438
意味がわからん
キャッシュを更新できないってのは削除できないって事?
単にディレクトリが777になってないだけじゃないのか
04414382008/10/19(日) 06:02:39ID:???
>>439
>>440
削除はできますよ。
ではなくて、cacheの中にapache(httpdの実行ユーザー)がオーナーのファイルがあって
symfony ccしたときに上書きできないことがあったんです。で、これを削除すれば、ccは出来るけど
恐らく、apacheが書き込もうとした時に失敗するから、例えばデバックモードで開発をしてる時に
うまくキャッシュを更新できないのではと、思ったわけです。

てか、なんで?
他の人はなったことないの?
普通にみんな遭遇するのかと思ったけど
0442nobodyさん2008/10/19(日) 11:52:31ID:???
symfony ccの中でキャッシュを更新する?ってのがよくわからん。ディレクトリ残して全削除されるんじゃねーの?
0443nobodyさん2008/10/19(日) 12:10:22ID:???
ccで上書きの意味がわからんのだが
ccはキャッシュ削除だろ
そもそもキャッシュのオーナーがapacheの実行ユーザーなのは当たり前だと思うが
0444nobodyさん2008/10/19(日) 14:20:46ID:???
yamlファイル書き換えた直後にccしたらキャッシュに上書きしようとすることあるよ
そのときは一度Apache経由でアクセスしてやればいいと思う
04454382008/10/20(月) 19:52:46ID:K3O7/LLa
皆さんレスサンクス
そうか、ccってクリアした後に、キャッシュ作るもんだと勘違いしてました。

で、>>444さんの
>yamlファイル書き換えた直後にccしたらキャッシュに上書きしようとすることあるよ
これに引っかかって、上書きできないことがあったんですね。
しかも、必ず起こるわけじゃないですね。

どういう条件のとき上書きしようとするのかちょっとわからないけど
ありがとうございました。
04464452008/10/20(月) 20:18:39ID: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なので、平気そうに見えます。
どうしてでしょうか?

まあ、特に必要ないといえばないのですが、マニュアルと違うっぽいのできになったもので。
お願いします
0447nobodyさん2008/10/20(月) 20:38:12ID:???
>>446
1.1ではweb_debugの項目は廃止されてるよ
フロントコントローラで
ProjectConfiguration::getApplicationConfiguration('frontend', 'prod', true);
じゃね
04484462008/10/21(火) 12:41:26ID:V5bf6vPW
>>447
ありがとうございます。

なんか、マニュアルとあわないけど、まあ、447さんのやりかで問題ないので気にしないことにします。
Web Debug Toolbar Activation, in frontend/config/settings.yml
dev:
.settings:
web_debug: on
とはっきり書いてあるんですけどねえ。なんか不具合があって途中で廃止されたとかですかね。
0449nobodyさん2008/10/21(火) 21:14:10ID:???
オープンソースなんだから気付いたんならメールすればよい
開発に貢献したまえ
0450nobodyさん2008/10/21(火) 21:33:09ID:???
compact10の互換のためだろうが
0451nobodyさん2008/10/21(火) 21:45:20ID:???
まあデフォできいてないならマニュアルとしては一言書いておいてほしいとこだな
0452nobodyさん2008/10/21(火) 21:46:40ID:???
>>451
書いてあるだろ。
1.0=>1.1の項目に。
0453nobodyさん2008/10/21(火) 21:52:43ID:???
>>448が言ってるのはbookの16章のとこだろ
1.1のマニュアルに書いてないからわからなかったって事じゃねーの
0454nobodyさん2008/10/22(水) 11:49:18ID:xQzdLTf7
1.0=>1.1にありました?見逃したかな・・・
フィルターはやめてresponseに注入?したって書いてあるのは見つけたのですが。
報告ですか・・・がんばってみますが英語書くのはちょと・・

もう一点お願いします。
http://www.symfony-project.org/cookbook/1_1/ja/web_server#1%E3%81%A4%E3%81%AE%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E5%86%85%E3%81%A7%E8%A4%87%E6%95%B0%E3%81%AE%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3

1つのプロジェクト内で複数のアプリケーション
で、サブドメインじゃなくて、フロントコントローラーを一個下の階層に移動するのをやりたいのですが
define('SF_ROOT_DIR', realpath(dirname(__FILE__).'/../..'));
は利かなく無くなっているようです。

フロントコントローラーのProjectConfigurationのインクルード先を
require_once(dirname(__FILE__).'/../../config/ProjectConfiguration.class.php');
に変えればとりあえず動くのですが、css,jsを読めません。

例えばその階層を/hogeだとしてcss、jsは/hoge/css、/hoge/jsなどを作ればよめますが、
/sfも/hoge/sfになってるので/sf以下のファイルにアクセスできなくなってしまいます。
Aliasは.htaccessでは出来ないのでroot権限の無いサーバーでは面倒かなと。

どんな風にやるとよいのでしょうか?
お願いします。
0455nobodyさん2008/10/22(水) 22:41:45ID:???
そろそろ1.0から1.1に変更しようと思うんだけど
http://code.google.com/p/symfony-doc-ja/wiki/Upgrade_from_1_0_to_1_1
に書いてある方法でアップグレードした方いますか?
いれば実際に注意点とかあれば教えてください。
0456nobodyさん2008/10/23(木) 02:01:05ID:???
まぁ、あまりお勧めしないとだけ言っておく。
規模次第だけど、結構手間。
0457nobodyさん2008/10/23(木) 04:09:02ID:???
>>447
つけたしだけど、廃止されてるのはfilters.ymlでの設定で、web_debugはsetting.ymlでは使えるよ
prod環境でツールバー出すときは、factories.ymlでlogの設定を修正してsetting.ymlでweb_debugをonにしないと駄目だな
0458nobodyさん2008/10/24(金) 16:11:28ID:ebeBY5Qd
MySqlの
varchar(255) binary
をpropelで定義するのは無理っぽいですか?
symfony propel-build-allした後にalter ~するんでしょうか?
0459nobodyさん2008/10/25(土) 03:45:44ID:???
sfFormでinput_date_tagのrich=trueに該当するの無くないか…?
0460nobodyさん2008/10/26(日) 00:58:37ID:???
>>459
使いたかったら自分でビューに記述すりゃよくね?
他のところはrenderRowしてさ。
そういうことぢゃなく?
0461nobodyさん2008/10/26(日) 01:19:58ID:???
>>460
echo $formで済むものをなんでわざわざそんな無駄踏む必要あるんだよwwwww
普通にwidgetクラスつくればいいだけだろうがw
04624602008/10/26(日) 18:22:01ID:???
>>461
そーゆーモンかね。

まぁ、可能な限りecho $formやrenderRowで済まそうとすればそれもアリか。せっかくsfForm使うんだもんな。
漏れは「ヘルパーあるんだからそれ使えばいいぢゃん」と思うが、これはバラでrenderLabelやrenderErrorしてるからなんだろう。
04634602008/10/26(日) 18:27:20ID:???
念の為追記。

一応、compat_10しなくても、フォームヘルパーもオブジェクトヘルパーも動く。
もちろん、本当に(まったく)同じ動作をするかはしらん。
input_date_tagが動くかどうかも試してないw
0464nobodyさん2008/10/27(月) 02:41:04ID:???
idだけを変えるforeachの中でlink_toを繰り返し呼ぶのって気持ち悪いな
マッピングって結構コストあるじゃん
単にidをハメるだけでいいベースのURLを取得できればいいんだが
0465nobodyさん2008/10/27(月) 03:14:53ID:???
sf_contextみたいな標準でviewで使える変数を他にも定義したいんだが
それはsfContextのfilterTemplateParametersで定義してる。
sfContextをオーバーライドするのは色々まずいよね
どうすればできる?
0466nobodyさん2008/10/27(月) 03:15:03ID:???
url_forでURLだけ作ってIDだけまわすとかできない?
0467nobodyさん2008/10/27(月) 03:30:17ID:???
>>465
app.ymlで定義してテンプレート内でsfConfig::getで取得するとか
0468nobodyさん2008/10/27(月) 04:14:08ID:kNx8sH92
アクセスコントロールについての質問です。
secureをonにしたアクションに権限なしアクセスした時、
モジュールごとに、リダイレクト先アクションを変えたいのですが、
settings.ymlではそういった細かい設定は出来ませんよね?
やはり、preExecuteなどで自分でチェックするしかないのでしょうか?
0469nobodyさん2008/10/27(月) 07:45:55ID:???
>>463
それがどうした
0470nobodyさん2008/10/27(月) 09:40:42ID:???
>>464
そういうのは自分で作ってコミットするんです。
0471nobodyさん2008/10/27(月) 11:29:34ID:???
>>468
modules/config/settings.yml
に書いたんじゃだめなんでしたっけ?
試してなけど、より細かい範囲?の設定がうわがかれるからいけそうだけど
0472nobodyさん2008/10/27(月) 11:30:24ID:???
modules/名前/config/settings.yml
間違えた
0473nobodyさん2008/10/27(月) 11:45:10ID:x9xrCR0d
コーディング規約にクラス名とそのファイル名に関する記述が見つからないんですけど
クラス名は小文字ではじめてラクダ?lowerCamelCaseっていうですか?
でファイル名はclassName.class.phpみたくclassを入れるのでしょうか?

modelの中に作られるORMのファイルが違うし、
クラス名って大文字ではじめるのが、
ほとんどの言語で規約になってるじゃないですか?

小文字ではじめるって言うのsfだけに限ったことですか?
なんか気持ち悪くて・・・
0474nobodyさん2008/10/27(月) 22:20:04ID:???
>>473
http://symfony.xrea.jp/1.1/book/02-Exploring-Symfony-s-Code.html
ここにあるだろうが。なんでこんなものも見つけられないんだ。
0475nobodyさん2008/10/27(月) 23:27:27ID:???
>>471
レスありがとうございます
それも試してみたのですが、無理でした
ただ自分で書いても、わりとアッサリ出来ました
飛び先が一つしか設定できないっていうのは正直不可解な仕様です
みんな不満なくやっているのでしょうか・・
04764732008/10/28(火) 14:53:05ID:???
>>474
レスありがとうございます。
すいません。その章はざっと読み飛ばしてました。

クラス名はUpperCamelCaseで良いみたいですね。
でも
UpperCamelCase is the standard for class and variable naming.
っておかしくないですか?変数の名前?
変数はlowerCamelCaseですよね?

まあ、そんなに気にすることないのかな。
プラグインとか入れてみるとクラス名がlowerCamelCaseになってるの多いけど
あれって、厳密に言えば規約違反ってことですよね?

こんな感じでやっちゃいます。
クラス名:UpperCamelCase
メソッド・プロパティ:lowerCamelCase
ファイル名:ClassName.class.php
0477nobodyさん2008/10/28(火) 23:12:32ID:???
うちの会社では、viewはデザインからテンプレートのコーディングまでデザイナーがやるのですが
アクションで設定したテンプレートで使える変数の一覧をページで簡単に確認できるようにしようと思ってます。

いろいろ試してみたのですが、テンプレートに渡した変数はActionでしか取得できないっぽいですよね?
そんなことないですか?

postExecuteで例えばセッションとかResponseにセットして、Filterで表示とか考えたのですが
postExecuteを全モジュールに作るのもめんどいし
またActionの独自クラスを作ったとしても、モジュール作った後に継承元を変えるのも
いまいちな感じなんですよね。

MyUserにsetすればweb_debugツールバーで見れるんですけど、深い階層の配列が見づらいし・・・


テンプレにアサインした変数の一覧表示なんて、ものすごい要望の多そうな機能なので
いくらでもありそうだけど、なんか見逃してたりします?

また、うまい方法もしくはプラグインなどあったらお願いします。
04784472008/10/29(水) 13:12:01ID:eltEv9kS
あ、sageで書いてましたすいません。

なんがごちゃごちゃ書いてますけど、一言で表現すると
アクションでテンプレートに渡した変数の一覧ってfilterで取得できませんか?
できれば、アクションを変更しないで、filterのみで実現したいです。

って感じです。
よろしくお願いします
0479nobodyさん2008/10/29(水) 19:30:27ID:???
フランチョス喧嘩してんの?
0480nobodyさん2008/10/29(水) 21:06:31ID:???
>>477
エクリプスのプラグイン作ってあるんで、100万くらいで売ってあげるよ
0481nobodyさん2008/10/31(金) 15:21:57ID:???
>>480
あ、じゃあお願いします
振り込みますので名義と口座番号と暗証番号お願いします。

ところで、フランチョスってなんですか?
0482nobodyさん2008/10/31(金) 23:10:16ID:???
>>481
了解です。
引き出しますので名義と口座番号と暗証番号お願いします。
0483nobodyさん2008/11/01(土) 10:57:37ID:???
>>481
ためしに通報してみた
0484nobodyさん2008/11/01(土) 17:09:43ID:???
svnの1.2の新しいadmin generatorで
$attributes->getRawValue()
これをつかってるキャッシュの行でコケるんだけど、
開発途中でバグってるだけだよね
0485nobodyさん2008/11/02(日) 15:59:51ID:???
1.2Beta1きましたよ
0486nobodyさん2008/11/03(月) 12:52:47ID:???
そろそろ新しい書籍が欲しいところですなぁ。
フォーム周りとかだいぶ変わったし。
0487nobodyさん2008/11/03(月) 13:34:20ID:???
actionにrequestだけ渡してくるのってアンバランスな仕様だな
userも渡してこいよ
0488nobodyさん2008/11/03(月) 17:01:25ID:???
どう考えてもuserよりrequestのが圧倒的に多いだろ。
userまで渡す方がアンバランス
0489nobodyさん2008/11/03(月) 21:08:36ID:???
1.1のsfValidatorNumberバグってるな
0入れるとrequiredのエラーが発動しやがる
0490nobodyさん2008/11/03(月) 21:21:12ID:???
>>488
普通セッション使わない規模の方がむしろ少ないだろ
ショボグラマー乙
0491nobodyさん2008/11/03(月) 22:44:00ID:???
>>490
つか、なんで$this->getUserぢゃいかんの>
0492nobodyさん2008/11/03(月) 22:54:20ID:???
それを言うなら$this->getRequest()でもいいじゃんって話になる
メソッドの最初から使えると、
どのタイミングで$user = $this->getUser()するかとか、
あれこの時は既に$user存在してるっけ、とかいちいち考えなくていいのがいい
0493nobodyさん2008/11/03(月) 23:28:14ID:???
>>490
アホかお前。
頻度のこと言ってるのもわからないの?
だったら動的タイトル設定やPDF用のヘッダ操作だって
使わない規模の方がすくない。
ということで$responseも実装。
なんてパラメータ増やしてたらキリないだろww
0494nobodyさん2008/11/03(月) 23:36:15ID:???
ほぼ毎アクション使う$requestに対してsfUserは?
って考えればわかるよね。

>あれこの時は既に$user存在してるっけ、とかいちいち考えなくていいのがいい
こんなこと考えてる時点でショボグラマー
0495nobodyさん2008/11/04(火) 00:21:03ID:???
ログイン状態扱ってたらほぼ毎actionでuser使う
自分の分からないことをまったく想像できないのがショボグラマーの特徴だな
第二引数で渡して使うも使わないも自由にする方がいい
こんなことは議論の余地すらねーよ素人
0496nobodyさん2008/11/04(火) 01:18:55ID:???
                    ,===,====、
                   _.||___|_____||_
..               ∧_∧  /||___|^ ∧_∧
..               (・ω・`)//||   |口| |ω・` )
.             ./(^(^ .//||...||   |口| |c  )
.....            ∧_∧ / //  ||...||   |口| ||し      
.......        (・ω・`) //....  ||...||   |口| ||    
         /(^(^ //  ....  .||...||   |口| ||        スレは仲良く使ってね
 ""    :::'' |/   |/ '' "  :::  ⌒  :: ⌒⌒⌒ :: ""  `
 :: ,, ::::: ,, ; ̄ ̄ ̄  "、 :::: " ,, , :::   " :: " ::::  "


                    .    ∧_∧
                   ===,=(´・ω・`)
                   ||___|_゚し-J゚||_
                ∧_∧/ //.___|^∧_∧
               (´・ω・`) /||    |口|(´・ω・`)
              ./(^(^//|| ||    |口|⊂ _)
              ∧_∧ /./  || ||    |口| ||    ∧_∧
   ∧_∧    (´・ω・`)/  ...|| ||    |口| ||  (´・ω・`)
  (´・ω・`) /(^(^/ /      .|| ||    |口| ||    ゚し-J゚
 "" ゚し-J゚:::'' |/  |/ '' " :: ":::::⌒  :: ⌒⌒⌒ :: ""  `
 :: ,, ::::: ,, " ̄ ̄  "、 :::: " ,, , :::   " :: " ::::
      ぼくたちは、なかよくつかってるよ
0497nobodyさん2008/11/04(火) 08:31:20ID:???
>>492
>それを言うなら$this->getRequest()でもいいじゃんって話になる
まったくそのとおり。
だから実際$requestは省略できる。
よって$userも要らない。
>>495
Responseは?Loggerは?Contextは?
>あれこの時は既に$user存在してるっけ、とかいちいち考えなくていいのがいい
こんなことで考えるのに、どの引数がどのオブジェクトに設定されるのかは
迷わないの?
0498nobodyさん2008/11/04(火) 09:34:40ID:???
>>497
釣りか?技術者とは思えない論理展開で言葉もない
中学生もsymfony使ってるんだな
0499nobodyさん2008/11/04(火) 09:52:03ID:???
>>495
>ログイン状態扱ってたらほぼ毎actionでuser使う
使わねーよw
本当にSymfonyで開発したことあんのかw

あ、言っとくが、もちろん使うことはあるぞ。確かに良く使うほうではあるわな。
>$this->getUser()
けど、ちゃんとsecurity.ymlやらsetting.ymlやら設定しとけば「毎action」なんてこたぁねーだろ?
もし本当にそういう要求がある(AttributeやFlush使いまくりとか、ユーザー毎にやたらと細かい権限設定がある)んだったら、sfActions継承して新しい基底Actionクラス作ればいいだけ。
0500nobodyさん2008/11/04(火) 11:05:36ID:???
よく使う方ならそれで充分じゃないか
実際、mojavi時代にはcontroller,request,userがactionに渡されていた
それがsymfonyになり、いったん何も渡されなくなった
それが1.1以降また今度はrequestだけ渡されるようになった
requestだけを渡すくらいならuserを渡しても、誰も何も損しないだろう
requestとuserは両方ともコンテナで類似性が高く、
二つ渡ってくる方がバランス的に気持ちいい
シンプルな話じゃないか。
基底actionは書くのが当然だと俺も考えているが、それは別の問題だろう
0501nobodyさん2008/11/04(火) 11:33:28ID:???
>>498
釣りっていうのは君が今している内容の無いレスのことを言うんだぜ。
君の言う中学生のほうがまともなレスしてるぞ

>>499
確かにほぼ毎アクション使うってのはちょっと仕様的に破綻してるな。
ユーザIDみたいなのをテーブルに書き込ませたりするなら、
sfGuardPluginみたいにモデルにコンテキストから突っ込んで自動保存させたほうが
コード少なくて済むし。

>>500
Mojaviでも3.0で消えたぜ。3つ渡してたのはPHP4の仕様上の問題で仕方なく。
>requestとuserは両方ともコンテナで類似性が高く
そうでもない。それだったらクッキー操作が入る$responseも入れないと
バランス悪い。


0502nobodyさん2008/11/04(火) 12:28:41ID:???
ふーん。センスない奴が多いんだな
最終的には審美的な問題だから、分からない人に何を言っても説得出来ないし、
ああ、君はそうなんですかとしか言えないが。
コンテナの話をしている時に
クッキーを担当しているという理由でresponseをあげる時点で決定的にセンスが欠けている。
0503nobodyさん2008/11/04(火) 18:01:12ID:???
>>502
まぁ、そう思うなら
「requestとuserは両方ともコンテナで類似性が高く、
二つ渡ってくる方がバランス的に気持ちいい」
ことをフランチョスに伝えてやってくれよ。
http://trac.symfony-project.org/report


こんなところでセンス語ってる時点で決定的にセンスが欠けている。
お前のセンスがいいならきっと反映されるぜ
0504nobodyさん2008/11/04(火) 18:19:13ID:???
実際responseとrequestでクッキー行き来してるしな。
片方だけ実装してバランスが良いとか…
0505nobodyさん2008/11/04(火) 18:58:22ID:???
まぁ同じパラメータホルダーだから類似してるって気持ちは分からなくも無いけどな。
コンテナなんて間違った言葉の使い方しちゃうから、話がややこしくなる。
自分がマイノリティなのを、周りがセンスないから…と言ってひきこもっちゃった子
の特集こないだNHKで見たわ。気をつけると良い。
0506nobodyさん2008/11/04(火) 19:55:26ID:???
>>495
良いこと教えてやるよ。
お前みたいな少数派でも対応できるように、symfonyには
core_compile.ymlって設定ファイルがある。
そこでsfActionsだけハックしたものを使うものが可能。
幸いsfActionsはたいしたことしてないんで、sfUserを突っ込むのも
簡単だろ?
まぁ他人のセンスを疑う前に、勉強しような!
0507nobodyさん2008/11/06(木) 20:49:11ID:jbsmLZzy
sfGuardPluginが独自のテーブルを作っちゃったりするのが気持ち悪いのと
勉強もかねて、ログイン機能を作ってプラグインにしてみました。

ちょっと疑問に思ったのですが
プラグインが独自で使う設定ってどこに書かせるのがいいのでしょうか?

例えば、認証に使うテーブルクラスの名前やカラムの名前などを
とりあえずsetting.ymlに書いて読むようにしてあるのですが
よく考えたら、ログインの時だけ必要な設定を毎回メモリーに読み込むのは
微妙だと思ったんですよね。

モジュールはプラグインに入っているので、module.ymlに書かせるのは難しいと思うんですよ。
後は独自の設定ファイルを書くようにしてsfYamlクラスで読みにいくとか。

どういう風にするのが一般的・・・というのはおかしいですが、
皆さんどんな感じにしてます?
0508nobodyさん2008/11/06(木) 21:02:11ID:???
>>507
sfGuardPluginを使うのが一般的という感じにしてます
05095072008/11/06(木) 21:08:03ID:jbsmLZzy
>>508
すいません。ちょっとわかりづらかったですね。

モジュールを含むようなプラグインで
アプリ全体で必要じゃない設定が必要なとき
設定ってどこに書かせるのがいいのでしょうか?

要約するとこんな感じです。
05105072008/11/06(木) 21:15:43ID:???
あ、そうか
moduleを作ればいいのか。

sfGuardAuthモジュールテンプレートをカスタマイズする

を読んでて気づいた。
試してみます。
0511nobodyさん2008/11/07(金) 18:36:24ID:Oe+2PckL
アクションファイルの中のクラスによって、

$bbsdata = BbsdataPeer::retrieveByPk($this->getRequestParameter('id'));
$this->bbsdata = BbsdataPeer::retrieveByPk($this->getRequestParameter('id'));

と書かれていますが、thisの有無の違いがわかりません。
初歩的な質問ですいませんが、お願いします。
0512nobodyさん2008/11/07(金) 19:57:17ID:Oe+2PckL
訂正

X アクションファイルの中のクラスによって、
○ アクションファイルの中のアクション(メソッド)によって、
0513nobodyさん2008/11/07(金) 22:04:30ID:???
>>511
テンプレートのなかで
<?php print_r($bbsdata->toArray());?>
ってやってごらん
0514nobodyさん2008/11/08(土) 00:24:41ID:3C+cxs1C
テーンプレートから参照するためにthisをつけるということでしょうか?
そうだとしてもその理由がいまいちわかりません。
0515nobodyさん2008/11/08(土) 14:15:35ID:???
>514
Symfonyがそういう風に作られているから。

・・・ま、確かに少々気味悪くはあるが、これは設計思想の問題だからしゃーない。
どーしても中身を知りたければ、__getと__setでググれ。
0516nobodyさん2008/11/08(土) 17:14:49ID:???
>>514
理由?
$this->setVar('bbsdata', Bbsdata.....
って書くのが面倒な人のためのショートカット
0517nobodyさん2008/11/10(月) 19:06:23ID: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()のしょっぱなでいきなり取り除いているので、
たぶん設定ではどうにもならないと思うのですが、どうにかなりますか?
0518nobodyさん2008/11/10(月) 19:28:23ID:???
普通にアンダーバーつかってるけど、禁止はホスト名だけじゃない?
アマゾンのURLとかみても(パラメータだけど)アンダーバーつかってるし。
0519nobodyさん2008/11/10(月) 19:42:04ID:95yh0Lxp
>>518
ありがとうございます。
ホスト名でしたっけ?今ちょっと探してみたけど、見つからないし
そういわれてみるとそんな気もします。

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

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

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

root作ればいけましたね。
いちいち作るの面倒なので、アンダーバーかそのまま続けてしまうかした方がよさそうですね。
慣れの問題だと思うけど、アンダーバーの入ってるURLってなんか気持ち悪くて。
0521nobodyさん2008/11/10(月) 20:20:02ID:???
ハイフンの方が気持ち悪い
0522nobodyさん2008/11/13(木) 12:59:14ID:9D9L1EQK
Peerクラスの名前がわかってて
そのテーブルの主キーの名前を取得したいのですが、
なんか良い方法ありますか?
05235222008/11/13(木) 14:23:15ID:???
すいません。見つけました。
Peer::getTableMap()で全部のカラムを取得してから・・・
こんな感じでやりました。

function get_primary_key($class_name)
{
$columns = call_user_func(array($class_name."Peer","getTableMap"))->getColumns();
$pk = array();
foreach($columns as $column)
{
if($column->isPrimaryKey()) $pk[] = $column->getColumnName();
}
return $pk;
}

なんか、効率悪そうですね。
Peerクラスに主キーの情報くらい直接持っててもよさそうな気もしますが。

複数のPeerとかOMクラスで同じメソッドを作りたいときはどうしてますか?

ピヘイビアは重くなりそうだし、BasePeerは何も継承してないのでカスタマイズできないので
PeerBulderを変えるか、多少重くなっても、ビヘイビアを選択するかですかね。
0524nobodyさん2008/11/13(木) 20:54:44ID:???
おとなしくビルダークラス作ってカスタマイズしてろよ
0525nobodyさん2008/11/14(金) 08:14:39ID:???
1.1.4を使ってます。
Criteria::CUSTOM を使って外からくる値をSQLに突っ込む時
quoteするメソッドってないんですか?

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

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

アクションから取得したデータをもとにどこかにテキストファイルを作って、それを読み込ませるという
流れでやろうと思っているんですが。
開発経験がほとんどないのでお願いします。
■ このスレッドは過去ログ倉庫に格納されています