Tips
ここではちょっと開発につまづいた時に役に立ちそうなTipsを挙げていきます。
開発の小技
デバッグしながら開発したい
デバッグモードを有効化すると便利です。
オブジェクトの中身を確認しながら開発したい
デバッグモードを有効にしソースにdump関数を埋め込むと、Symfonyツールバーから確認ができ便利です。
// ソースへの埋め込み
dump([中身を確認したいオブジェクトのインスタンス]);
画面が真っ白になってしまって困った!
本体、サーバーなど様々な要因が考えられますが、まずは本体のログを確認してみると良いかもしれません。
[EC−CUBE本体ディレクトリ]/var/log 配下
開発時に送信メール内容を確認したい
MailCatcherを使うと便利です。
DB関連
テーブルにカラムを追加したい
Entityを編集後、以下のスキーマ更新のコマンドを実行してください。
$ cd {EC-CUBEディレクトリのパス}
$ bin/console doctrine:schema:update --force --dump-sql
スキーマ更新のコマンドを実行したのだけれど、テーブルに反映されない
どうやらDoctolinのキャッシュが残ってしまっているようです。
以下のコマンドでキャッシュを削除してください。
$ cd {EC-CUBEディレクトリのパス}
$ rm -rf var/cache
テーブルに登録されたデータを確認してみたら、日時のデータがなんだかズレている?
EC−CUBE本体とDBのタイムゾーン設定のドキュメントを読んでみると謎がとけます。
本体インストール時やアップグレード時に、テーブルへデータ登録しておきたい場合はどうすればいい?
本体アップグレード時
マイグレーションファイルの追加が必要になります。
マイグレーションファイルはインストール時にも実行されてしまうらしいので、データ重複回避策が必要です。
マイグレーションファイルはmigration_versionsテーブルで管理されます。
versionカラムにマイグレーションファイル名の日時部分が登録されます。
本体インストール時
csvファイルへのレコード追加が必要になります。