symfonyのアプリケーションは project --> app --> module の階層構造になっていて、
http ://PROJECT_WEB/APP_NAME/MODULE/[引数]
でアクセスできる。
とりあえず、Projectを作る
cd WEB_HOME mkdir sandbox cd sandbox symfony init-project sandbox
DBを使うので、DBの設定を書き足す
vim ./conf/propel.ini ############ propel.database.url = mysql://localhost/sandbox <<PEARのDSN形式
symfonyにはAccessのようなフォームビルダーがオマケでついてくる。
秒殺でフォームを作る
DBにテーブルがない場合。
phpMyAdminでDBにテーブルを作るのは、いつものことだけど、それsymfonyがやってくれる。
vim ./config/schema.yml ###################YAML形式 -- propel: $テーブル名: _attributes: { phpName: $クラス名 } id: $カラムA: varchar(255) $カラムA: longvarchar ################# symfony propel-build-sql symfony propel-insert-sql
DBにテーブルが出来たら
symfony propel-build-model
これでPROPELのORマッピングを作ってくれる。
フォームの自動生成
symfonyには prople admin ツールがついてくるので楽だった
symfony init-app backend symfony propel-init-admin backend $テーブル名 $テーブル名に対応するCLASS cp -R PEAR_HOME/data/symfony/web/sf PROJECT_HOME/web/
これで ./backend_dev.php/$テーブル にアクセスすればOKだった。
初回起動は、symfonyがappをコンパイル(実行形式)するので時間がかかる。2回目以降はキャッシュへのアクセスになるので早くなる。データがおかしいときは、キャッシュが悪さしているかもしれないのでキャッシュを削除
symfony cc