- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- PHP-symfony/モデル へ行く。
- 1 (2009-12-17 (木) 07:57:02)
- 2 (2009-12-23 (水) 03:50:25)
モデル
データベース接続情報ファイルを作成
symfony configure:database "mysql:host=localhost;dbname=mydb" db_user db_passwd
以下のファイルが出来る。
- config/databases.yml
- config/propel.ini
データベースからスキーマファイルを作成
propel.iniを使ってデータベースにアクセスし、全テーブルの情報をYAMLファイルに落とし込む。
symfony propel:build-schema
config/schema.yml が出来る。
スキーマファイルからデータモデルクラスを作成
データベースのテーブルを基にしたデータモデルクラス(テーブルクラス)を作成する。
symfony propel:build-model
データモデルクラスの構成
オブジェクトクラスとピアクラスからなる。データベースにTableAテーブルがある場合、以下のようにオブジェクトクラス2つ、ピアクラス2つの計4つのファイルが構成される。
オブジェクトクラス
- lib/model/TableA.php(ロジックを記述し、実際に編集する。)
- lib/model/om/BaseTableA.php( symfonyシステムファイルで通常編集しない。)
テーブルのレコードそのものを表すクラス。
$tblA = new TableA(); $myname = $tblA->getMyName();
ピアクラス
- lib/model/TableAPeer.php
- lib/model/om/BaseTableAPeer.php
テーブルのレコードを操作(取得)するクラス。
$tblA_list = TableAPeer::retrieveByPks(array(1,2,3));
データベースを変更したら(テーブル追加など)
以下の通りにコマンドを再実行する。
symfony propel:build-schema symfony propel:build-model symfony propel:build-sql
CRUD
TODO