私自身や周りの方が、EC-CUBE3のプラグイン開発初期の頃にハマったことに関して、
メモしておきます。
■共通
・各プラグインのルートフォルダは、先頭大文字。
→ PSRの規約に従う必要あり。(アッパーキャメルケースで書いてください)
・(ソースをコピーしてきた場合)クラスnamespaceのパス/クラス名を間違わないように注意
・文字コードは「UTF-8」を使用する
・インストール直後にプラグイン一覧から、プラグインを「有効にする」としておく
よく忘れたまま開発を進めていき、追加機能が全く動かない?となることがある。
・PDFからコピーすると、文字が変わるので注意。
→ githubからコピー行うべき。
■config.yml
・codeとディレクトリ名を一致させる。
・コロンの後ろは、必ず半角スペースを入れる
・「service - ○○ServiceProvider」の「-」と○○ServiceProviderの間には、
必ず半角スペースを入れる。
■event.yml
・フックポイント記述と、呼び出し関数名の間には改行をいれないと、foreachエラーが発生する
eccube.event.render.shopping.before:
- [呼び出し関数名, NORMAL]
eccube.event.render.shopping.before: - [呼び出し関数名, NORMAL]
■プラグイン圧縮時
・プロジェクト直下のフォルダの中身から、圧縮する。
■プラグインzipファイルインストール時
・app/Plugin/直下にインストール対象と同一のプラグイン名のフォルダ(config.ymlファイルのcodeが一致)が存在しているとエラーとなる。
・ファイルの所有者がapacheになってしまうので、レンタルサーバ・Vagrantなどでは編集権限がなくなってしまうので、権限変更する必要あり。