symfonyやっと、下地が完成かな。
Ethnaもutf化しているので、どうせだったら(というか面倒だったので)mySQL部分は同じものを使おうかと。
たどり着くまで時間がかかったのでメモ
![]()
symfony×PHP
config/databases.yml
all:
propel:
class: sfPropelDatabase
param:
phptype: mysql
host: localhost
database: shop
username: hoge
password: page
encoding: utf8
この encoding: utf8がキモだった。
設定ファイルmy.cnfをいじらずにsymfonyのmysqlにおける文字化けを防ぐ方法
config/propel.ini
propel.database.url = mysql://hoge:page@localhost/namaee
スキーマー作成
symfony propel-build-schema
これでconfig/schema.ymlにファイルが出来る。
これを元にモデルとか作成されるらしいし、このymlファイルから逆にテーブルが作られもされるらしい。
で、このままだとといおかしいので
defaultの部分がおかしいのでその行を空白に置換してから\n\n を \nに置換するとOK
新しくできたschema.ymlを元に symfony propel-build-modelとやると
config/generated-schema-transformed.xmlとlib/model/いろいろ が出来上がる。
symfony propel-generate appname モジュール名 モデル名でcurdが完成さ。
http://localhost/うんたら/web/モジュール名で確認OK。
やっと、下地が完成かな。
symfony init-project prjectName - プロジェクトを作る
symfony init-app appName - アプリケーションを作る
symfony propel-build-schema - データベースからschema.xmlを作る
symfony propel-build-model - schema.xmlに基いてデータベース操作のmodelを作る
symfony propel-build-sql - schema.xmlに基いてsql文を作る
symfony propel-generate-crud appName moduleName tableName - tableNameに対する基本操作crud(create, retrieve, update, delete)を実現するphpスクリプトを作成する
symfony cc appName cacheName - キャッシュをクリアする