08/10/11 00:36:44
>>429
生成されたキャッシュみれば使い方わかるよ
431:429
08/10/11 01:25:13
>>430
ありがとうございます。
さっそく見てみます。
ちなみに、double_listを生成するヘルパー的なものはないのでしょうか?
432:nobodyさん
08/10/11 01:32:06
>>431
あ、いや、だからキャッシュみれば、
object_admin_double_listってヘルパー関数の使い方がわかるって意味で…
433:429
08/10/11 04:31:43
あ、なるほど;
ありがとうございます!
調べてみます!
434:nobodyさん
08/10/12 14:42:54
みなさんはログイン処理作るとき、どうしてますか?
自作してますか?それとも、sfGuardプラグインなどを使ってますか?
sfGuardプラグインって、なんとなく使いづらそうな印象があるのですが・・・
435:nobodyさん
08/10/13 01:33:52
>>434
じゃぁ自作すると良いよ
436:nobodyさん
08/10/17 15:06:59
symfony-doc-ja - Google Code symfony日本語翻訳プロジェクト
URLリンク(code.google.com)
ここのchmが手元のIE8B2環境で開けなかったのでKeytoolsでデコンパイル
→cssで本文の行高さを好みで1.4に→HTML Help Workshopでコンパイル
→umaaaaaaaa
あと >>111 に助けられた
437:nobodyさん
08/10/17 17:31:35
URLリンク(trac.symfony-project.org)
これってアプリケーション名でweblogとfrontendが混ざってない?これでいいの?
438:nobodyさん
08/10/18 22:26:34 q6NYCrNL
symfony ccした時にapacheが生成したキャッシュを更新できないときあるじゃないですか?
あれどうやって解消してます?
いろいろ方法あると思うけど
apacheの実行ユーザーとログインするユーザーを一緒にしてしまう
>セキュリティ的に問題が・・・ないかな?
とか
書き込みできないファイルを削除 または rootになってchmod 0777 *
>めんどくさい
とか
どんな感じで解消してます?
439:nobodyさん
08/10/18 23:32:55
ディレクトリが777なら削除はできるんでなかったっけ?
440:nobodyさん
08/10/19 01:33:59
>>438
意味がわからん
キャッシュを更新できないってのは削除できないって事?
単にディレクトリが777になってないだけじゃないのか
441:438
08/10/19 06:02:39
>>439
>>440
削除はできますよ。
ではなくて、cacheの中にapache(httpdの実行ユーザー)がオーナーのファイルがあって
symfony ccしたときに上書きできないことがあったんです。で、これを削除すれば、ccは出来るけど
恐らく、apacheが書き込もうとした時に失敗するから、例えばデバックモードで開発をしてる時に
うまくキャッシュを更新できないのではと、思ったわけです。
てか、なんで?
他の人はなったことないの?
普通にみんな遭遇するのかと思ったけど
442:nobodyさん
08/10/19 11:52:31
symfony ccの中でキャッシュを更新する?ってのがよくわからん。ディレクトリ残して全削除されるんじゃねーの?
443:nobodyさん
08/10/19 12:10:22
ccで上書きの意味がわからんのだが
ccはキャッシュ削除だろ
そもそもキャッシュのオーナーがapacheの実行ユーザーなのは当たり前だと思うが
444:nobodyさん
08/10/19 14:20:46
yamlファイル書き換えた直後にccしたらキャッシュに上書きしようとすることあるよ
そのときは一度Apache経由でアクセスしてやればいいと思う
445:438
08/10/20 19:52:46 K3O7/LLa
皆さんレスサンクス
そうか、ccってクリアした後に、キャッシュ作るもんだと勘違いしてました。
で、>>444さんの
>yamlファイル書き換えた直後にccしたらキャッシュに上書きしようとすることあるよ
これに引っかかって、上書きできないことがあったんですね。
しかも、必ず起こるわけじゃないですね。
どういう条件のとき上書きしようとするのかちょっとわからないけど
ありがとうございました。
446:445
08/10/20 20:18:39 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なので、平気そうに見えます。
どうしてでしょうか?
まあ、特に必要ないといえばないのですが、マニュアルと違うっぽいのできになったもので。
お願いします
447:nobodyさん
08/10/20 20:38:12
>>446
1.1ではweb_debugの項目は廃止されてるよ
フロントコントローラで
ProjectConfiguration::getApplicationConfiguration('frontend', 'prod', true);
じゃね
448:446
08/10/21 12:41:26 V5bf6vPW
>>447
ありがとうございます。
なんか、マニュアルとあわないけど、まあ、447さんのやりかで問題ないので気にしないことにします。
Web Debug Toolbar Activation, in frontend/config/settings.yml
dev:
.settings:
web_debug: on
とはっきり書いてあるんですけどねえ。なんか不具合があって途中で廃止されたとかですかね。
449:nobodyさん
08/10/21 21:14:10
オープンソースなんだから気付いたんならメールすればよい
開発に貢献したまえ
450:nobodyさん
08/10/21 21:33:09
compact10の互換のためだろうが
451:nobodyさん
08/10/21 21:45:20
まあデフォできいてないならマニュアルとしては一言書いておいてほしいとこだな
452:nobodyさん
08/10/21 21:46:40
>>451
書いてあるだろ。
1.0=>1.1の項目に。
453:nobodyさん
08/10/21 21:52:43
>>448が言ってるのはbookの16章のとこだろ
1.1のマニュアルに書いてないからわからなかったって事じゃねーの
454:nobodyさん
08/10/22 11:49:18 xQzdLTf7
1.0=>1.1にありました?見逃したかな・・・
フィルターはやめてresponseに注入?したって書いてあるのは見つけたのですが。
報告ですか・・・がんばってみますが英語書くのはちょと・・
もう一点お願いします。
URLリンク(www.symfony-project.org)
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権限の無いサーバーでは面倒かなと。
どんな風にやるとよいのでしょうか?
お願いします。
455:nobodyさん
08/10/22 22:41:45
そろそろ1.0から1.1に変更しようと思うんだけど
URLリンク(code.google.com)
に書いてある方法でアップグレードした方いますか?
いれば実際に注意点とかあれば教えてください。
456:nobodyさん
08/10/23 02:01:05
まぁ、あまりお勧めしないとだけ言っておく。
規模次第だけど、結構手間。
457:nobodyさん
08/10/23 04:09:02
>>447
つけたしだけど、廃止されてるのはfilters.ymlでの設定で、web_debugはsetting.ymlでは使えるよ
prod環境でツールバー出すときは、factories.ymlでlogの設定を修正してsetting.ymlでweb_debugをonにしないと駄目だな
458:nobodyさん
08/10/24 16:11:28 ebeBY5Qd
MySqlの
varchar(255) binary
をpropelで定義するのは無理っぽいですか?
symfony propel-build-allした後にalter ~するんでしょうか?
459:nobodyさん
08/10/25 03:45:44
sfFormでinput_date_tagのrich=trueに該当するの無くないか…?
460:nobodyさん
08/10/26 00:58:37
>>459
使いたかったら自分でビューに記述すりゃよくね?
他のところはrenderRowしてさ。
そういうことぢゃなく?
461:nobodyさん
08/10/26 01:19:58
>>460
echo $formで済むものをなんでわざわざそんな無駄踏む必要あるんだよwwwww
普通にwidgetクラスつくればいいだけだろうがw
462:460
08/10/26 18:22:01
>>461
そーゆーモンかね。
まぁ、可能な限りecho $formやrenderRowで済まそうとすればそれもアリか。せっかくsfForm使うんだもんな。
漏れは「ヘルパーあるんだからそれ使えばいいぢゃん」と思うが、これはバラでrenderLabelやrenderErrorしてるからなんだろう。
463:460
08/10/26 18:27:20
念の為追記。
一応、compat_10しなくても、フォームヘルパーもオブジェクトヘルパーも動く。
もちろん、本当に(まったく)同じ動作をするかはしらん。
input_date_tagが動くかどうかも試してないw
464:nobodyさん
08/10/27 02:41:04
idだけを変えるforeachの中でlink_toを繰り返し呼ぶのって気持ち悪いな
マッピングって結構コストあるじゃん
単にidをハメるだけでいいベースのURLを取得できればいいんだが
465:nobodyさん
08/10/27 03:14:53
sf_contextみたいな標準でviewで使える変数を他にも定義したいんだが
それはsfContextのfilterTemplateParametersで定義してる。
sfContextをオーバーライドするのは色々まずいよね
どうすればできる?
466:nobodyさん
08/10/27 03:15:03
url_forでURLだけ作ってIDだけまわすとかできない?
467:nobodyさん
08/10/27 03:30:17
>>465
app.ymlで定義してテンプレート内でsfConfig::getで取得するとか
468:nobodyさん
08/10/27 04:14:08 kNx8sH92
アクセスコントロールについての質問です。
secureをonにしたアクションに権限なしアクセスした時、
モジュールごとに、リダイレクト先アクションを変えたいのですが、
settings.ymlではそういった細かい設定は出来ませんよね?
やはり、preExecuteなどで自分でチェックするしかないのでしょうか?
469:nobodyさん
08/10/27 07:45:55
>>463
それがどうした
470:nobodyさん
08/10/27 09:40:42
>>464
そういうのは自分で作ってコミットするんです。
471:nobodyさん
08/10/27 11:29:34
>>468
modules/config/settings.yml
に書いたんじゃだめなんでしたっけ?
試してなけど、より細かい範囲?の設定がうわがかれるからいけそうだけど
472:nobodyさん
08/10/27 11:30:24
modules/名前/config/settings.yml
間違えた
473:nobodyさん
08/10/27 11:45:10 x9xrCR0d
コーディング規約にクラス名とそのファイル名に関する記述が見つからないんですけど
クラス名は小文字ではじめてラクダ?lowerCamelCaseっていうですか?
でファイル名はclassName.class.phpみたくclassを入れるのでしょうか?
modelの中に作られるORMのファイルが違うし、
クラス名って大文字ではじめるのが、
ほとんどの言語で規約になってるじゃないですか?
小文字ではじめるって言うのsfだけに限ったことですか?
なんか気持ち悪くて・・・
474:nobodyさん
08/10/27 22:20:04
>>473
URLリンク(symfony.xrea.jp)
ここにあるだろうが。なんでこんなものも見つけられないんだ。
475:nobodyさん
08/10/27 23:27:27
>>471
レスありがとうございます
それも試してみたのですが、無理でした
ただ自分で書いても、わりとアッサリ出来ました
飛び先が一つしか設定できないっていうのは正直不可解な仕様です
みんな不満なくやっているのでしょうか・・
476:473
08/10/28 14:53:05
>>474
レスありがとうございます。
すいません。その章はざっと読み飛ばしてました。
クラス名はUpperCamelCaseで良いみたいですね。
でも
UpperCamelCase is the standard for class and variable naming.
っておかしくないですか?変数の名前?
変数はlowerCamelCaseですよね?
まあ、そんなに気にすることないのかな。
プラグインとか入れてみるとクラス名がlowerCamelCaseになってるの多いけど
あれって、厳密に言えば規約違反ってことですよね?
こんな感じでやっちゃいます。
クラス名:UpperCamelCase
メソッド・プロパティ:lowerCamelCase
ファイル名:ClassName.class.php
477:nobodyさん
08/10/28 23:12:32
うちの会社では、viewはデザインからテンプレートのコーディングまでデザイナーがやるのですが
アクションで設定したテンプレートで使える変数の一覧をページで簡単に確認できるようにしようと思ってます。
いろいろ試してみたのですが、テンプレートに渡した変数はActionでしか取得できないっぽいですよね?
そんなことないですか?
postExecuteで例えばセッションとかResponseにセットして、Filterで表示とか考えたのですが
postExecuteを全モジュールに作るのもめんどいし
またActionの独自クラスを作ったとしても、モジュール作った後に継承元を変えるのも
いまいちな感じなんですよね。
MyUserにsetすればweb_debugツールバーで見れるんですけど、深い階層の配列が見づらいし・・・
テンプレにアサインした変数の一覧表示なんて、ものすごい要望の多そうな機能なので
いくらでもありそうだけど、なんか見逃してたりします?
また、うまい方法もしくはプラグインなどあったらお願いします。
478:447
08/10/29 13:12:01 eltEv9kS
あ、sageで書いてましたすいません。
なんがごちゃごちゃ書いてますけど、一言で表現すると
アクションでテンプレートに渡した変数の一覧ってfilterで取得できませんか?
できれば、アクションを変更しないで、filterのみで実現したいです。
って感じです。
よろしくお願いします
479:nobodyさん
08/10/29 19:30:27
フランチョス喧嘩してんの?
480:nobodyさん
08/10/29 21:06:31
>>477
エクリプスのプラグイン作ってあるんで、100万くらいで売ってあげるよ
481:nobodyさん
08/10/31 15:21:57
>>480
あ、じゃあお願いします
振り込みますので名義と口座番号と暗証番号お願いします。
ところで、フランチョスってなんですか?
482:nobodyさん
08/10/31 23:10:16
>>481
了解です。
引き出しますので名義と口座番号と暗証番号お願いします。
483:nobodyさん
08/11/01 10:57:37
>>481
ためしに通報してみた
484:nobodyさん
08/11/01 17:09:43
svnの1.2の新しいadmin generatorで
$attributes->getRawValue()
これをつかってるキャッシュの行でコケるんだけど、
開発途中でバグってるだけだよね
485:nobodyさん
08/11/02 15:59:51
1.2Beta1きましたよ
486:nobodyさん
08/11/03 12:52:47
そろそろ新しい書籍が欲しいところですなぁ。
フォーム周りとかだいぶ変わったし。
487:nobodyさん
08/11/03 13:34:20
actionにrequestだけ渡してくるのってアンバランスな仕様だな
userも渡してこいよ
488:nobodyさん
08/11/03 17:01:25
どう考えてもuserよりrequestのが圧倒的に多いだろ。
userまで渡す方がアンバランス
489:nobodyさん
08/11/03 21:08:36
1.1のsfValidatorNumberバグってるな
0入れるとrequiredのエラーが発動しやがる
490:nobodyさん
08/11/03 21:21:12
>>488
普通セッション使わない規模の方がむしろ少ないだろ
ショボグラマー乙
491:nobodyさん
08/11/03 22:44:00
>>490
つか、なんで$this->getUserぢゃいかんの>
492:nobodyさん
08/11/03 22:54:20
それを言うなら$this->getRequest()でもいいじゃんって話になる
メソッドの最初から使えると、
どのタイミングで$user = $this->getUser()するかとか、
あれこの時は既に$user存在してるっけ、とかいちいち考えなくていいのがいい
493:nobodyさん
08/11/03 23:28:14
>>490
アホかお前。
頻度のこと言ってるのもわからないの?
だったら動的タイトル設定やPDF用のヘッダ操作だって
使わない規模の方がすくない。
ということで$responseも実装。
なんてパラメータ増やしてたらキリないだろww
494:nobodyさん
08/11/03 23:36:15
ほぼ毎アクション使う$requestに対してsfUserは?
って考えればわかるよね。
>あれこの時は既に$user存在してるっけ、とかいちいち考えなくていいのがいい
こんなこと考えてる時点でショボグラマー
495:nobodyさん
08/11/04 00:21:03
ログイン状態扱ってたらほぼ毎actionでuser使う
自分の分からないことをまったく想像できないのがショボグラマーの特徴だな
第二引数で渡して使うも使わないも自由にする方がいい
こんなことは議論の余地すらねーよ素人
496:nobodyさん
08/11/04 01:18:55
,===,====、
_.||___|_____||_
.. ∧_∧ /||___|^ ∧_∧
.. (・ω・`)//|| |口| |ω・` )
. ./(^(^ .//||...|| |口| |c )
..... ∧_∧ / // ||...|| |口| ||し
....... (・ω・`) //.... ||...|| |口| ||
/(^(^ // .... .||...|| |口| || スレは仲良く使ってね
"" :::'' |/ |/ '' " ::: ⌒ :: ⌒⌒⌒ :: "" `
:: ,, ::::: ,, ; ̄ ̄ ̄ "、 :::: " ,, , ::: " :: " :::: "
. ∧_∧
===,=(´・ω・`)
||___|_゚し-J゚||_
∧_∧/ //.___|^∧_∧
(´・ω・`) /|| |口|(´・ω・`)
./(^(^//|| || |口|⊂ _)
∧_∧ /./ || || |口| || ∧_∧
∧_∧ (´・ω・`)/ ...|| || |口| || (´・ω・`)
(´・ω・`) /(^(^/ / .|| || |口| || ゚し-J゚
"" ゚し-J゚:::'' |/ |/ '' " :: ":::::⌒ :: ⌒⌒⌒ :: "" `
:: ,, ::::: ,, " ̄ ̄ "、 :::: " ,, , ::: " :: " ::::
ぼくたちは、なかよくつかってるよ
497:nobodyさん
08/11/04 08:31:20
>>492
>それを言うなら$this->getRequest()でもいいじゃんって話になる
まったくそのとおり。
だから実際$requestは省略できる。
よって$userも要らない。
>>495
Responseは?Loggerは?Contextは?
>あれこの時は既に$user存在してるっけ、とかいちいち考えなくていいのがいい
こんなことで考えるのに、どの引数がどのオブジェクトに設定されるのかは
迷わないの?
498:nobodyさん
08/11/04 09:34:40
>>497
釣りか?技術者とは思えない論理展開で言葉もない
中学生もsymfony使ってるんだな
499:nobodyさん
08/11/04 09:52:03
>>495
>ログイン状態扱ってたらほぼ毎actionでuser使う
使わねーよw
本当にSymfonyで開発したことあんのかw
あ、言っとくが、もちろん使うことはあるぞ。確かに良く使うほうではあるわな。
>$this->getUser()
けど、ちゃんとsecurity.ymlやらsetting.ymlやら設定しとけば「毎action」なんてこたぁねーだろ?
もし本当にそういう要求がある(AttributeやFlush使いまくりとか、ユーザー毎にやたらと細かい権限設定がある)んだったら、sfActions継承して新しい基底Actionクラス作ればいいだけ。
500:nobodyさん
08/11/04 11:05:36
よく使う方ならそれで充分じゃないか
実際、mojavi時代にはcontroller,request,userがactionに渡されていた
それがsymfonyになり、いったん何も渡されなくなった
それが1.1以降また今度はrequestだけ渡されるようになった
requestだけを渡すくらいならuserを渡しても、誰も何も損しないだろう
requestとuserは両方ともコンテナで類似性が高く、
二つ渡ってくる方がバランス的に気持ちいい
シンプルな話じゃないか。
基底actionは書くのが当然だと俺も考えているが、それは別の問題だろう
501:nobodyさん
08/11/04 11:33:28
>>498
釣りっていうのは君が今している内容の無いレスのことを言うんだぜ。
君の言う中学生のほうがまともなレスしてるぞ
>>499
確かにほぼ毎アクション使うってのはちょっと仕様的に破綻してるな。
ユーザIDみたいなのをテーブルに書き込ませたりするなら、
sfGuardPluginみたいにモデルにコンテキストから突っ込んで自動保存させたほうが
コード少なくて済むし。
>>500
Mojaviでも3.0で消えたぜ。3つ渡してたのはPHP4の仕様上の問題で仕方なく。
>requestとuserは両方ともコンテナで類似性が高く
そうでもない。それだったらクッキー操作が入る$responseも入れないと
バランス悪い。
502:nobodyさん
08/11/04 12:28:41
ふーん。センスない奴が多いんだな
最終的には審美的な問題だから、分からない人に何を言っても説得出来ないし、
ああ、君はそうなんですかとしか言えないが。
コンテナの話をしている時に
クッキーを担当しているという理由でresponseをあげる時点で決定的にセンスが欠けている。
503:nobodyさん
08/11/04 18:01:12
>>502
まぁ、そう思うなら
「requestとuserは両方ともコンテナで類似性が高く、
二つ渡ってくる方がバランス的に気持ちいい」
ことをフランチョスに伝えてやってくれよ。
URLリンク(trac.symfony-project.org)
こんなところでセンス語ってる時点で決定的にセンスが欠けている。
お前のセンスがいいならきっと反映されるぜ
504:nobodyさん
08/11/04 18:19:13
実際responseとrequestでクッキー行き来してるしな。
片方だけ実装してバランスが良いとか…
505:nobodyさん
08/11/04 18:58:22
まぁ同じパラメータホルダーだから類似してるって気持ちは分からなくも無いけどな。
コンテナなんて間違った言葉の使い方しちゃうから、話がややこしくなる。
自分がマイノリティなのを、周りがセンスないから…と言ってひきこもっちゃった子
の特集こないだNHKで見たわ。気をつけると良い。
506:nobodyさん
08/11/04 19:55:26
>>495
良いこと教えてやるよ。
お前みたいな少数派でも対応できるように、symfonyには
core_compile.ymlって設定ファイルがある。
そこでsfActionsだけハックしたものを使うものが可能。
幸いsfActionsはたいしたことしてないんで、sfUserを突っ込むのも
簡単だろ?
まぁ他人のセンスを疑う前に、勉強しような!
507:nobodyさん
08/11/06 20:49:11 jbsmLZzy
sfGuardPluginが独自のテーブルを作っちゃったりするのが気持ち悪いのと
勉強もかねて、ログイン機能を作ってプラグインにしてみました。
ちょっと疑問に思ったのですが
プラグインが独自で使う設定ってどこに書かせるのがいいのでしょうか?
例えば、認証に使うテーブルクラスの名前やカラムの名前などを
とりあえずsetting.ymlに書いて読むようにしてあるのですが
よく考えたら、ログインの時だけ必要な設定を毎回メモリーに読み込むのは
微妙だと思ったんですよね。
モジュールはプラグインに入っているので、module.ymlに書かせるのは難しいと思うんですよ。
後は独自の設定ファイルを書くようにしてsfYamlクラスで読みにいくとか。
どういう風にするのが一般的・・・というのはおかしいですが、
皆さんどんな感じにしてます?
508:nobodyさん
08/11/06 21:02:11
>>507
sfGuardPluginを使うのが一般的という感じにしてます
509:507
08/11/06 21:08:03 jbsmLZzy
>>508
すいません。ちょっとわかりづらかったですね。
モジュールを含むようなプラグインで
アプリ全体で必要じゃない設定が必要なとき
設定ってどこに書かせるのがいいのでしょうか?
要約するとこんな感じです。
510:507
08/11/06 21:15:43
あ、そうか
moduleを作ればいいのか。
sfGuardAuthモジュールテンプレートをカスタマイズする
を読んでて気づいた。
試してみます。
511:nobodyさん
08/11/07 18:36:24 Oe+2PckL
アクションファイルの中のクラスによって、
$bbsdata = BbsdataPeer::retrieveByPk($this->getRequestParameter('id'));
$this->bbsdata = BbsdataPeer::retrieveByPk($this->getRequestParameter('id'));
と書かれていますが、thisの有無の違いがわかりません。
初歩的な質問ですいませんが、お願いします。
512:nobodyさん
08/11/07 19:57:17 Oe+2PckL
訂正
X アクションファイルの中のクラスによって、
○ アクションファイルの中のアクション(メソッド)によって、
513:nobodyさん
08/11/07 22:04:30
>>511
テンプレートのなかで
<?php print_r($bbsdata->toArray());?>
ってやってごらん
514:nobodyさん
08/11/08 00:24:41 3C+cxs1C
テーンプレートから参照するためにthisをつけるということでしょうか?
そうだとしてもその理由がいまいちわかりません。
515:nobodyさん
08/11/08 14:15:35
>514
Symfonyがそういう風に作られているから。
・・・ま、確かに少々気味悪くはあるが、これは設計思想の問題だからしゃーない。
どーしても中身を知りたければ、__getと__setでググれ。
516:nobodyさん
08/11/08 17:14:49
>>514
理由?
$this->setVar('bbsdata', Bbsdata.....
って書くのが面倒な人のためのショートカット
517:nobodyさん
08/11/10 19:06:23 95yh0Lxp
moduleの名前にハイフンを入れても、forward時に勝手に取り除くようになってるのですが
これは何故でしょうか?
例えばfoo-barというmoduleにしたいと思って
symfony propel-init-admin app foo-bar FooBar
とやっても
URLリンク(hoge.hoge.hoge)
じゃないとアクセスできないし、ヘルパーなどで作られるURIもfoobarになってしまいます。
複数の単語を含むようなmoduleを作りたいときはアンダーバーじゃないとだめっぽいですね。
たしか厳密にいえば、アンダーバーはURLに含めてはいけなかったと思ったのですが。
sfController::forward()のしょっぱなでいきなり取り除いているので、
たぶん設定ではどうにもならないと思うのですが、どうにかなりますか?
518:nobodyさん
08/11/10 19:28:23
普通にアンダーバーつかってるけど、禁止はホスト名だけじゃない?
アマゾンのURLとかみても(パラメータだけど)アンダーバーつかってるし。
519:nobodyさん
08/11/10 19:42:04 95yh0Lxp
>>518
ありがとうございます。
ホスト名でしたっけ?今ちょっと探してみたけど、見つからないし
そういわれてみるとそんな気もします。
まあ、アンダーバーでやりますか・・・
ところで公式にsymfonyで作られてたサイトの一覧見たいのありましたよね?
ためしに、symfonyで作られてたサイトのURLをみて
モジュール名どんな風にしてるのか見ようかと思ったのですが、見つからなくなっちゃいました。
知ってたら教えてください。
520:519
08/11/10 19:59:53
公式でこんなの見つけました
URLリンク(www.symfony-project.org)
root作ればいけましたね。
いちいち作るの面倒なので、アンダーバーかそのまま続けてしまうかした方がよさそうですね。
慣れの問題だと思うけど、アンダーバーの入ってるURLってなんか気持ち悪くて。
521:nobodyさん
08/11/10 20:20:02
ハイフンの方が気持ち悪い
522:nobodyさん
08/11/13 12:59:14 9D9L1EQK
Peerクラスの名前がわかってて
そのテーブルの主キーの名前を取得したいのですが、
なんか良い方法ありますか?
523:522
08/11/13 14:23:15
すいません。見つけました。
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を変えるか、多少重くなっても、ビヘイビアを選択するかですかね。
524:nobodyさん
08/11/13 20:54:44
おとなしくビルダークラス作ってカスタマイズしてろよ
525:nobodyさん
08/11/14 08:14:39
1.1.4を使ってます。
Criteria::CUSTOM を使って外からくる値をSQLに突っ込む時
quoteするメソッドってないんですか?
propelが1.3になるとadapterにquoteというメソッドがあるみたいですが
1.2の時はどうするんでしょうか?
別途自前で用意してもいいですけどあるなら使おうかと・・・
カラム名とかをバックスラッシュでquoteするのは見つけましたけどシングルquoteが見つかりません。
お願いします。
526:nobodyさん
08/11/21 18:59:55 teu4KGCR
アクションから取得したデータでCSVファイルを作成し、そのデータをもとに
グラフ表示したいのですが、どのような流れでつくるのがいいでしょうか?
アクションから取得したデータをもとにどこかにテキストファイルを作って、それを読み込ませるという
流れでやろうと思っているんですが。
開発経験がほとんどないのでお願いします。
527:nobodyさん
08/11/21 23:11:15 MX0rvE3s
symfony 1.0使ってるものです。
validate/action名.ymlの
fillinのconvertersに、自作の関数を入れたいんだが
自作の関数をどこに書けばいいの?
528:nobodyさん
08/11/26 06:34:11
1.0.19キター
529:525
08/11/26 11:50:19
突っ込む値が文字列ならシングルクオートのみをクオートすればいいから
addslashes
でいいのか。実際コードたどると使ってるところがありますね。
で、数字だったらキャストしてやると。
Zend_DbのquoteIntoみたいなのあればいいと思ったけど、まあ、なんか作るかな。
>>526
なんか質問が壮大すぎませんか?
もうちょっと的を絞ってお願いします。前レスを見ればわかると思いますが
ここの人たちは怖い人たちが多いので「PHPのぐだらない~」のほうが向いてるかもしれません。
530:test
08/11/28 02:01:50
アクションで取得したデータをそのままテキストファイルに流し込むには
どのような処理をすればいいのでしょうか?
531:nobodyさん
08/11/29 17:17:28
JOINしたテーブルのカラムってSELECTで参照できないの?
532:nobodyさん
08/11/29 20:31:26
>>531
できなかったらあんまし意味なくね?
533:nobodyさん
08/11/30 05:18:39
>>532
例えば、決済トランに会員マスタをJOINしても、会員マスタのデータはSELECTできない。
534:nobodyさん
08/11/30 20:26:13
それはpropelの使い方が悪い
535:nobodyさん
08/12/01 15:40:34
1.2.0きました
536:nobodyさん
08/12/02 00:10:10
短い命だったな>1.1
URLリンク(code.google.com)
まぁ、1.1で学んだことが無駄にはならんとは思うが、また結構変わったな。
537:nobodyさん
08/12/02 05:23:30
なんとか1.1 -> 1.2を完了した。
やっぱりDBがPDOになった(propelが1.3になった)周りの変更がでかかったな。
538:nobodyさん
08/12/02 09:17:20
ドクトリンはどうよ
539:nobodyさん
08/12/02 09:46:52
>>537
kwsk。doSelectRSとか、あの辺?
select直投げとかも使ってるから、結構インパクトあるかも。
まぁ、最低でも三ヶ月は移行しないけどね。1.1.0も結構バグあったし。
しかしSymfonyは結構サイクル短いな。
540:nobodyさん
08/12/02 17:14:50
1.2の標準はドクトリンなんだろ?
プロペルなんて使ってる奴は昭和
541:nobodyさん
08/12/02 18:28:40
ドクトリンで
WHERE A AND ( B OR C )
みたいなカッコ表記するのってどうやるの?
542:nobodyさん
08/12/02 18:39:26
そのまま
$query->where('A AND ( B OR C )')
543:nobodyさん
08/12/02 20:45:23
>>540
ドクトリンは標準ではないんだよ。
どちらもOKといったかんじ。
544:nobodyさん
08/12/03 09:49:01
ドクトリン使うかなー
propelとかありえない。プロペラ付けて遙か彼方に飛んでいって欲しい。
で、パフォーマンスはどうなん?>ドク
545:nobodyさん
08/12/03 22:48:45
Doctrineとか駄目だわ。
Propel1.3のがパフォーマンス良いし、コードジェネレートで
IDEでの補完効いて楽。
ActiveRecordとか終りすぎ。
546:nobodyさん
08/12/04 02:16:41
生SQL最強でFA
547:nobodyさん
08/12/04 11:42:48
まぁマッパはどっちでも良いが、
プラグインの都合でドクだと少々困る人は困るかもな
548:nobodyさん
08/12/04 22:27:30
みんな1.2やり始めてるん?
関心関心
549:nobodyさん
08/12/04 23:56:25
1.1でやってるなら1.2にしたほうがいいわな
1.1からpropel1.3使ってたから移行楽だった
550:nobodyさん
08/12/05 16:50:24
sfFormで質問なんですが
sfValidatorAnd で複数のバリデーション実行する時って
1個でもエラーあったら次の処理終了とかできませんか?
あと、エラーメッセージを配列で取得したい時ってgetErrorSchemaで取得するしか方法ないのかな?
551:nobodyさん
08/12/14 09:23:29
いまだにfrontend_devまるだしサイト結構あるなw
552:nobodyさん
08/12/15 10:57:09
frontend backendって名前にすること自体ありえん
553:nobodyさん
08/12/17 18:05:07 MLlBkt3T
symfonyのadmin generator見たいに画面を自動で作っちゃうのを
スカフォなんとかとか言いませんでしたっけ?
sca~こんな書き出しだったきもする。
どっかで見た気がするんだけど、思い出せない。
確か緑色の本で見たのかな。
気持ち悪いので知ってたら教えてください
554:nobodyさん
08/12/17 19:11:37
スカッフロード
555:553
08/12/17 19:30:21
>>554
ありがとうございます
さっぱりくっきりしました。
scaffold 足場、足場組み.
っていう意味みたいですね。
556:nobodyさん
08/12/17 19:42:48
どう見てもスカトロです
ありがとうございました
557:nobodyさん
08/12/17 19:52:23
frontend_dev丸出しサイトみるとAPC使ってるところないね
APCの使用率はどのくらい?
558:nobodyさん
08/12/19 04:01:04
>>557
2%
559:nobodyさん
08/12/19 04:06:53
そんな低くないだろ~
10%くらいはあるんじゃね
560:nobodyさん
08/12/19 14:34:21
URLリンク(www.activeweb.jp)
ここいいな。fastcgiだし
561:nobodyさん
08/12/22 14:49:59
jobeetの話題がないな。
もうここに来る奴には用済みか?
symfony propel:data-loadで
Class '?JobeetJob' not found in /usr/share/pear/symfony/plugins/sfPropelPlugin/lib/addon/sfPropelData.class.php
ってでるわ。
一度だけ成功したんだけれど、最初からもう一度やってみようと思ったら、またでるようになった。
なんか抜けてるのかな?
562:nobodyさん
08/12/22 15:32:14
ちゃんとモデルビルドしてあんの?
563:561
08/12/22 15:54:53
>562
php symfony propel:build-modelですよね。
してます。
分からないので最初からもう一度やってみます。。。
564:nobodyさん
08/12/22 18:44:54
symfony ccは?
565:561
08/12/22 19:40:37
>>564
キャッシュクリアもやってます。
1.0以来久々だったので復習がてらやってるんですけど。
以前はあまり悩むことはなかったのですが。
日本語訳サイトと本家を行ったり来たりしてるから、何か間違ってるかも。
明日も休みだし、ゆっくりやるか。
566:nobodyさん
08/12/22 20:26:14 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
08/12/23 04:55:42
>566
1.2.1です。
>561の自分のレスを見るとクラス名に「?」が入ってるな。。。
設定ファイルの改行コードがくさい気がしてきた…。
明日、再度頑張ってやってみよう。
568:nobodyさん
08/12/25 20:37:41
symfony1.2のpropelってPDO使えないサーバだと駄目?
569:nobodyさん
08/12/26 07:37:20
symfony1.2にはphp5.2以上が必要です。
570:nobodyさん
08/12/26 22:09:47
URLリンク(elliottback.com)
URLリンク(wiki.rubyonrails.org)
自鯖で運用する場合パフォーマンスからみても
RailsよりPHP+Symfonyを選択する理由はなし?
571:nobodyさん
08/12/27 01:43:38
外注さがすときはphpのほうが見つかりやすいけどな。
一人でシコシコやってるだけなら好きにすればいい。
572:nobodyさん
08/12/27 02:09:03
必ずしも優れているほうが普及するってわけでもない
phpがwebアプリケーションのシェアとっちゃったから、急激な逆転はないでしょ
573:nobodyさん
08/12/27 11:09:40
体感的な話で申し訳ないが、RailsはPHP+Cakeなどに比べるとかなり重い。
DBに接続しない、単純なページ表示するのにも、キャッシュが効いていない場合は
どうなってんだってくらいRailsは表示に時間がかかる。
じゃあキャッシュ効かせればいいじゃんって話なんだけど、
ちょっとした情報を取ってきて表示が変わるようなページに対しては、
毎回表示が遅くなる、という事に。
DBまわりは、自分はPropel等使ってないから単純な比較は出来ないな。
個人的には、パフォーマンスはPHP、書きやすさはRuby(Rails)な感じ。
574:570
08/12/27 22:14:46
手元で10000回ループして文字列連結を試したけど
どうひいき目に見てもPHPのが速かった・・・
575:nobodyさん
08/12/28 04:54:43
railsを速く動かすにはかなりノウハウがいるだろ
576:nobodyさん
08/12/31 12:16:02
>>570
5.1.6とかまた酷いもんを比較対照にしてるなwww
577:nobodyさん
09/01/04 23:00:05
php擁護が多い
578:nobodyさん
09/01/05 08:37:49
symfonyスレだもの
579:nobodyさん
09/01/06 21:35:42
>>577
むしろあの古い比較記事自体、酷いrails擁護だろ
580:nobodyさん
09/01/07 00:42:52
URLリンク(www.symfony-project.org)
日本人はやる気ないなぁ。
確かに落ち目っぽいし。
581:nobodyさん
09/01/07 00:59:06
自分で何もしないやつほど吼えるよね
582:nobodyさん
09/01/07 11:59:39 E9TXficj
>>580
エンジニアに英語は必須でしょ。勉強しようよ。
そういう言う俺は公文の中学生英文法を勉強してるへたれだけど。
583:nobodyさん
09/01/08 10:30:11 RWe/YoFS
actionでテーブル名からそのOMクラス名を取得するにはどうすればいいですか?
584:583
09/01/08 14:04:48 RWe/YoFS
admin generatorをカスタマイズしてたんですけど
actionでやらないで、generatorでやってしまいました。
actionだと
Propel::getDatabaseMap($connectionName);
でDatabaseMapを取得して、どうにかするのかな?
試してないけど。
585:nobodyさん
09/01/12 05:16:23
doctrine試してるんですけど
doctrine-build-all-reload
すると、データベースを一回ドロップして作りなそうじゃないですか?
その時、encodingの値を無視してDEFAULT CHARACTER SET latin1で作っちゃうんですけど
設定でどうにかなりますか?
doctrine-build-all-reloadを使わないとか、mysqlの設定をいじってデフォルト値を変えちゃえばどうにかなるとは思うのですが
symfony側でどうにかならないかなあ。
586:585
09/01/12 05:17:13 JXhDeiPx
ああ、専ブラがまたデフォルト下げ設定になってました。
すいません。
587:nobodyさん
09/01/17 00:20:55 LLHZVk4w
schema.ymlでフィールドの選択可能な値一覧を指定する事って出来ますか?
MySQLのENUM型みたいなの。
イメージとしてはこんな感じです。
propel:
customer:
id: ~
sex: [male, female]
588:nobodyさん
09/01/17 02:22:45
ORMで定義するんじゃないの?
589:587
09/01/18 05:03:02 cj4gRIwu
>>588
ちょっとよく分からなかったので、とりあえず保留・・・
別テーブル作ってmale, femaleの2つのレコードを作って対処しました。
別の質問なんですけど、generator.yml に password, password2 という
2つのフィールドを定義しています。
modules/user/validate/edit.yml というバリデータを用意して2つのフィールド
ともにrequiredにして、sfCompareValidatorで2つのパスワードが一致しているか
チェックしてます。
それ自体はとりあえず動作したのですが、やりたい事はユーザーの新規作成
の時はパスワード入力は必須にして、更新の場合は値の入力は任意で、
値を入力した場合のみ2つが一致するかチェックさせたいです。
ゴリゴリ書けば出来ると思いますが、一番楽な方法ってどんなんですか?
590:nobodyさん
09/01/18 11:39:22
シコシコ書くしかないね。
591:587
09/01/18 11:59:51
>>590
そっかー。残念ですがシコシコやります。
ありがとうございました。
592:nobodyさん
09/01/22 16:52:06
sfForm を誰か簡単に説明してください。
これでフォーム周りがよくなったの?
593:nobodyさん
09/01/22 22:02:55
悪くなった。
594:nobodyさん
09/01/23 23:49:18
>>592
うん
595:nobodyさん
09/01/24 21:08:57 BN/V3l3x
blogを作るチュートリアルをやってます。
postとcommentという2つのモジュールがあるやつです。
postのedit画面でcommentの一覧表示をさせてますが、
これと同じ事をadmin generator(? generator.yml を使うやつ)で
できませんかね。
596:nobodyさん
09/01/26 01:23:09
>>595
できるよ
まぁできるってだけで、それが効率いいかどうかは微妙
597:nobodyさん
09/01/29 00:34:41
>>596
どういう方法?
598:nobodyさん
09/01/29 21:43:36 rSa/9joZ
1.0.19の調査中ですが質問させて下さい。
Apacheにて、BASIC認証・SSL・nonSSL
の3つのディレクトリで構成したいのですが、
symfonyに適合させるためには、
webディレクトリ下にディレクトリを作成して、
フロントコントローラを移動するのが
ベストでしょうか?
599:nobodyさん
09/01/29 21:44:00 rSa/9joZ
あげてもうた、ごめんなさい
600:nobodyさん
09/01/30 14:23:56
>BASIC認証・SSL・nonSSL
ここがよくわからん
BASIC認証+SSL
SSL
NonSSL
の三本立て?
どっちにしろSymfonyとは関係なさげ
601:nobodyさん
09/01/30 21:45:58
>>600さん
3本立ての3システムです。
これは、1プロジェクトにしたいです。
Apacheは、ディレクトリ単位ででした
設定(.htaccess等)できないので。
symfonyのwebディレクトリも3ついると
思っています。
間違いがありましたらご指摘よろしくお願いします。
なんか勘違いしてる余寒・・・
602:601
09/01/30 21:47:29
×Apacheは、ディレクトリ単位ででした
○Apacheは、ディレクトリ単位でしか
603:nobodyさん
09/01/31 08:04:46
公開フォルダを3つに分ければ簡単に出来る。
でも同一コンテンツでセキュリティーレベルが違うって考えが
おかしい気がする。
604:601
09/01/31 11:44:52
>>603さん
ご返答ありがとうございます。
具体的には、>>598のやり方で、
よいという事でしょうか?
同一コンテンツではありません。
事例的には、Amazonnとか
商品サイトと、商品注文サイト、会員サイト
の3つでセキュリティレベル違うのと同じです。
605:nobodyさん
09/02/02 18:51:41
その方法だね。
ただ、action内で識別するロジックを忘れるな。
606:nobodyさん
09/02/03 18:04:37 7F1r2xmv
sfPropelPagerで検索結果のページをページングする時
formから来た?hoge=huga......................といっぱいついてくるクエリーはどうしてます?
セッションに保存するのも微妙だし
テンプレートで$_SERVER['QUERY_STRING']か取得してごにょごにょするのもどうかなと。
sfPropelPager自体には無さそうですよね?
sfPropelPagerを拡張してmodel側で$_SERVER['QUERY_STRING']をどうにかする感じでしょうか?
607:606
09/02/03 18:40:10 7F1r2xmv
あ、link_toのoptionにquery_stringっていうのがありますね。
この辺をうまく使う感じでしょうか?
608:nobodyさん
09/02/04 14:13:43
Criteriaだめだな。
簡単なクエリなら作れるけどANDとかORが複雑に絡み合ったりするとお手上げ。
なにがしたいのか意味がわからない。
609:nobodyさん
09/02/04 15:27:40
オブジェクト指向で考えろ
610:608
09/02/04 20:32:27
>>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で、みないな事書いてない?
611:nobodyさん
09/02/05 14:30:33
アクションでアサインされた全ての変数を
テンプレート内で、取得したいときって
$sf_context->getActionStack()->getLastEntry()->getActionInstance()->getVarHolder()->getAll()
ってわざわざ書かないとだめ?
612:nobodyさん
09/02/05 14:38:32
>>610
Criteriaがダメなんじゃなくて、そもそもその文抽象化されてないから。
まぁ俺はサブクエリビルドクラス使って対処してるけど。
613:nobodyさん
09/02/06 21:04:13
>>610
上書きされる件はCriterion使えばできない?
614:nobodyさん
09/02/07 02:38:32
>>613
使い方おしえてやれよ…
615:nobodyさん
09/02/10 10:59:01 HED7VAZr
symfony test:unit で、ファイル名まで指定して単体で実行すると問題ないが、まとめて単体テストを実行するときに255か返ってくる、
とい問題が起きました。どこでエラーになっているかを表示、あるいはログに記録する方法はあるでしょうか?
616:nobodyさん
09/02/10 20:29:08
訳あってsymfony1.0使っているんだけど、
sfValidatorManagerの拡張クラスを作って、
それをValidate実行時に使わせることってできる?
617:nobodyさん
09/02/11 20:07:05
できるよ
618:nobodyさん
09/02/12 13:08:50
ほほー。どこになんて書けばいい?
619:nobodyさん
09/02/12 17:37:15
自分で考えろ
620:nobodyさん
09/02/12 22:36:13
どこに何を書くも糞も無いだろう。必要なクラス持ってきて1.1↑と同じように書くだけ
621:nobodyさん
09/02/12 23:54:55
1.0、1.1、1.2みんなはどれ使ってるの?
なぜか1.0のメンテナンス終了が2010年の1月で1.2のメンテナンス終了が2009年の11月なのでどちらで作っていくべきか迷ってるんですが。。。どれが良いと思いますか?
622:nobodyさん
09/02/13 02:57:30
>>621
最近始めたので、1.2使ってる
なので、どれがいいかは分からない
1.2でルーティング周りのクラスが追加されていて、特にsfRouteCollectionを使用すると、より簡潔にrouting.ymlを記述出来るようなので、
これから始めるのなら、1.2の方がいいんじゃないの?
623:nobodyさん
09/02/14 03:58:23
英語サイトの情報見れないなら1.0が無難。
そうでないなら1.2。
624:nobodyさん
09/02/14 19:37:59
PHPが5.1なので1.1使ってる。
同じような人、結構いそうな気がするけど。
625:nobodyさん
09/02/15 02:18:10
あれ、5.1って致命的なバグがあって使わないようにとかアナウンスされてなかったっけ。
どんなバグだったか忘れたけど
626:nobodyさん
09/02/15 02:23:40
cent osが5.1じゃなかったっけ?
627:nobodyさん
09/02/15 02:29:06
そんなもん入れ替えろよ…
628:nobodyさん
09/02/15 04:25:24
PHP5.1を使い続ける必要性があるのか?
単純なパフォーマンスでも5.2系の方が優れてるはず
629:nobodyさん
09/02/15 12:28:12
1.2を使っています。
メール送信を実装しようと思ったのですが、
$mail = new sfMail();
とすると、
Class 'sfMail' not found
になってしまいます。
なにか設定が必要なのでしょうか?
630:nobodyさん
09/02/15 13:09:51
>>629
compact10
631:629
09/02/15 13:21:32
>>630
なるほど。sfMailはなくなったんですね。
ほかの方法を調べてみます。
632:nobodyさん
09/02/15 13:34:25
>>627,628
勝手にサーバー環境を変えることが出来ない仕事ってのもあるんですよ。
スレ違いすんません。
633:nobodyさん
09/02/15 14:07:13
アクション内で内部URLから絶対URLを生成するにはどうすればいいの?
634:nobodyさん
09/02/15 14:11:46 LyJslojL
>>626
だね。Redhat/CentOSの5は5.1。
>>628
そりゃま、完全に1から自分でインストールできるんならね。
流石にPHP4はもう使わなくてすむとは思うがw
635:nobodyさん
09/02/16 01:09:30
>>633
smfony 1.2の場合
sfContext::getInstance()->getController()->genUrl($internal_uri, $absolute);
↑url_forの実装
$internal_uriに内部URL
$absoluteは相対パスならfalse、絶対パスならtrueを渡す
636:nobodyさん
09/02/16 08:41:43
いつまでも穴あきの5.1使うような仕事なんてしてちゃだめだろ
637:nobodyさん
09/02/16 12:40:27
仕事を選べない人は大変ですね
638:nobodyさん
09/02/16 13:00:38 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
09/02/16 16:25:53
>>635
ありがとうございます。
$this->genUrl()
でダメだったのであきらめてました。
でも、なんでこんなに長いんだろう・・・;
640:nobodyさん
09/02/16 16:48:05
欲しいメソッドはmyActionに実装したらいいだけジャン
641:nobodyさん
09/02/16 23:37:58
>>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さん
09/02/17 20:01:10 K56TvPG0
PropelでEXISTS演算子を使いたい場合、やっぱりCriteria::CUSTOMで直接記述するしかないのかな?
まぁ、副問い合わせも使うんだし、当たり前といえば当たり前か。
やってみたことある人いる?
643:nobodyさん
09/02/18 08:04:45
質問です。
DBテーブル定義を修正しようとして、schema.ymlを修正し、
./symfony propel-build-all を実行すると、
DBテーブルの内容が全部消えてしまいます。
今はダンプファイルを取っておいて、あとで書き戻すことで対応していますが、
何かもっと洗練された方法はないでしょうか?
644:nobodyさん
09/02/18 09:08:41
propel-build-model
645:643
09/02/18 09:25:54
追記です。
propel-load-data というコマンドがあるようです。
しかしこれは、DBにセットするデータをyamlファイルで用意してやらなければ
なりません。WEBブラウザなどからDBに入力したデータをyamlファイルに書き出
す方法は無いようなので、yamlファイルを作るのはちょっと手間に感じられます。
これならダンプファイルを取っておいて、それをエディタで修正してロードす
るほうが現実的なような...。
646:nobodyさん
09/02/18 12:45:51
すみません、symfony & MySQLで、最後に挿入した行のIDを取得するには、
どうしたらいいですか?
647:nobodyさん
09/02/18 19:49:24
>>645
自分は
URLリンク(www.symfony-project.org)
これをつかってるよ。
648:643
09/02/18 21:35:13
>>647
ありがとうございます。参考にさせていただきます。
Plugins | sfPropelMigrationsLightPlugin | 1.1.2 | symfony | Web PHP Framework
URLリンク(www.symfony-project.org)
こんなのもあるようです。Rails の Migration と同じなのかしら。
649:nobodyさん
09/02/18 21:46:02
>>648
全然違う
650:nobodyさん
09/02/18 21:51:22
>>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);
651:nobodyさん
09/02/19 20:08:27
>>646
Propelなら、モデルのsaveメソッドを呼び出した後、単にgetすればOK。
Doctrineは知らんw
652:nobodyさん
09/02/24 21:06:31
symfony1.2ってデバックモードの時WEBデバックツールでSQLって表示される?
symfony1.0の時はされたと思うんだけど、1.2からされなくなってるみたいで。
あと、1.2で実行したSQL文そのものって取得できますか?(1.0でのgetLastExecutedQueryのような)
653:nobodyさん
09/02/24 21:19:50
>>652
SQL表示されるよ
symfonyどこにインストールしてるか知らんけど、pearから取ってきたのなら、
javascriptを有効にした上で、
data/symfony/web/sfに対して、仮想ディレクトリ(エイリアス)を作るか、
プロジェクトのwebフォルダにコピーすれば、いけるはず。
また、この情報は、実行したログを解析してるだけだろうから、ログ直接眺めてみたらいいんじゃない?
1.2から使い始めたので、getLastExecutedQueryとか分かんね。
これも、ログ見たらいいんじゃないの?としか言えない
654:nobodyさん
09/02/25 12:03:02
>>652
バージョン古いか、propel.iniの設定か
655:nobodyさん
09/02/25 13:06:51
>>653
>>654
database.ymlのclassnameをprodと同じにしてたのが原因だったみたいです。。
DebugPDOに変えたらSQL表示されました
getLastExecutedQueryはログがどうやってSQL取り出してるか探してみます
656:nobodyさん
09/02/25 13:11:42
Propelってsqlつくるだけってのが出来ないのがウザイな。
絶対実行とセットだから、サブクエリやろうとすると独自拡張に頼らざるを得ない
657:nobodyさん
09/02/27 14:01:43
symfonyの問題じゃないかもだけど、携帯サイトで実行結果をファイルにキャッシュって
セッションIDをURLで埋め込むから出来ないよね?
658:nobodyさん
09/02/28 23:20:00
できるよ
659:nobodyさん
09/03/03 15:02:29
>>656
$sql = BasePeer::createSelectSql($criteria, array());
660:nobodyさん
09/03/10 07:45:12
>>659
あのさ、$c->add(ModelPeer::ID , 1);
とかやってごらん
idのとこが?になってるだろ?
?を置換する独自拡張が必要という意味だって思わなかった?
あと、第二引数は参照になってるから、 array()なんてやっちゃ駄目だよ。
勉強になったかな?
661:nobodyさん
09/03/11 06:50:03
symfonyで自作のクラス組み込んだ時とかに、
不具合があっても画面真っ白でエラーも表示されないってことない?
レスポンスが情報吐く前にコケてるのか知らないけど
この状態になるとすげーデバッグしにくい。
高度にレスポンス管理するのも考えものだよなぁ
662:nobodyさん
09/03/11 08:53:10
>>661
Apacheのエラーログ見たら
PHPレベルのFatalエラー吐かれてない?
dev環境だけ表示される場合もあるし、
/var/log/messagesかも。
663:nobodyさん
09/03/11 09:09:27
>>662
apacheログのこと忘れてた!と思って見たら
exit signal Segmentation faultが大量に・・
調べたらxdebugの設定ミスだった
助かりました。ありがとう!
664:nobodyさん
09/03/13 13:57:23
Cakeからsymfonyに移りたいのですが、
なにから勉強すればいいのかわかりません。
定番のチュートリアルなどあるのでしょうか?
いくつか見つけたのですが、バージョンが古いようで・・・
主にsfFormの使い方とデータの登録・取得、ログイン処理などを覚えたいのですが・・・
665:nobodyさん
09/03/13 14:29:07
>>664
symfony 1.2ならJobeet
URLリンク(www.symfony-project.org)
11日目までは日本語訳されてる。
URLリンク(d.hatena.ne.jp)
なんと12日目も公開されてた。感謝。
ログイン周りは13日目かな。
666:664
09/03/14 00:20:34
>>665
1.2向けのチュートリアルが始まっていたのですね!
翻訳してくれている方もいるとは・・・
さっそく試してみたいと思います!
667:nobodyさん
09/03/14 02:41:54
>>664
移りたいと思った理由を知りたい
668:664
09/03/14 03:16:17
>>667
Cakeは標準でコンポーネントなどが充実していて便利なのですが、
それらのクセが強くて、
ちょっと外れたことをしようとするとえらい面倒で・・・
とくにAuthコンポーネントやSecurityコンポーネントなど。
また、Cakeで作られたサイトは、
だいたい、ちょっと見ただけですぐCakeで作られていると分かります。
それくらいクセが強いです。
うまくいえませんが、こんなかんじです。
669:nobodyさん
09/03/14 09:25:05
質問です。
キャッシュ機能を使って、任意の文字列をキャッシュしたいのですが、
どのようにすればよいのでしょうか?
分かる方がいましたら教えてください!
670:nobodyさん
09/03/14 15:43:13
すみませんが、質問です。
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
09/03/14 15:48:40
すみません、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番目の引数について
URLリンク(gomojp.blog77.fc2.com)
以上です。どなたかアドバイスをお願いします。
672:670
09/03/14 16:11:20
補足です。
symfonyでhierselectができる!の補足(fillin時の手当) | LinuxなWEBデザイナーの覚書き。
URLリンク(php-sql-gdgd.jugem.jp)
> fillinを受ける側のフォームは、各input_tag等のフォームヘルパー関数の引
> 数2つ目(デフォルト値を入れるところ)をnullにする。
> ※私は最初「''」を指定した状態でフィルインできませんでした。object系
> のフォームヘルパーを使ってDBからデフォルト値を持ってきてる場合はどう
> なるんだろう??今度実験してみよう…
たしかに、hogeSuccess.php を
echo input_tag('hoge', null); // さらに直した行。
と書くと、バリデーションが hogeSuccess.php に差し戻したとき、フォームに
ユーザの入力値が入っていました。fillinが動作したようです。
しかしこれでは、デフォルト値の設定ができなくて困ります。page/hoge では
$hogeの値である"ほげ"がフォームに入っていて、バリデーションが動作したと
きは、ユーザの入力値が表示されてほしいのです。
673:670
09/03/14 16:30:13
すみません、自己解決? したみたいです。
試行錯誤して、
echo input_tag('hoge', null, array('value'=>$hoge));
と書いてみたら、希望していた通り、デフォルト値もユーザ入力値も表示され
ました。
しかしこれもかなり冗長なので、ためしに
echo input_tag('hoge', $hoge);
に戻したところ、今までと違って、問題なく表示されたのです。
なんで?!最初のコードと少しも変わらないのに?!
とりあえず動作はするようなので、このまま開発を進めることにします。
お騒がせして申し訳ありませんでした。
674:nobodyさん
09/03/16 15:50:44
質問なんだけど、validation/[アクション名].ymlって、部品化とかして共通化
する方法は無いんだろうか?
二つのアクションがあって、大部分のフィールドは共通なんだけど、片方にだ
けいくつか追加フィールドがあるので、バリデーションの設定の大部分が共通
になる。うまくまとめられたらいいと思うんだけど。
675:674
09/03/16 16:50:44
すみません、自己解決? したみたいです。
676:674 ◆UAG1fZyrYA
09/03/16 18:47:06
>>675 は騙り。まだ解決してない。
677:nobodyさん
09/03/17 10:32:44
継承
678:nobodyさん
09/03/18 16:33:36
だからsfFormが生まれたわけで
679:nobodyさん
09/03/20 20:30:44 bZdrj/Cj
sfFormの話が出たので少々便乗。
1.1以降でSymfonyをステートフルにするには、sfFormでCSRF対策フィールドを1リクエストごとにユニークにすればいいんだよね?
ソースを嘗めたらそんなに難しくなさそうな気がしたんだけど、何か勘違いしてるかな?
いや、「PHPのフレームワークでステートフルなのはPiece Frameworkだけ、なんて文章をちらりと読んだんでね。
もちろん、↑のやり方だと、sfFormで値を持ちまわしているところしかステートフルにならんのは理解してる。
Piece Frameworkのステートフル機能のウリは、getだろうと初回のpostだろうと(その気になれば)ステートフルに出来るってところなんだろうとは思うけど。
680:nobodyさん
09/03/22 04:10:40
質問です。
1.2使ってるんですが、フォームからunsetで消した項目に、
POSTされた際にアクション内で値をセットするにはどう書けばいいのでしょうか?
送信された値から別の値を生成してインサートする、みたいなことがやりたいです。
681:nobodyさん
09/03/22 18:32:07
もうCakeのはいいからどっかsymfonyの本をだしてくれ~
682:nobodyさん
09/03/22 22:34:47 XhaR9twF
>>680
自分は1.1だが、そーゆーことやりたいときはbindする前の配列いぢくる。 一度validateしたいときは、
1.普通にbind
↓
2.NGならおしまい、OKなら値生成→配列に格納
↓
3.バリデータを置き換える
↓
4.もう一度bindしてvalidate
かな。まぁ、sfFomオーバーライドすればもう少しスマートに出来ると思うが。
>>681
だね。もう少ししっかりした、1.1/1.2対応の解説書は欲しい。
683:nobodyさん
09/03/23 21:55:16
書籍なんていらねーよ。1.1も1.2も一年しかメンテナンスされない使い捨てリリースだし。
684:nobodyさん
09/03/23 22:14:03
そんなこと言ったらほぼ全てのFWの本がいらんことになる
685:nobodyさん
09/03/24 07:21:18
1.0は3年リリース。
ほぼ全てとか何言ってるんだろこの人
686:nobodyさん
09/03/24 14:15:27
すみませんが、質問です。
symfony 1.0 の環境に、sfCSRFPluginを導入して利用しようとしているのです
が、うまく動作しないのです。
sfCSRFPlugin - symfony-doc-ja - CSRF対策用プラグイン - Google Code
URLリンク(code.google.com)
コードを見ると、METHOD=POSTの時だけ、トークンの値をチェックするようになっ
ているのですが、どういうわけか、このフィルタの中では、POSTの場合でも
GETだと認識されて($_SERVER['REQUEST_METHOD']が"GET"となる)、チェック
がいつも働かないのです。
このフィルタ以外の場所、例えばactionクラス等では、GETかPOSTかを正しく検
出できています。
どうにも原因が分からないのですが、どなたかアドバイスをいただけないでしょ
うか?
687:nobodyさん
09/03/24 18:45:26
フランチョスに聞いてください
688:nobodyさん
09/03/25 11:35:03
腐乱著すですが何か?
689:nobodyさん
09/03/25 13:42:58
寒い…このひと寒すぎる。
書き込む前に確認しようよ。
自分がどれだけ恥ずかしいことを書いているかを。
2chだけでなく日常生活でも、寒いことを言っては
場を凍りつかせているんだろうね。
690:nobodyさん
09/03/26 11:33:19
symfonyって、あるアクションに対してPOSTだけしか受け付けないように設定する
ことってできませんか?
691:nobodyさん
09/03/26 12:26:50
getPostParameterで値が取れれば処理、取れなければエラーかリダイレクト、とか。
692:nobodyさん
09/03/26 13:00:31
isMethodみたいのがなかったっけ?
693:690
09/03/26 13:08:38
PHPコードでやれば判別はできますが、validation/<アクション名>.ymlや
filters.ymlなどで設定する仕組みが、symfonyには用意されていないでしょうか?
>>691
後出しですみませんが、1.0限定でお願いします。
>>692
sfRequest::getMethod() ですね。
694:nobodyさん
09/03/26 13:11:39
methods:[]
だっけな。なんかそんなのあったわ
695:690
09/03/26 13:21:03
>>694
たぶんそれは、↓だと思うのですが、
メソッドへのバリデーションを制限する - 第10章 - フォーム
URLリンク(symfony.xrea.jp)
どのメソッドに対してバリデーションを実行するか、の設定であって、
POST以外を弾くという設定ではないみたいです。
やっぱりPHPコードを書かなきゃ駄目なのかな。
696:nobodyさん
09/03/26 13:37:01
zendなんかはそういう指定できるけど
postしか許可しないactionを別に指定するブラックリスト方法は
何かの都合でaction名を途中で変えた場合に、
設定だけが残る可能性があるから疑問
697:nobodyさん
09/03/26 19:40:45
1.0にsfFormもってこりゃいいじゃん。
698:nobodyさん
09/03/28 22:39:09
pdt2.0から /* @var $test Test */ の補完がきかなくなったな
699:nobodyさん
09/03/29 00:23:38 WiWw0VPX
1.2でDoctrine使ってるんだけどSQLクエリーのログって出てる?
envがdevでwebdebug trueでもどこにも出てる気配ないんだけど。
なんか最初のうちは1.1の時みたいにwebdebugに円柱のボタンがあった気もするんだけど・・・・
logにsfDoctrineLoggerっていうボタンはあるけどクエリーは何も出てない。
いろいろいじってるうちにおかしくなったのかな?
700:nobodyさん
09/03/29 01:22:25
>>699
ちょっと上のレスを見ろ
701:699
09/03/29 09:22:10 WiWw0VPX
>>700
ほうほうDebugPDOですか。
すんません、Doctrineの時はどうすればいいのでしょう?
paramかattributesになんか書くのでしょうか?
702:nobodyさん
09/03/29 11:32:28
つーか普通に出るし
703:nobodyさん
09/04/01 00:43:45
symfonyからODBC接続でDB2からデータ持ってきたいんだけど、なぜか日本語が化けるんです。
Z^Z^Z^みたいな。
何でですかね・・・。
704:nobodyさん
09/04/01 01:29:49
眠いからじゃないかなzzz
705:nobodyさん
09/04/01 10:57:37
>>703
DB2かぁ、動作報告あったっけ?
まずは propel db2 でgoogleじゃない?
あるいは doctrine db2 か。
706:nobodyさん
09/04/01 12:37:40
DB2の内部コードSJISにしてるとかじゃないの
707:nobodyさん
09/04/01 22:27:12
symfony1.0系で開発をしているのですが、
Validator、Helperなどが
マルチバイトに対応していない事わかりまし。
ソースコードのマルチバイト対応情報が
あればおしえてぷりーず。
と書いたところで
1.2はマルチバイト対応済みじゃん・・・
くやしいのでそのまま投稿。
なんでバックポートしてないんだ。
708:nobodyさん
09/04/03 12:08:01
OpenPNE以外でsymfony1.2を使ったオープンソースのものって何かないですか?
ソース読んで勉強したいのですが・・・
709:nobodyさん
09/04/03 21:10:14
バージョン上がるたびに諸々の変更を余儀なくされるsymfonyは採用されないだろ
710:nobodyさん
09/04/04 17:50:58
メジャーバージョンアップとマイナーバージョンアップの区別がつかない奴がいるとは思わなかった
711:nobodyさん
09/04/21 22:02:48 oOMQhPeY
responseにsetHttpMetaメソッドあるけど、
HttpじゃないMetaってあるの?
setMetaでよくね?
712:nobodyさん
09/04/24 00:06:42
>>711
ソース(AssertHelper.php)見ると、<meta http-equive...>と出力させたい場合は、addHttpMeta()で追加、
<meta name=...>と出力させたい場合は、addMeta()で追加するらしい。
symfony 1.2系には、setHttpMeta, setMetaは無いね。削除されたのかな?
1.2系では、sfResponseに直接追加しなくても、view.ymlで設定すればおk。
713:nobodyさん
09/04/25 21:56:50
symfony1.1.6なんですけど、
config_handlers.yml
で独自ハンドラを追加して、
そのクラスをlib直下においたら、アクセス時にその独自ハンドラが存在しないと
怒られるんですが、どうしてですかね・・・・。
debugがONだと動くのですが。。。
714:nobodyさん
09/04/26 23:35:53
>>713
prod環境(debug=off)では、複数のファイルの読み込みを避けるためなのか、いくつかのクラスをpackingしています。
このクラスの中には、sfAutoloadも含まれています。
packingする際、まず先に、config_handlers.ymlに設定された、「すべての」ハンドラをインスタンス化しようとします。
独自ハンドラについては、まだsfAutoloadがインスタンス化されていないため、オートロードに失敗します。
debugがonの場合、packingしないため、先にsfAutoloadがインスタンス化されます。
それゆえ、独自ハンドラもsfAutoloadを通して、読み込むことができる様になります。
この問題を解決するために、sfAutoloadに頼らず、手動でクラスファイルをinclude(require)します。
includeする場所は、ProjectConfigurationが最適でしょう。
715:714
09/04/26 23:40:24
蛇足ですが、sfAutloadが読み込まれていないからといって、
先にsfAutoloadを手動でincludeしてしまうと、その先で二重定義だと言われて、
実行時エラーとなってしまいます。
716:nobodyさん
09/04/27 07:39:55
URLリンク(www.namiten.com)
717:nobodyさん
09/04/27 12:34:04
塾所www
718:699
09/04/29 16:03:53 rB9MGWda
1.2 doctrineでSQlLのクエリーログが出なくなった原因わかりました。
ひつようない?いらない?一応張っておきます。
URLリンク(gomojp.blog77.fc2.com)
719:nobodyさん
09/04/30 16:07:02
なんでpropel、count()なんてしてしまうん
720:nobodyさん
09/05/07 12:16:55
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
09/05/07 12:19:38 SY3Om6u2
ああ、またデフォルトでsageはいってた。
専用ブラウザこの設定うざいな。しつれいしました。
あとpropelでというかCriteriaでの間違いでした。
お願いします。
722:720
09/05/07 12:38:05
すまん
検索キーワード変えたらすぐ見つかった
URLリンク(blog.gnetworks.co.jp)
723:714
09/05/07 22:58:24
>>720
複雑なクエリは、無理してCriteria通さずに、直接SQL渡した方が見通しがいいような気がする。
$stmt = Propel::getConnection()->prepare('select ...');
$stmt->bindValue(..); // パラメータを渡す必要があるなら
$stmt->execute();
while (($row = $stmt->fetch(PDO::FETCH_BOTH) != false) {
...
}
724:nobodyさん
09/05/08 02:48:43
クエリも使いまわしたりするからな。
直接SQL渡すより極力Criteriaで使ったほうがいい。
そういうプログラミングをしないならDoctrine使ったほうが良い
725:nobodyさん
09/05/08 07:23:57
クエリ使いまわすなら、どこかのテーブルクラスに入れとけばいいだけかと。
SQL直書きの方が見通しが良くなる事も普通にあると思う。
どっちがいいかというのは難しい問題だけど、その時々の決められた方針に従うとか。
>>724
しばらくPHPはほぼ触ってないんだけど、Doctrineはもう実用レベルなんだ。
見てみよう。
726:nobodyさん
09/05/16 04:48:31
Propelは取得するカラム増減するだけで、setとかhydrateとか自分でやらないかぎりモデルがまったく使えなくなるのがメンドイ。
てか、1.3からpoolとかしてるから、下手に自前でやると危険そう。そこでsave呼ばれたときを考えたりすると・・・
まあORマッパーなんだから、selectいじるなってのはあるんだろうが。
Doctrineってそういうの強そう?
727:nobodyさん
09/05/16 06:05:29
>>726
いや、その為にPeerBuilderで拡張できるようになってるわけだが。
BasePeerをちょっと拡張したクラス準備するだけでもいいし。
いくらでも手はあるし、そういうことができるように作られている。
728:nobodyさん
09/05/16 06:07:26
このひとのとか
URLリンク(code.google.com)
729:nobodyさん
09/05/19 14:29:31 qhW3ZTR1
キャッシュファイルが多すぎてsymfony ccがなかなか終わらないんだけど
どうしたらいいの。
サービス稼働中だとキャッシュの作成とバッティングして時間かかるんかなぁ
psでプロセス見るとD(割り込み不可=IOアクセス中)のままだ。
cache clearはサービスを止めて行うもの?
730:nobodyさん
09/05/19 14:36:50
てか、サービス止めて、
ディレクトリごとrm -rfした方がずっと速いかも・・
731:nobodyさん
09/05/19 16:47:50
>>729
コンテンツキャッシュはぶっちゃけSQLiteキャッシュ使ったほうが何かと勝手がいいぞ。
キャッシュの削除条件設定も柔軟に対応できるし。
ファイルキャッシュは増えてくると不都合が多すぎる。
732:nobodyさん
09/05/31 06:43:32 rQz6XN2i
1.2使ってます
DBにname address tel category file
とあってfileとcategoryはそれぞれ別で登録するようにしたいのですが
sfFormつかうとfileやcategoryを登録したら他のデータがきえちゃいます。
個別にフォームヘルパーつかって登録するとかみたいな方法しかないですか?
733:714
09/05/31 13:22:23
>>732
ORM何使ってる
Propel?
Doctrine?
Propelなら、
Modelの各フィールドに対して更新フラグが立っている場合のみ、Update対象列になる。
resetModifiedメソッド呼んで、更新対象外フィールドのフラグ折ってやれば、多分おk
Doctrineは...知らん
734:nobodyさん
09/05/31 13:24:24
>>733
名前欄残ってた。orz
関係ないから無視しといて。
735:nobodyさん
09/05/31 14:26:16 rQz6XN2i
>>733
あぁ、そうか・・・。
スケルトンのとおりにvalodator通した後そのまま
$myTabler = $form->save();
ってやってたから全部保存されちゃってたんですね。
必要なフィールドだけセットして保存しちゃえばよかったんだ
ありがとうございました。やってみます
736:735
09/05/31 15:59:53 rQz6XN2i
なんか結局1.0と似た感じになっちゃったorz
対話形式で進めていくものをつくってくと結局こうなるのかな
737:nobodyさん
09/06/04 08:41:11
バリデータでファイルがアップされているかの確認はどうるのでしょうか?
validate/test.ymlへ
file:
required: yes
のように記述してもうまく動きません。
738:nobodyさん
09/06/04 23:42:58
>>737
Symfonyのバージョンは1.0系 or 1.1系?
もしそうなら
URLリンク(symfony.xrea.jp)
の「ファイルのバリデータ」の通りに書いてる?
739:nobodyさん
09/06/10 18:11:14
嗚呼愛しのファビエンヌ
URLリンク(codezine.jp)
740:nobodyさん
09/06/10 18:22:34
公開がインタビューの半年後とか、やる気ねぇなぁ・・・。
741:nobodyさん
09/06/10 18:34:35
読み方フランチョスじゃないんだなワロス
742:nobodyさん
09/06/10 19:37:01
ついに大文字になりますて…
まるで大文字になるのをみんなが待ち望んでいたかのような書き方だな。
743:nobodyさん
09/06/10 20:20:53
正直DIはいらねーな
744:nobodyさん
09/06/10 23:17:18
本気でフランチョスだなんて思ってる奴いねぇだろw
745:nobodyさん
09/06/11 12:20:15
>>744
サイボウズのアキモトサンはそう思ってたんじゃね?w
746:nobodyさん
09/06/11 17:46:55
2ch大好き秋元さん
747:nobodyさん
09/06/13 14:40:36
symfony使うんで、sfFormとAjaxを上手く組み合わせたいと思うんだが難しいかな?
だらだら探したけど、互いをおいしく利用してみたいなのはみつからないんだよな。
javascriptHelperとsfFormって連動する設計になってないよね?
748:nobodyさん
09/06/14 03:30:08
いくらでもできるよ
749:nobodyさん
09/06/14 03:48:08
ヘルパの呼び出しは
sfContext::getInstance()->getConfiguration()->loadHelpers();
Javascript呼び出したければ
sfContext::getInstance()->getResponse()->addJavascript();
750:nobodyさん
09/06/18 17:31:00
今までsymfonyで動いてたサイトを移動したいんだけど
移動先のレンタルサーバがspl_autoload_register使えなくてsymfony動かないっぽいんですが
フレームワークを変えるしか方法ないですかね?
751:nobodyさん
09/06/19 10:12:40
レンタルサーバを変える
752:nobodyさん
09/06/24 00:44:44
>>739
フランチョス社長やったんか
753:nobodyさん
09/06/26 11:45:18
doctrineについて教えてください。
schema.yml の定義で下記
relations:
****:
foreignAlias: ****
*****:
class: *****
refClass: *****
foreignAlias: *****
foreignAlias, class, refClass, について詳しく説明しているサイトありますか?
754:nobodyさん
09/06/29 20:27:14
symfony 1.2で質問です。
ヘルパーをactionで使おうとしているのですがmyproject/lib/helperに格納されているものしか使えません。
module毎にmyproject/app/myapp/mymodule/lib/helper/MyHelper.phpという風にすれば使用できると思っていたのですが認識違いでしょうか?
教えてください。
755:nobodyさん
09/06/30 02:08:50
>>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メソッドのソース読んでみて
756:nobodyさん
09/07/01 01:41:29
CoCが流行の昨今ymlの設定地獄なんて
時代遅れも甚だしいな。
こんなの流行るわけねーだろ。
CakePHPの爪の垢でも煎じてのんでろやこの屑FWが。
757:nobodyさん
09/07/01 07:14:10
いくらCoCにしても設定ファイルはいるだろ。
758:nobodyさん
09/07/01 22:39:19
Symfony 1.0になる前にちょっと使ったらymlをちょっと書き間違えると
Symfonyの深いところでエラーが出てもうダメポって挫折してCakePHPで
快適生活してるんだけど、最近のSymfonyはそこらへん快適になった?
759:nobodyさん
09/07/02 02:17:54
ヴァリデーターがフォームフレームワークになったからだいぶ減った感じだけど
そのフォームヘルパーでやたら苦労してる。
かなり使い込めれば快適なんだろうけどちょっと変わったことやろうとするとめちゃくちゃはまる
760:nobodyさん
09/07/03 01:03:55
CoCって、Symofnyだってデフォルトの規約もってるだろう。
さらに設定ファイルでいじれるだけで、そこがCakePHPより良いとか意味がわからん。
設定ファイルの糞さこそCakeの癌で改善されてるのに
761:nobodyさん
09/07/03 02:48:34
ちょっと書き間違えても動くからなぁ他のFWは
って事だろ
762:nobodyさん
09/07/03 05:58:37
CoCって言葉を使いたかっただけだろ。
763:nobodyさん
09/07/11 09:07:00
はまりもあるしドキュメント不足な面もあるが、慣れれば割と快適。
使い始めて半年くらい、いまはサクサクサイト構築していってる。
764:nobodyさん
09/07/11 21:46:17
うだうだ言うより、極めてしまえば、最近の有名どころは強力なツールになると思うんだがなぁ
765:nobodyさん
09/07/13 14:24:49
虎は何故強いと思うね?もともと強いからよ。
766:nobodyさん
09/07/22 02:18:54
ymlきめぇ
767:nobodyさん
09/07/22 11:03:44
htmlきめぇ
768:nobodyさん
09/07/22 22:55:16
>>766
XMLを手で記述するよりはましだと思うよ
もっとも、個人的にはJSONで十分なんだけどね
769:nobodyさん
09/07/28 23:40:23 jaMsZG3/
バッチで実行した処理で、コマンドラインからactionを実行したいんだけど
symfonyは標準でそういう手段提供してないの?
770:nobodyさん
09/07/28 23:54:07
init-batchとかあった
actionはあくまでweb経由で呼び出すんすかのー
771:nobodyさん
09/07/29 01:01:31
task でいけるんでねかな
772:nobodyさん
09/08/04 00:14:51
しっかし寂れたなw
2年くらい前の元気さはどこへいったw
773:nobodyさん
09/08/04 02:42:24
バージョンアップしてもサポートが半端なんだよな
バージョンアップ版のがサポート短いとか追っかけていく気にならん
774:nobodyさん
09/08/05 14:44:31
糞みたいだったzfのスレは伸びてるな
もう抜かれてしまったのか?
775:nobodyさん
09/08/06 01:56:34
Cake>>>Zend>>>>>>>>>>>>Symfony
だからな日本じゃ
日本人はもっさりが何よりも嫌いだからJSFとかそういうのも流行らない
776:nobodyさん
09/08/15 00:39:12
Zend、使われているかなぁ?
777:nobodyさん
09/08/15 02:38:08
Symfony使いから見たら使われてないように見えるのかもしれないけども
少なくともSymfonyよりは間違いなく使われてる
778:nobodyさん
09/08/15 17:19:25
cakeって別に速くないだろ
ciは軽いから速いが
779:nobodyさん
09/08/15 20:53:01
Symfonyに比べりゃ全然速いけどな
780:nobodyさん
09/08/15 23:30:37
CI は汚い。
Kohana が好き。
781:nobodyさん
09/08/20 12:06:22 QNoYFkWw
symfonyで作ったページがクロールされないと思って調べてみたら
トップページをwgetしてみたら404が帰ってきてた。
ブラウザで見ると普通なんだけど、何をどうやって調べれば解決するか
わからないので、誰か知恵を貸してください
782:nobodyさん
09/08/21 01:13:24
何その謎現象
apacheのログ見たら?
783:nobodyさん
09/08/21 02:56:50
User-Agent見て処理変えてたりしてるのかな?
784:781
09/08/21 11:40:39 gourhDGv
>782
普通はおこんないものですよね?
ログみたけど、よくわからんのです。wgetのときだけ404返してるだけで・・・
>783
UAをIEとかに偽装したり、Refererつけたりしてみましたがwgetなら404・・・。あとどこで判別してるんすかね・・・。ヘッダ全部出してみるしかないすかね。
rewriteの書き方が悪いのかな
785:nobodyさん
09/08/21 15:21:53
Zendでauの携帯からだけ404になったことならある
原因はmod_rewrite
786:nobodyさん
09/08/21 15:54:51
>>785
mod_rewriteの何が悪かったの?
787:nobodyさん
09/08/21 16:30:01
全部他人任せで解決しようとするなよ
788:nobodyさん
09/08/21 16:34:18
そんな注意するようなことでもなくね?
現象が謎すぎるから俺も興味あるよ
789:781
09/08/21 18:46:10 gourhDGv
>>787
>786は俺じゃないから怒らないであげてね
>>788,785
解決したら報告にくる
790:781
09/08/25 19:11:09 X6yGpm6m
すまん、まだ解決してない。
mod_rewriteはログはかせてみたけど、問題なさげだった。
symfonyの問題ぽい。
791:nobodyさん
09/08/26 00:11:36
勉強がてらにsymfony1.2を使ってみているのですが
デフォルトのCSSは無いのでしょうか?
デバッグツールバーやチェックマークのでるデフォルトのページには
スタイルが適用されていますが URLリンク(localhost)
にアクセスした場合には、チュートリアルのようなスタイルが適用されず
素っ気ないページになってしまいます。
高度なデザインは求めていないのですが、フレームワークを使う場合でも
cssから作るものでしょうか?
792:nobodyさん
09/08/26 11:26:43 1Yy9HhcH
>791
システム開発とデザインは別なので、そういうのがほしければ
CMSに求める。
793:791
09/08/28 08:36:33
>>792
そいうことですか。ご回答ありがとうございます
794:nobodyさん
09/09/05 18:27:09
URLリンク(www.ustream.tv)
ファビエンヌキター
795:nobodyさん
09/09/05 18:31:46
ドクトリンヌもフランチョス達が作ってたのか
796:nobodyさん
09/09/07 09:08:27
>>795
symfonyの開発陣にdoctrineの開発者が参加したのは最近のはずだよ
797:nobodyさん
09/09/08 18:12:02
railsだとセッションID生成するためのシークレットキーみたいなのを設定するが、
symfonyには見あたらないような。
その辺でセキュリティ的な問題とかないのかな。
798:nobodyさん
09/09/08 18:23:28
しかし英語圏ではsymfonyとCakeのシェアはどうなんだろ?
2ちゃんではCakeのが伸びてるようだけど。
自分は1プロジェクトでアプリが複数作れるので助かってる。
libの下にCMSのmoduleを作り込んでapp/modules/から使っていく感じ。
複数サイト構築に便利。
799:nobodyさん
09/09/08 18:25:27
>>791
亀レスだけどフリーのテンプレート使うと良いと思う。
海外は割と充実してる。
URLリンク(www.openwebdesign.org)
800:nobodyさん
09/09/08 22:47:03
>>797
この辺りかな?
URLリンク(blog.asial.co.jp)
801:nobodyさん
09/09/09 01:29:06
ああ、そうか、railsのあれはセッションキー作りのためのじゃなく
CSRF対策のキー作りだったね。勘違い。
802:nobodyさん
09/09/18 01:32:21
新バージョンが出た時アップデートしてる?
何かの具合で動かなくなったら・・と思ってなかなかアップデート出来ない
まぁテストケースをまとめておけばいいんだけど
803:nobodyさん
09/09/18 10:08:43
趣味レベルなら多少動かないところがあっても良いか、と思ってアップデートしてる。
1.2 -> 1.3はさすがにためらうけど。
804:nobodyさん
09/09/19 18:38:57 kqWMin9P
functionテストで、他のアプリケーションの操作をする方法はありますか?
「Frontendでコレを1にしたらBackendではこうなって、Frontendで2にしたらこうなるはず」
ってテストをしたいだけど、何かいい方法はないでしょうか?
ソースを少し斜め読みしてるんだけど、アプリケーションをまたいでリクエスト出す方法が見つからないっす。
・・・seleninumとか使ったほうが早い?
805:nobodyさん
09/09/20 08:14:08
1.1から1.2なんて悲惨なくらい互換性なかったからな
806:nobodyさん
09/09/21 22:45:51
CakePHPのスレは7スレ目まで逝ってるのに
なんでsymfonyのスレは1スレ目で止まってますかぁ?
807:nobodyさん
09/09/21 23:58:25
日本じゃ全然流行ってないからな
結局CakeかZendだよねやっぱり
808:nobodyさん
09/09/22 01:21:39
cakeは外からプロパティーにいきなりアクセスさせたりと色々ダサい
809:nobodyさん
09/09/22 09:00:46
2文字インデントの方がダサいと思う
810:nobodyさん
09/09/22 09:49:40
まだインデント数にこだわっているのか…
811:nobodyさん
09/09/23 06:02:40
cakeは不必要な?>がコード末尾に入ってるところがダサい
812:nobodyさん
09/09/23 07:21:04
不要じゃないだろうに
813:nobodyさん
09/09/23 07:30:03
またこの流れか
814:nobodyさん
09/09/23 11:54:06
cake 採用している大御所あげてくれ。
815:nobodyさん
09/09/23 16:32:46
モジラ
816:nobodyさん
09/09/23 19:06:18
cakeは定数の命名規則が適当すぎ
パスの命名ならDIR_HOGEとかHOGE_DIRとかHOGE_PATHとか
パスであることを示すようにするだろJK
CAKEとかAPPとか名前だけ見ても何なのかわかんねーよ
プログラマーとしての基本的なセンスが疑わしいレベル
817:nobodyさん
09/09/23 21:49:56
作る事が目的じゃなく規約が目的なのかお前は
818:nobodyさん
09/09/23 23:03:39
frontend_devで実行すると例外の詳細が表示されるけど、
frontendで何の例外が発生しているか把握する方法は無いですか?
819:nobodyさん
09/09/23 23:23:11
>>818
そこに表示されているバックトレースからわかるよ
どのソースの何行目で例外が出されたかすべて表示されている
820:nobodyさん
09/09/24 03:33:45
画面関係の問題あると画面自体出ない時もあるよ
ファイルにロギングもするのが基本
821:nobodyさん
09/09/24 06:50:24
>819
frontendで例外を把握したいわけです。
devでの詳しいロギングはいらないから、例外のみ把握したい。
822:nobodyさん
09/09/24 21:42:01
>>821
それはつまり例外の条件が固定されていなくて
いつどこで問題が起こっているか不明な状態で
エンドユーザーがサイトを使用中に起こった
例外をとらえて記録したいってこと?
823:nobodyさん
09/09/24 22:58:05
運用レベルで例外出たらロギングするようにするのって
当然だよね
824:nobodyさん
09/09/25 06:04:24
>>823
すみません、例外のみロギングするのってどうやるんですか。
マニュアル探しても見つからなくて。
ちなみに1.2です。
825:nobodyさん
09/09/25 17:54:23
PHPフレームワーク総合スレって落ちたの?
826:nobodyさん
09/09/25 18:11:22
yamlyaml言ってたヤツ責任取れよ
827:nobodyさん
09/09/27 02:54:08
今からsymfonyはじめるなら
サポート期間から言って1.0一択ですよね?
828:nobodyさん
09/09/27 03:25:22 IjZjxhuk
symfonyをレンタルサーバーで使おうと思うのですが
専用サーバじゃないのでhttpd.confが編集できません
.htaccessファイルの編集だけで使うにはどうしたらいいですか?
829:nobodyさん
09/09/28 08:31:34
>>828
mod_rewriteが使えるレンタルサーバーなら、httpd.confに書けとなってる部分を.htaccessに書くだけでおk。のはず。
1.0の頃だけど、普通にsakuraとxreaで動かした経験あり。
830:nobodyさん
09/09/29 11:56:37
actAs: NestedSet
こんな便利な物があったとは・・・ツリー構造の実装楽勝だ!
831:nobodyさん
09/09/29 13:24:47
doctrineさまさまだ!
832:nobodyさん
09/09/29 23:55:12
1.2のtaskにpipeで渡して、$argumentsで取得したいですが
取得できないです。
STDINでも取得できません。
皆さんはどうしてますか?
833:nobodyさん
09/10/01 10:07:02
みんなはやっぱpropel使ってるのかな。
doctrineうめぇ。しかしschema.ymlでintegerって定義するとMySQLだとbigintになるのな・・・
intで定義するとint。でもvalidatorで怒られた気がする。
834:nobodyさん
09/10/02 12:52:44
initializeの中でFlashに入れた値が
次のリクエストには消えてるんだけど
何故?
835:830
09/10/02 13:32:36
railsにもact_as_treeってツリー構造実現するプラグインがあるけど、
DoctrineのNestedSetのが充実してるな。
URLリンク(www.geocities.jp)
ここで論じられてるやり方で実現してるんだよね。
なので子ノードの順番とかもちゃんと管理できてる。
836:nobodyさん
09/10/02 20:34:15
mysqlのドキュメントの和訳じゃない?
doctrineのprimary key bigintにしてる?
漏れはintに変更してるよ
837:nobodyさん
09/10/02 21:33:41
履歴とかじゃない限りintで十分なはずだからねぇ。
やっぱbigintだと、だいぶパフォーマンス変わるかな・・・
いまのうちにalterしとくべきか。
838:nobodyさん
09/10/03 08:34:23
int で念のためunsignedにします。
839:nobodyさん
09/10/04 14:32:40
security.ymlで一度に複数のactionに同じ設定をさせたいのですが
どうすればいいですか?
840:nobodyさん
09/10/04 23:24:17
cakeに負けるのは分かっているが、symfony、zendにも人気で負けるんだなw
世界的にはおそらくsymfonyの方が人気あるんだろうけれど
本屋行っても、symfonyの本って1冊しか無かったw
841:nobodyさん
09/10/05 05:39:39
下手したらEthnaにも
842:nobodyさん
09/10/05 05:48:35
ねーよw
cake使ってからsymfonyに戻ったらやっぱいいわ
糞ダセー実装にイライラさせられることがない
843:nobodyさん
09/10/05 05:56:30
糞ダセー実際ってPHP標準規約無視の2文字インデントとか?
844:nobodyさん
09/10/05 09:40:38 LSBycl5s
>>842
cakeの駄目さは分かるけど、zendとsymfonyだとどう?
845:nobodyさん
09/10/05 10:02:04
zendはクラス名が長いのが嫌だ。
フォルダ階層にそろえてクラス名つけるとかやると、
フォルダ構成変えたくなったときに死ぬ。
846:nobodyさん
09/10/05 10:08:36
cake,zend,symfonyは、cakeは簡単だが名前空間がぶつかるとか、zendはめんどくさくて>>845のようなこともあるとか、symfonyは日本では人気がないとか、どれも悪い面があるから選択が困るよねw
847:nobodyさん
09/10/05 10:39:47
つDjango
848:nobodyさん
09/10/05 11:25:52
日本で人気ある必要なんてないじゃん
849:nobodyさん
09/10/05 11:44:09
zendは当初はひどいもんだったけど
他のプロダクトからパクりまくってまぁまぁマシになったっぽいね