突然ですが、皆さんは開発の際にMigrationファイル作成していますでしょうか? DBをphpMyAdminなどで直接編集していますでしょうか?
弊社のオススメは要件上重要な設定の変更やデータの挿入はMigrationファイルで行うことです。その理由としてはショップ設定やブロック配置の統一です。

Migrationファイルを作っておくと関係者全員の環境で複数配送機能をONにしたり、 特定のページに特定のブロックの配置するなどの面倒な設定が自動で可能になります。新しいサーバーにテスト環境を作り直すときも自動で設定可能です。

そんな便利なマイグレーションですが、EC-CUBE3のソースを見てもaddSQLメソッドが多数使用されています。
例えば以下のような形です。

$this->addSql("INSERT INTO mtb_order_status (id, name, rank) VALUES (7, '決済処理中', 0);");

これにプレースホルダを当てると次のようになります。

$values = array('name' => '決済処理中');

$this->addSql("INSERT INTO mtb_order_status (id, name, rank) VALUES (7, :name , 0);", values);

EC-CUBEインストールでは当然外部からのデータを使用しませんのでインジェクションに備えてプレースホルダを使用する必要はありません。
ですが外部データと連携したいときなど、使用機会はあるかもしれませんので、第2引数でプレースホルダの値が渡せるということは知っておいて損はないと思います。
ぜひEC-CUBE3カスタマイズの際にはお試しください。

日本発!ECオープンプラットフォーム「EC-CUBE」 EC-CUBEゴールドパートナー EC-CUBEは株式会社イーシーキューブの商標です

EC-CUBEカスタマイズに関するお問い合わせはこちら


    [重要]現在公式にセキュリティサポートが切れていないPHPは8.1以上、MySQLは8.0以上で、対応しているEC-CUBEバージョンは4.2以上です。古いEC-CUBEを使っている方は適切なタイミングでバージョンアップをご検討ください。

    EC-CUBEバージョンアップ