symfony 1.3/1.4でDoctrineモジュールを生成したときの変数名が変更された件

昨日、Twitterにて@odasukeさんがつぶやかれていたのを見て、その後気になったままだったので状況を調べてみました。

結論としては、ごく最近symfony 1.3/1.4のDoctrineプラグインのコードが変更された影響だった、ということです。

Doctrineプラグイン側だけで変更されていてPropel側は以前のままなので、この部分、DoctrineプラグインとPropelプラグインとでやや仕様が異なる状態になっていますね。

# といっても、生成されるコードは元から大きく違うので、問題はないと思いますが。


変更箇所で出てくる「Plural(複数形)」や「Singular(単数形)」は、データベースから取得したデータを格納する変数の名前などに使われています。Doctrineの場合は、デフォルトで〜sという複数形が使われるように変更されたようです。

ちなみにこれまでの場合は、/lib/generator/sfModelGenerator.class.php内のgetPluralname()というメソッドでこの複数形が決定されていました。

<?php
  public function getPluralName()
  {
    return isset($this->params['plural']) ? $this->params['plural'] : $this->getSingularName().'_list';
  }