lt;?php symfonyとフランチョスのスレ ?gt;
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2006/11/18(土) 08:05:59ID:???http://www.symfony-project.com/
■askeet
http://www.symfony-project.com/askeet
■The symfony book
http://www.symfony-project.com/content/documentationHome.html
■symfonyで作られたサイトはこちら
http://www.symfony-project.com/trac/wiki/ApplicationsDevelopedWithSymfony#Japan
ver.1まで間近 がんばれフランチョス & ファビエンヌ フュージョンで
開発パワー2倍だ!
0294nobodyさん
2007/01/31(水) 22:54:32ID:???ttp://www.symfony-project.com/trac/ticket/1396
しかも、その後はシステムが動かなくなっちまった...。generator.ymlにgeneratorカテゴリがないと。
いじってたシステムが試験運用中だったからよかったけど、こりゃ怖いな。
0295nobodyさん
2007/01/31(水) 23:32:35ID:???もれは一回、アンインストールしてからやったよ。
0296294
2007/01/31(水) 23:51:10ID:???ありがとう。アンインストールしてやってもみたんだけど、やっぱりダメだった。
同じエラーが出て止まっちゃうね。環境依存なのかな。
さっきのTRACのチケットが出てまだ2時間だから、動きがあるかは
また明日にでも見てみようかと思います。
0297nobodyさん
2007/02/01(木) 10:09:20ID:???linuxですか?
0298nobodyさん
2007/02/01(木) 13:15:09ID:???Symfonyってtext型とかでDB構築できないの?
DB依存な型排除だとしたらとても悲しい。。(´Д`)
[Exception in XML parsing]
exception 'EngineException' with message 'Error setting up column 'isumcode': Cannot map unknown Propel type 'TEXT' to native database type.' in /usr/share/pear/symfony/vendor/propel-generator/classes/propel/engine/database/model/Column.php:190
0299nobodyさん
2007/02/01(木) 13:54:15ID:???0301294
2007/02/01(木) 14:52:51ID:???そう、Linuxです。フォーラムを見るとWindowsでも同じような問題が
起きているようですね。
ttp://www.symfony-project.com/trac/ticket/1396 に追記された
コメントを元に、PEAR 1.4.11を強制的に入れてみたらインストール
できるようになりました。
今のところsymfony 1.0.0rc1とPEAR 1.5の組み合わせでは、PEAR
からのインストールはできない、ということのようです。
お騒がせしました。
0302nobodyさん
2007/02/01(木) 23:26:25ID:???rc2きた〜〜〜〜〜〜〜〜〜〜〜〜〜〜!!!!
http://www.symfony-project.com/content/download.html
0303nobodyさん
2007/02/01(木) 23:37:17ID:???0304nobodyさん
2007/02/03(土) 17:58:22ID:???The Definitive Guide to symfony 一通り目を通したけど、
いまいち。 もうちょっと突っ込んでほしかったわぁ
0305nobodyさん
2007/02/03(土) 22:58:58ID:???0306nobodyさん
2007/02/04(日) 10:35:55ID:???和訳or追記で出版お願いします。><
(ここで日本語の本が出たらZend Frameworkに大きく差を付けることができるだろう)
0307nobodyさん
2007/02/04(日) 10:56:27ID:???内容として、たいしたことはない。
oreillyより読みやすい。
0308nobodyさん
2007/02/04(日) 19:15:38ID:???0309nobodyさん
2007/02/05(月) 00:45:25ID:???apps/***/config/config.phpに書けば良いの?
0310nobodyさん
2007/02/05(月) 01:35:28ID:???なので、PHPではコネクションプールなどが出来ないです。
PHPのアプリケーションサーバとかあればそういうのが出来るのかも知れないけど。
一回しか実行しないのであれば batch/ 以下にバッチファイルを作って手動で実行とか、
毎回実行するなら、filters.ymlに設定すればいいと思う。
0311nobodyさん
2007/02/05(月) 14:46:29ID:???プロジェクト全体の値ってどうやるの?
0312nobodyさん
2007/02/05(月) 16:26:21ID:???0314nobodyさん
2007/02/06(火) 02:33:21ID:???>なので、PHPではコネクションプールなどが出来ないです。
>PHPのアプリケーションサーバとかあればそういうのが出来るのかも知れないけど。
とりあえず君が無知なのはよく分かった
0315nobodyさん
2007/02/06(火) 05:14:23ID:???なにが間違ってるの?
0316nobodyさん
2007/02/06(火) 10:26:10ID:???したり顔で言い出す予感
0318nobodyさん
2007/02/06(火) 18:07:35ID:???0320nobodyさん
2007/02/07(水) 16:42:19ID:???マニュアル変わった〜〜〜〜〜〜〜〜〜〜!!!
http://www.symfony-project.com/content/documentation.html
0321nobodyさん
2007/02/08(木) 02:45:12ID:???アプリケーションサーバの有無に対して突っ込んだとは微塵も思ってないんだね
0323nobodyさん
2007/02/08(木) 02:52:26ID:???>pgpoolでコネクションプーリング可能だから〜とか
無知の実証お疲れ様。
せめてSQLBくらいで言えばよかったのにね
0324nobodyさん
2007/02/08(木) 05:09:54ID:???定義が相当あいまいな言葉なんだから
それをあげつらってとやかく言う方がセンスねーだろ…
常識で考えて
0325nobodyさん
2007/02/08(木) 12:16:09ID:???誰がって>>310がそう言って>>314がそれを否定したんだろ?
書いてないことが都合悪ければ「そうは書いてない」
都合良ければ「普通そういう意味だと考えるだろ」
普通に書けば言葉足らず
正確に書けば「〜〜まで読んだ」
ほんと2chでマトモな議論なんて出来やしねーなw
0326nobodyさん
2007/02/08(木) 16:05:23ID:???0327nobodyさん
2007/02/08(木) 16:16:06ID:???その判断のロジックの部分は、コントローラ側に書くべき?それともビューに書くべき?
いろんなビューで同じロジック使う場合はヘルパーとかにしたほうがいいのかね。。
0328nobodyさん
2007/02/08(木) 21:12:08ID:???来週までにログイン付きの携帯サイトを作らなくてはいけなくなり、
ちょうど気になってたからsymfonyでやってみようと思ったんですけど
初心者には難しいですねぇ;;
サイトのTOPとかコンテンツのような動的ではないページって
どこに配置するのがsymfonyらしいんでしょうか?
1ページを1モジュールにすればいいのか
1モジュールの中にまとめて置いておこうか・・・
意味不明ですかねw そろそろ帰ろうλ....
0329328
2007/02/08(木) 21:19:52ID:???いつの間にか復活してたので自己解決しにいってきますノシ
0330nobodyさん
2007/02/08(木) 22:20:04ID:???0331nobodyさん
2007/02/09(金) 00:59:40ID:???なんか、"The Definitive Guide to symfony"よりも
サイトのほうが詳しいよな・・・・
0332nobodyさん
2007/02/09(金) 01:32:11ID:???語感的に「保守的」とかそんな感じじゃない?
だから当たり障りのないことしか書いてないんだよきっと。
0333nobodyさん
2007/02/09(金) 05:08:31ID:???プロジェクト名/cache/アプリ名/dev/config/config_php.yml.php
の中の3つの警告文の「current value is "'1'" - php.ini・・・」でエラーになります。
「current value is "\'1\'" - php.ini・・・」のように手書きでエスケープ
してやればOKなのですが、キャッシュがクリアされる度に元に戻ってエラーになります。
magic_quotes_sybase のせいかと思ってOn/Off切替えてみましたが同じでした。
php.ini / apacheのconf は説明書通りに設定して mod_rewrite も入っています。
サンプルの sf_sandbox 持ってきて設置してみましたが、同じ状態です。
【環境】
OS: Ubuntu6.10 (kernel 2.6.17-10-generic)
PEAR: 1.4.9
PHP: 5.1.6
Zend Engine: 2.1.0
Apache: 2.0.55
これはどうしたら回避できるでしょうか?
お願いします。
0334333
2007/02/09(金) 05:17:07ID:???バージョンは symfony version 1.0.0-rc2 です。
0335nobodyさん
2007/02/09(金) 07:54:05ID:???0336nobodyさん
2007/02/09(金) 11:14:26ID:???エラーはこんな感じで、単に構文エラー起こしてるだけです。
Parse error: syntax error, unexpected T_LNUMBER in /home/hogehoge/www/symfony/
testproj/cache/testapp/dev/config/config_php.yml.php on line 9
なので、とりあえず問題の部分を手書きでエスケープして、
デバッグモードでキャッシュを生成しなくすれば、なんとか一応動くようです。
(symfonyを初めて使うので、これが正しい動作なのか不明)
apache用の php.ini とコマンドライン用の php.ini が分かれているので
コマンドライン用だけ magic_quotes系をOnにしたりして試してみましたが、
何でもかんでも \ でエスケープされちゃってエラー吐きまくりでダメでした・・・
0337nobodyさん
2007/02/09(金) 11:24:05ID:???読み直したら、ちょっと誤解を招く書き方してたようです。
「current value is "'1'" - php.ini・・・」←これはエラーメッセージではなく、
構文エラーの原因部分(config_php.yml.php on line 9)です。
'{sfPhpConfigHandler} php.ini "magic_quotes_gpc" key is better set to "false"
(current value is "'0'" - php.ini location: "/etc/php5/apache2/php.ini")'
↑この’’のせいでエラーが起きてる
現在は magic_quotes_gpc / register_globals は Off にしてます。
0338nobodyさん
2007/02/09(金) 12:34:12ID:???0339nobodyさん
2007/02/09(金) 19:53:18ID:???Off/Onどちらとも試しました。Onにすると最初のConfig生成で
$sf_symfony_lib_dir = \'/usr/share/php/symfony\';
みたいになって構文エラーで動きませんでした。
Offにすると>337の状態です。
手修正して↓の掲示板サンプルを試してみましたが
ttp://codezine.jp/a/article/aid/837.aspx?p=1
↑の2ページ目の「CRUD機能の自動生成:scaffolding機能」
の部分で自動生成に失敗して動作しませんでした。
今思うと最初のCongratulations!の画面自体が、
文字は出てましたが、背景が真っ白なんです。
Blogなどのインストールガイドを見ると、茶色の背景ですが
そこからして違ってました(たぶんcssや画像の生成で転んでる)。
あと気になったのが、自動生成された全てのPHPで
「<?php」の開始タグはあれど、「?>」の閉じタグが無いです。
こういう物かと思ってましたが、なんか違うんじゃないかと思い出しました・・・
Debian系といえど1CDリナックスのUbuntuなので、
PEARの動きが変でsymfonyインストールに失敗しているのかもしれません。
Windows版にした方がいいのでしょうか?
0340nobodyさん
2007/02/09(金) 20:29:26ID:???ぴゅう太 版にしれ。
0341339
2007/02/09(金) 20:59:39ID:???symfonyのインストール自体に失敗していたと仮定して、
一端PEARスレに移動します。
ありがとうございました。
0342nobodyさん
2007/02/09(金) 22:58:00ID:???>(たぶんcssや画像の生成で転んでる)。
alias はった?
> ?>」の閉じタグが無いです。
なくて正常です。不要だからないんです。
>Windows版にした方がいいのでしょうか?
Windowsで開発するのは小学生まで。
0343nobodyさん
2007/02/10(土) 02:45:09ID:???ありがとうございます。
画像の件は指摘いただいたとおり
Aliasを張る位置がずれていました。
直りました。
PEARで気になったのは、PEARインストーラーのOS判定で
(/usr/share/php/OS/Guess.php)
「features.h」の存在チェックをしていないので
「/tmp/glibctestkcmm5K:1:22: error: features.h: No such file or directory」
というエラーがsymfonyインストール時に出たことです。
(glibc2.2入れても変わらなかった)
あとは昨日と同じ状況です。
WindowsでPHP入れてDBの作業はあまりやりたくないので
できればLinux環境でうまく動いてくれればいいんですが・・・
0344nobodyさん
2007/02/10(土) 11:07:24ID:???そういうエラー見た事無いから、不具合のあるsymfonyつかまされちゃった感じなんでないかなぁ?
削除できるなら一旦削除してから最新版入れてみたら?
ダメだとしたら、sfPhpConfigHandlerのexecuteの部分
$warning = sprintf('{sfPhpConfigHandler} php.ini "%s" key is better set to "%s" (current value is "%s" - %s)', $key, var_export($value, true), var_export(ini_get($key), true), $this->get_ini_path());
$data[] = sprintf("if (ini_get('%s') != %s)\n{\n sfLogger::getInstance()->warning('%s');\n}\n", $key, var_export($value, true), str_replace("'", "\\'", $warning));
↑の、str_replace("'", "\\'", $warning)が無いせいだと思うから、手動で変更してみるとかするしかないんじゃないかな?
(でも、うちのbeta4だと異常無いから、アップデートで治る・・・はずだと思う。)
0345nobodyさん
2007/02/10(土) 17:02:42ID:???schema.ymlの_foreignKeys って
_foreign_keysが正しいよな。
あと、foreignTable → foreign_table も。
マニュアルおかしい。
0346nobodyさん
2007/02/11(日) 09:43:44ID:???ありがとうございます。
まだ試してないですが、>>344さんの方法でいけると思います。
というのも、
昨日カーネル更新したらOS自体が物故割れたので・・・(TДT)
0347nobodyさん
2007/02/11(日) 11:42:10ID:???すみません。symfonyのRewriteについて教えてください。
.htmlがついていたら、.htmlを取り除くって設定ですか?
# we skip all files with .something
RewriteCond %{REQUEST_URI} \..+$
RewriteCond %{REQUEST_URI} !\.html$
RewriteRule .* - [L]
# we check if the .html version is here (caching)
RewriteRule ^$ index.html [QSA]
RewriteRule ^([^.]+)$ $1.html [QSA]
RewriteCond %{REQUEST_FILENAME} !-f
# no, so we redirect to our front web controller
RewriteRule ^(.*)$ index.php [QSA,L]
0348nobodyさん
2007/02/11(日) 13:42:45ID:???しょこたんもsymfony使ってるみたいだぞ
0349nobodyさん
2007/02/11(日) 18:21:26ID:???0350nobodyさん
2007/02/11(日) 19:43:52ID:???このスレ見てたのか
ゴメンね…
0351nobodyさん
2007/02/11(日) 23:13:43ID:???.htmlが取り除かれるようには見えんが。
コメント付いてるじゃん。
1:.html以外の拡張子は何もしない。
2:.htmlも存在するなら何もしない。
3:それ以外はindex.phpに渡すように書き換え。
symfonyに限った話じゃないので、mod_rewriteのページで調べられるよ。
0352nobodyさん
2007/02/12(月) 03:35:20ID:???バッチリ直りました!
ありがとうございます。
0353nobodyさん
2007/02/12(月) 21:39:58ID:???すみません。
キャッシュ消してページにアクセスすると
Notice: Undefined index: in C:\php\PEAR\symfony\util\Spyc.class.php on line 203
ってエラーが出ます。
何ですかこれ。
0355nobodyさん
2007/02/13(火) 12:28:28ID:???タブは入っていなかったです。
2回目のアクセスから消えるのでいいのですが、気になります。
0356nobodyさん
2007/02/13(火) 18:55:35ID:GvUKv70m構造が同じにも関わらずDB毎にschema.ymlやモデルクラスを用意するのはおかしいので、
同じschema.ymlとモデルクラスでアクセス先DBを可変にしたい。
参考文書やHACKした事あるよ、等情報もらえると助かる。
0357nobodyさん
2007/02/13(火) 19:39:05ID:???"The Definitive Guide to symfony"に書いてある。
0358nobodyさん
2007/02/13(火) 20:24:43ID:GvUKv70m簡単な事ならそこまでしたくないのだけど
大変なHACKになったりする?
0359356
2007/02/13(火) 21:32:46ID:GvUKv70m実行時に動的に決定したDSNが使いたい、という事なのだけど
DSNなんていうDBMS臭を漂わせたものが果たして表層部にあるのかどうか。
0360nobodyさん
2007/02/13(火) 21:35:58ID:???databases.ymlに複数の接続情報を書き、
$conn1 = Propel::getConnection("conn1");
$conn2 = Propel::getConnection("conn2");
こんな感じで各DBに接続してるハンドラを取得出来るところまではわかるかな?
参考:ttp://sakoda.office-lens.net/?p=28
後はそれを、
$c = new Criteria();
****Peer::doSelect($c, $conn1);
とかして、****Peerクラスの第二引数にハンドラを渡してあげればモデルを作らなくていいような気がする。
0361356
2007/02/13(火) 21:48:05ID:GvUKv70mレスありがとう。
でもそれだとDBが増えるたびにdatabases.ymlに記述しなきゃいけない。
DB数が増えればdatabases.ymlのサイズがまずい事になる。
イメージとしては、databases.ymlからDSN情報を読み取っている部分に割り込みたい。
これが出来れば、URL引数等を見て動的にアクセス先DBを決定する事が出来る。
(FW無しのシステムでは同様のものを組んだ経験がある)
0362nobodyさん
2007/02/13(火) 22:28:14ID:???myPropelDatabase.class.phpとでもするのでokでは?
databases.ymlのサイズがまずいことってのがよくわからんけど..
URLで動的に設定を変えるならそのためのフィルター作るかな.自分なら.
0363nobodyさん
2007/02/13(火) 23:20:46ID:???最近はORM使わずに配列にしてるわ。
0364360
2007/02/13(火) 23:23:03ID:???ふむふむ。
DSNの文字列は定義出来る状態ではなく、そのものズバリを動的に生成する必要があるわけだね。
そしたら、
****Peer::doSelect(new Criteria(), Creole::getConnection("mysql://hoge@localhost/hogehoge"));
こんな感じでどうかな?
URLからDSN文字列を自動生成させるなら、
>>362 さんも言ってる通り、Filter使って動的に生成してそれを使い回せばOKじゃないかな。
0365nobodyさん
2007/02/14(水) 08:40:46ID:???http://journal.mycom.co.jp/articles/2007/02/13/symfony/
もう少し人増えてくれるかな?w
0366nobodyさん
2007/02/15(木) 10:09:05ID:???そんな方法もあったんですね。元の質問者じゃないけど参考になります。
>>362
以前、フィルタを使う方法使ってたけどなんとなく気持ち悪かったので、
今では autoload.yml の Propel の部分を上書きしてオリジナルの sfPropelAutoload.php を走らせる方法を使ってたりします。
参考までに。
0367nobodyさん
2007/02/15(木) 21:07:34ID:CtXa1NT7増えないよたぶん
0368nobodyさん
2007/02/15(木) 21:54:16ID:???開発してて思うけど、windowsのアパッチの方が遅いな。
やっぱり、鯖はlinuxだわ。
0369nobodyさん
2007/02/15(木) 22:40:23ID:???で下記のエラーがでます。
既存のデータが残ったまま行うとエラーになる様で、
新しいテーブルへのデータ挿入は可能です。
何か方法がありますでしょうか。
Unable to perform DELETE ALL operation. [wrapped: Could not execute update [Na
tive Error: Cannot delete or update a parent row: a foreign key constraint fails
0370nobodyさん
2007/02/16(金) 02:05:40ID:???の初期状態を変えたいのですが、
スケルトンのようなファイルはどこにあるのでしょうか?
0371nobodyさん
2007/02/16(金) 09:40:39ID:???制約違反だから、データ削除の順番に注意が必要
/fixtures/000_table1.yml
/fixtures/100_table2.yml
/fixtures/200_table3.yml
のように違反が起こらない(削除ができる順序)でテーブル毎に作成すればOK
>>370
$sf_symfony_data_dir/data/symfony/generator/sfPropelCrud/default/skeleton/かな
0372nobodyさん
2007/02/17(土) 05:24:27ID:???0374nobodyさん
2007/02/20(火) 01:34:44ID:???0375nobodyさん
2007/02/20(火) 09:50:00ID:???DL失敗してるっぽいからアクセス殺到中なのかね?
0376nobodyさん
2007/02/20(火) 09:56:19ID:???PEARのupgradeの意味あるんかいな。。
PEARのバージョンは?
あと、自分も一時期よく失敗してたけどRC1あたりから失敗することが無くなった気がする。
0378nobodyさん
2007/02/21(水) 10:57:30ID:???PEAR 1.4.9でupgrade失敗、
バージョンが悪いのかと仕方なく1.5にするもupgrade失敗
だったお
0379nobodyさん
2007/02/22(木) 01:58:28ID:???システムディレクトリに残ってるゴミは消したか?
pear.iniだとかそのへん。
まぁ俺はPEAR使ってないから関係ないが。
0380nobodyさん
2007/02/22(木) 10:26:57ID:???スニペットに書いてたAJAXなやり方だと負荷かかりすぎるわ。。
QuickForm風なヘルパーでも作るしかないかな。。
0381nobodyさん
2007/02/22(木) 23:55:16ID:???propelで作ったメソッドに
$a = AAAAPeer::doSelectJoinBBBB($c);
と
$b = AAAAPeer::doSelect($c);
があるのですが、
$b->getBBBB();
でBBBBのオブジェクトが取り出せます。
doSelectJoinBBBBはどんなときに使うと良いのでしょうか。
0382nobodyさん
2007/02/23(金) 01:30:16ID:???symfonyに期待するのではなく、既存ライブラリを組み込んでみた方が吉かと
ttp://blog.masuidrive.jp/articles/2006/01/05/validation
>>381
18章にある。恐らく欲しい答えが。
So if you know that you will need related objects, call a doSelectJoinXXX() method to reduce the number of database queries--and improve the page performance.
つまりは、外部キーでリレーションしているオブジェクトをとってくるなら
doSelectJoinXXX()関数のほうが1度のクエリで取得できるので
パフォーマンスがちょびっと良いってことらしい。
0383nobodyさん
2007/02/23(金) 07:14:50ID:???ありがとう!
$b->getBBBB(); de またDBにアクセスするんですね。
doSelectJoinAll()だと、けっこうメモリ消費しそう・・・
0384nobodyさん
2007/02/23(金) 18:29:27ID:???レスサンクス!
そのvalidatorは見つけてたんだけど、
どうやってもprototypeを先に読み込んでくれないので腹立ってやめたw
日付フォームがあるせいだとは思うんだが。。
0387nobodyさん
2007/02/24(土) 22:47:39ID:???アクション内だと
$this->getResponse()->addJavaScript('prototype', 'first');
view.ymlでも指定できる
0388nobodyさん
2007/02/26(月) 08:39:23ID:???後発の方もいるかもしれないので
----
// In the view.yml
indexSuccess:
stylesheets: [special: { position: first }]
[php]
// In the action
$this->getResponse()->addStylesheet('special', 'first');
0389nobodyさん
2007/02/26(月) 09:52:17ID:???0390nobodyさん
2007/02/26(月) 15:00:43ID:+JAM5eUfforwardメソッドを使う時に、パラメータを指定したい場合はどう書けば良いのでしょうか?
0391nobodyさん
2007/02/26(月) 16:45:15ID:???forwardの場合は、redirectと違ってそのまま使えないか?
・・・と、ここまで書いてふと思ったんだが、
// 一つ前のactionを取得する
$stack = $this->getContext()->getActionStack();
$size = $stack->getSize();
$action = $stack->getEntry($size - 2)->getActionInstance();
// 一つ前のmessageを拾う
$this->message = $action->message;
↑こんな感じの事をしたいのか?
0392nobodyさん
2007/02/26(月) 17:34:38ID:???例えば
$this->forward('userinfo','edit');
等でさらにユーザidを指定したい場合にどうすれば良いのかなと。
0393nobodyさん
2007/02/26(月) 17:38:27ID:+JAM5eUfvalidator:
fields:
の設定はフォームタグのアクション属性に設定したアクションについて設定して、
fillin:
の設定はフォームを出力するアクションについて設定すれば良いのですよね?
0394nobodyさん
2007/02/26(月) 19:39:24ID:???どうやって取り出したら良いの?
■ このスレッドは過去ログ倉庫に格納されています