ぷぎがぽぎ このページをアンテナに追加 RSSフィード

2008-08-28

[][][] 単数形に変換されないようにする

symfony1.1を使い始めると同時にDoctrineに乗り換えました。

Propelに比べたらかなり直感的ですし、明らかに学習コストも低いですね。

もちろん、Propelだけにしか対応していないようなプラグインも多々あるので、その辺りと天秤にかけて決定すると良いよ。

で、お題の件。

自分の場合は、スキーマファイルはDBを作成した後に、タスクコマンドで生成するようにしています。

一番の理由はyamlXMLの記述間違いで時間をつぶしたくないのと、phpMyAdminなどでテーブルを作成したほうが早いですし。

さらには、スキーマファイルからテーブル作成すると勝手にdropされることもあるし。。

で、いつものように物理的なテーブルを作成してから以下のコマンドで作成しました。

$ ./symfony doctrine:build-schema backend

そうすると作成されたschema.ymlを見てみるとテーブル名がGoodsのモデル名がGoodに。。

Doctrineのマニュアルにはちゃんと書いてありますね。。

デフォルトではDoctrineは既存のデータベースから読み込まれた各モデルの名前を単数型にしようとします。

1.4.3 インポートの際のテーブル名の単数形化

このルールのために、コマンドで既存DBからスキーマを作成させると単数形のモデル名でschema.ymlが作成されてしまいます。

propelしか触った事がなければ「なぬ!」となりますが、

DoctrineはActive Recordの影響を受けてますのでCakePHPをつかったことがあれば「あー。あれね」ぐらいなものでしょうか。

これをキッカケにこの規則に合わせようかとも思いましたが、Goodに違和感を感じてしまいます。(設計の段階でItemsとかにすれば良いのにというオチなんですけどね。。。)

というわけで、この設定を無効にするためDoctrine_Managerのattributeの singularize_importを falseにしなさいとマニュアルには書いてあります。

symfonyではDoctrineはプラグインでインストールしていますので、プラグインの設定をすればよさげです。

そこで、<プロジェクトルート>/config/doctrine.ymlというファイルを作成して

all:
  attributes:
    singularize_import: false 

としてやるだけで設定を無効にできました。

[][] アドミンジェネレータの日本語化

symfony1.1でもアドミンジェネレータはsymfony1.0と同じなので日本語メッセージファイルも同じものが使えます。

ただし、symfony1.1からはi18n.ymlを使わないなど設定方法が多少異なるので注意。

日本語化したメッセージが欲しい方は

アドミンジェネレータの日本語化からどうぞ。

2008-08-12

[][]phpxrefでドキュメント生成

このお盆で1.1系を使ってみようかと思ったのですが、ソース全体をざっくりと見れるようにphpxrefにsymfonyのソースを流してドキュメントを作成しました。

ついでに1.0系も作成してみました。

symfony1.0.17のphpxref

symfony1.1.1のphpxref

ブラウザで見れることと、メソッドの定義だったりとかがある程度解りやすいのである意味本家APIよりも解りやすいんじゃないかとも思います。あ。。。1.2系がないw

そういえば、symfonyって情報少ないというのを聞きますが、symfonyを積極的に使っている会社って結構多いので社内wikiblogにはきっと多くのノウハウが溜まってるんだろうなと。だから外に出てくる情報って意外と少ないんじゃないかと勝手に推測してみたり。

2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2011 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2012 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2013 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2014 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2015 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2016 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |