Symfonyメモ1

Symfony1.2でひっかかったところ/技術メモ

[環境]
1. php5.2.4以降が必要
peclAPC(PHPアクセラレータ)を入れた方がよい
$ pecl install APC
apr-utilが必要(64bit環境ではx86_64が入っているか確認)
2. 環境チェック
$ php /usr/shear/pear/data/symfony/bin/check_confguration.php

[プロジェクト]
新規作成:
$ cd /usr/local/webapps
$ mdkir test # プロジェクトディレクトリ($project)
$ cd test
$ symfony generate:projecte test # プロジェクト作成
$ symfony generate:app frontend # アプリ作成

環境設定
・$project/web/.htaccess の書き換え
RewirteBase /test # コメントを外して、適切なパスに書き換える
※書き換える内容は、httpd.confのaliasの設定の仕方による
上記は alias /test /usr/local/webapps/test と設定している場合

symfonyリソースの使用
$ ln -s /usr/shear/pear/data/symfony/web/sf $project/web/sf
※これをやっていないとテスト画面表示に画像が出ない。
また、symfony ビルトインのJavascript等が利用できないらしい

・DB設定 PDOが利用される
$ cd $project


# DBが既にあるとき
propel:
$ symfony configure:database \
"pgsql:host=localhost port=5432 dbname=DBホスト user=DBユーザー password=DBパスワード" \
DBユーザー DBパスワード
必要 ー> 〜〜〜〜〜 〜〜〜〜〜〜

Doctrine:
$ symfony configure:database --name=doctrine --class=sfDoctrineDatabase \
"pgsql:host=localhost port=5432 dbname=DBホスト user=DBユーザー password=DBパスワード;" DBユーザー DBパスワード

$ symfony propel:build-scheme
# DBのスキーマファイル($project/config/database.yml)を自動生成

$ symfony propel:build-model
ORMクラスファイルを自動生成
※ propel.iniのpropel.packageObjectModel をtrue->falseにしないと
クラッシュする
なぜか不明・・

※ 既存DBがあっても、テーブルは一旦Dropしておかないとエラーになる?