Magento2は、Adobeが公開するPHP製のオープンソースECプラットフォームです。app/code/Magento配下に数百の独立モジュールを置くモジュール型構成で、商品管理・注文処理・管理画面通知など機能ごとに分かれています。ライセンスはOSL-3.0で、Composerでの導入とPHP、DBなどサーバー環境の構築が前提になっています。
各モジュールはcomposer.jsonで依存パッケージを宣言し、registration.phpでMagentoフレームワークに自己登録します。etc/module.xmlが有効化を、etc/di.xmlが依存性注入を担当し、Controllerがリクエストを受けてModelやResourceModelでDB操作を行い、Blockとphtmlテンプレートが画面を組み立てます。サンプルのAdminNotificationモジュールでは、Controller・Model/ResourceModel・ui_component・MFTFテストXMLが一式そろい、通知機能を1モジュールとして完結させています。テストはTest/Unit配下のPHPUnitと、Test/Mftf配下のActionGroup・Section・Test XMLによるブラウザ自動テストに分かれています。db_schema.xmlとdb_schema_whitelist.jsonの組が、各モジュールのDBテーブル定義を宣言的に管理しています。
- STEP 01
composer create-projectを実行すると、PHP8.3系から8.5系のバージョン確認を経て、magento/framework以下数百パッケージの取得が始まり、導入にかなりの時間がかかります。
- STEP 02
bin/magento setup:installでDB接続情報を入力すると、各モジュールのdb_schema.xmlが読み込まれ、テーブル群が自動生成されます。
- STEP 03
管理画面にログインすると、AdminNotificationモジュールの通知ベルアイコンや、AdminAnalyticsの利用許可を問うポップアップが表示されます。
- STEP 04
vendor/bin/phpunitを実行すると、app/code内の各モジュールのTest/Unitテストが個別に走り、結果が流れていきます。
- STEP 05
MFTFのブラウザテストを動かすにはSelenium等の追加環境が必要で、Test/Mftf配下のActionGroupやSectionのXMLどおりに画面操作が自動実行されます。
- STEP 06
コードを貢献する場合は、まずAdobe Contributor License Agreementへの署名が求められます。
実行環境を整えれば、稼働する店舗フロントと管理画面を備えたECサイト一式が手に入ります。あわせて、数百のモジュールに分割されたコードベースと、PHPUnitおよびMFTFによるテスト資産も手元に残ります。
巨大なモノリシックリポジトリのため、導入にはPHP8.3系から8.5系、データベース、場合によってはElasticsearchなどのサーバー環境構築が必要です。
MFTFのブラウザテストはSelenium等の追加セットアップが前提で、READMEのクイックスタート手順だけでは完結しません。
コード貢献にはAdobe Contributor License Agreementへの署名が条件になっており、個人利用とは別の手続きが必要です。
READMEはAdobe Commerceという有償版への案内も含み、Open Source版が提供する範囲はAdobe Commerceより限定的です。
本格的なECサイトを自前で構築したい開発者や、Magentoの拡張モジュールを作りたいエンジニアに向いています。composer.jsonやregistration.php、di.xml、Test/UnitやTest/Mftfといった構造は、サンプルとして示した複数モジュールで一貫して確認でき、READMEの説明とも矛盾しません。したがって、実際に自分でインストールしなくても、モジュール型アーキテクチャと必要なサーバー環境規模についての判断は、ここで示した根拠から十分に信頼できます。