symfonyの最近のブログ記事
symfony1.0系でphp5.3でエラー発生 - chiruboの日記
symfony framework forum: symfony 1.0 => Snow Leopard - longvarchar
Creoleの問題らしい。 lib/vendor/creole/CreoleTypes.phpで、 TEXTとLONGVARCHARに同じ値(17)が代入されているため、$affixMapと$creoleTypeMapでキーが重複していて、self::LONGVARCHARが捨てられている。(PHP5.3の場合) そのため、schema.ymlでtypeにLONGVARCHARを指定している場合に、 ./symfony propel-build-modelでUnable to return 'affix' for unknown CreoleTypeが発生する。
解決法は、TEXTに使用されていない整数値を割り当てることにより、TEXTとLONGVARCHARの値が重複しないようにする。
lib/vendor/creole/CreoleTypes.php
//const TEXT = 17; const TEXT = 30; //php 5.3.0 fix, using an unused int
その他
Is symfony-1.0 compatible with php-5.3 ? - symfony users | Google グループ
カテゴリー:
ヘルパー関数をアクション内で使う « symfonyで開発日記
action内でhelper関数を使用したい場合は、sfLoader::loadHelpersでヘルパーをロードすればよいが、使用するヘルパーだけでなく、それが依存するヘルパーもsfLoader::loadHelpersで指定する必要がある。
たとえばアクションで、
sfLoader::loadHelpers(array('Url'));
echo mail_to('xxx@xxxx.xxx');
とやると、
Fatal error: Call to undefined function _parse_attributes() in /Users/pistolfly/sfprojects/reserve/lib/vendor/symfony/lib/helper/UrlHelper.php on line 312
というエラーになってしまう。
以下のようにすればOK。
sfLoader::loadHelpers(array('Tag', 'Url'));
echo mail_to('xxx@xxxx.xxx');
カテゴリー:
Y2 BLOG » [symfony]sfPropelPagerのgetNbResultsがおかしい
sfPropelPager使用時の注意点
・setPeerMethodしたら、必ずsetPeerCountMethodする。そうしないと、件数がおかしくなる可能性がある。(セットしない場合のデフォルトがそれぞれ'doSelect'、'doCount'なので。)
・addGroupByColumnしたら、必ずsetDistinctする。
カテゴリー:
Symfony Tips(Propel Tips):CriteriaでIN(NOT IN)を使う場合の指定方法
Criteriaのaddメソッドの第2引数に配列を指定すると、自動的に展開してくれる。
例:
$c->add(Table1Peer::COLUMN1, array('value1', 'value2'), Criteria::IN);
カテゴリー:
symfony1.1 and sfMail (or mail in generell) - symfony developers | Google グループ
symfony1.1のメール送信方法。
カテゴリー:
symfony propelでの日付のデフォルト値 : アシアルブログ
symfony 1.0.9 で、日付型(date)と時刻型(time)propel generator で生成されるコードが以下のように変わった。(datetimeとtimestampは変更なし)
が、1.0.10で元に戻った。
Changeset 6337 - symfony - Trac
symfonyでのpropel generatorのデフォルトの設定は、
/lib/vendor/propel-generator/default.properties
だということが分かった。
public function getDate($format = 'Y-m-d')
{
...
}
public function getTime($format = 'H:i:s')
{
...
}
1.0.9
public function getDate($format = '%x')
{
...
}
public function getTime($format = '%X')
{
...
}
propel.ini に以下を追加してモデルをリビルドすると、1.0.9でも1.0.8までと同じコードが生成されるようになる。
propel.defaultDateFormat = Y-m-d propel.defaultTimeFormat = H:i:s
が、1.0.10で元に戻ったので、1.0.10にアップグレードしてモデルをリビルドすれば上記対応は不要になる。。
カテゴリー:
「#」から行末までがコメントになります。範囲コメントはありません。
「...」だけの行があると、それ以降は読み込まれません。これは Ruby における「__END__」と同じようなものです。この機能は、エラーがあった箇所を絞り込むときに便利です。
symfonyのfixturesで「...」を使ってみたけど、効かなかった。。。何でだろう?
=> Spyc.class.php が対応していない?
link_to で、?key=value 形式を使いたい場合は、'query_string'オプションを使用する。
symfony Web PHP framework サ Chapter 9 - Links And The Routing System
カテゴリー:
propel/creole sql version - symfony users | Google グループ
$con = Propel::getConnection();
$rs = $con->getResource();
echo mysql_get_server_info($rs);
With $rs you can use any of the native php mysql functions like
mysql_get_client_info()
http://jp.php.net/manual/en/function.mysql-get-client-info.php
mysql_get_host_info()
http://jp.php.net/manual/en/function.mysql-get-host-info.php
, etc

