EC-CUBE4 で EC サイト
EC-CUBE は、PHP Symfony のフレームワークをベースにしたオープンソースの EC サイトパッケージです。データベースは MySQL を使用しています。フロントエンドは、テンプレートエンジンとして Twig を使用しています。Twig は、Symfony のフレームワークの一部であり、PHP で実装された柔軟なテンプレートエンジンです。
Why EC-CUBE ライバルとの比較
EC-CUBE 以外にたくさんのオープンソース EC サイトパッケージが存在します。
Magento (マジェント)
Magento は、PHP で開発された EC サイトパッケージで 2018 年に Adobe に買収されて 2021 年に「Adobe Commerce」に名称を変更しました。世界中の EC サイトで利用されているオープンソースの EC サイトパッケージであり、EC-CUBE と同様に多くの拡張機能を備えています。日本では知名度がなかった Magento ですが、越境 EC サイトとしての用途に優れています。ただし、Magento は EC-CUBE に比べて複雑で、導入やカスタマイズにある程度の技術的な知識が必要とされます。
WooCommerce
WooCommerce は、PHP で開発された WordPress のプラグインとして提供される EC サイトパッケージであり、WordPress ユーザーにとっては利用しやすいパッケージです。しかし、EC-CUBE に比べると機能性がやや限定的で、大規模な EC サイトの構築には向かないとされています。
Shopify
Shopify は、クラウド上で提供される EC サイトパッケージであり、EC-CUBE と比較すると利用しやすく、導入や運用が容易であることが特徴です。ただし、カスタマイズ性がやや限定的であり、拡張機能を追加するには追加費用が必要となる場合があります。
PrestaShop
PrestaShop は、フランス発の EC サイトパッケージであり、EC-CUBE と同様に多くの機能性を備えています。しかし、EC-CUBE に比べると日本語に対する対応が不十分であり、日本での利用にはある程度の配慮が必要とされます。
EC-CUBE は、日本発の EC サイトで日本に特化しており、日本語はもちろん、日本の配達システムや通貨など多くの拡張機能を備えていることから、国内の EC サイトプロジェクトで採用されることが多いです。
特徴
オープンソース
EC-CUBE はオープンソースの EC サイトソフトウェアであるため、誰でも自由に利用することができます。また、コミュニティによって開発が進められているため、安心して利用することができます。
多機能
EC-CUBE には、商品管理、在庫管理、注文管理、顧客管理など、EC サイトを運営するために必要な機能が標準で備わっています。また、プラグインを利用することで、さまざまな機能を追加することができます。
拡張性が高い
EC-CUBE は、PHP で開発されており、オープンソースであるため、カスタマイズすることが容易です。また、プラグインを利用することで、簡単に機能を追加することができます。
多言語・多通貨対応
EC-CUBE は、多言語・多通貨対応しているため、海外展開を考える EC サイトでも利用することができます。
セキュリティが高い
EC-CUBE は、セキュリティに配慮した設計がされており、安心して利用することができます。また、脆弱性が発見された場合には、迅速に修正が行われるため、セキュリティ上のリスクを最小限に抑えることができます。EC-CUBE 4.2.1 から利用できるスロットリング機能は IP ごと、または会員ごとのスロットリングを行うことができます。
ディレクトリ構造
主なディレクトリ構成について説明します。
app
EC-CUBE の主要なアプリケーションファイルが含まれています。カスタマイズ用のコントローラ、モデル、ビュー、プラグインなどが含まれています。
子ディレクトリ一覧
config
設定ファイルを配置 Customize
カスタマイズ用 PHP コードを配置 DoctrineMigrations
マイグレーションファイル Plugin
インストールしたプラグインを配置 PluginData
プラグインが利用するファイルを配置 proxy
Entity 拡張機能によって生成された Proxy クラスを配置 template
上書きされたテンプレートファイルを配置
bin
bin/console など、開発に使用する実行ファイルを配置
html
EC-CUBE で表示されるページの リソースファイル(js や css や画像)ファイルが含まれています。
src
EC-CUBE 本体となり、php ファイルや Twig ファイルが含まれています。
tests
EC-CUBE のテストコードが含まれています。
var
キャッシュやログファイルなど、実行時に生成されるファイルが含まれています。
vendor
EC-CUBE で使用するサードパーティ外部ライブラリが含まれています。
ローカル Docker 環境構築
デフォルトは SQlite 使っているようで Mysql に指定してローカルの Docker 環境を構築します。
no matching manifest for linux/arm64/v8 in the manifest list entries エラー
no matching manifest for linux/arm64/v8 in the manifest list entries
M1 の CPU は、linux/arm64/v8 なのですが、使用しようとした image がこれに対応していないというエラー
この docker エラーは M1 の Mac の場合に発生します。
対応策
platform: linux/amd64
linux/amd64 に platform 指定することで正常に動くようになります