blogチュートリアル(6) モデルの作成

このステップは、symfonyでは特に作業はありません。

なぜなら、php symfony doctrine:build --allコマンドを実行したときに、自動的にモデルファイルが生成されているからです。

モデルファイルの構成

では、生成されたモデルファイルを見てみましょう。

sf_sandbox/
  lib/
    model/
      doctrine/
        Post.class.php
        PostTable.class.php
        base/
          BasePost.class.php
  • BasePost.class.php: sfDoctrineRecordの派生クラスで、Postモデルの基本的な情報が書き込まれています。このファイルは編集してはいけません。
  • Post.class.php: BasePostの派生クラスです。postテーブルの1つのレコードを表すクラスです。レコードインスタンスに対するカスタムメソッドなどを定義できます。
  • PostTable.class.php: Doctrine_Tableの派生クラスで、postテーブルを表すクラスです。テーブルに対する操作(特定の条件でレコードを取得するメソッドなど)を定義できます。

このように、1つのモデルに対して複数のファイルが生成されます。PostとPostTableに分かれているところがCakePHPとはやや異なります。