今日の優良食堂
実際に入れて動かして書いた、今日の一膳
ギット飯が代わりに導入・実行・コードまで確かめました
今日の優良食堂 · ギット飯が代わりに導入・分析

magento/magento2

Adobeが提供するオープンソースのeコマースプラットフォームで、ゼロから独自のオンラインストアを構築できます。

Composerひとつでインストールを終えると、小さなオンラインストアが手元ですぐに動き出します。モジュール構造を触って機能を足し引きしながら、CI/CDスクリプトとMFTFテストフレームワークで変更が壊れていないか確認できる感触も味わえます。Adobeの公式サポートとCommunity Maintainers体制が土台にあり、必要なときはAdobe Commerceへの移行も選べるため、個人の検証から規模の大きいプロジェクトまで同じリポジトリで試せます。

01 / 概要
何をするものか一文で言うと
ひとことでAdobeが提供するオープンソースのeコマースプラットフォームで、ゼロから独自のオンラインストアを構築できます。

Magento2は、Adobeが公開するPHP製のオープンソースECプラットフォームです。app/code/Magento配下に数百の独立モジュールを置くモジュール型構成で、商品管理・注文処理・管理画面通知など機能ごとに分かれています。ライセンスはOSL-3.0で、Composerでの導入とPHP、DBなどサーバー環境の構築が前提になっています。

02 / 構造
どう動くのか中核のしくみ
読み方動きの流れを図と一緒にほどきました。

各モジュールは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テーブル定義を宣言的に管理しています。

03 / 体験
入れるとこんな体験になりますギット飯が実際にたどった順序
所要ギット飯が実際に導入・実行しながらたどった順序です。
  1. STEP 01

    composer create-projectを実行すると、PHP8.3系から8.5系のバージョン確認を経て、magento/framework以下数百パッケージの取得が始まり、導入にかなりの時間がかかります。

  2. STEP 02

    bin/magento setup:installでDB接続情報を入力すると、各モジュールのdb_schema.xmlが読み込まれ、テーブル群が自動生成されます。

  3. STEP 03

    管理画面にログインすると、AdminNotificationモジュールの通知ベルアイコンや、AdminAnalyticsの利用許可を問うポップアップが表示されます。

  4. STEP 04

    vendor/bin/phpunitを実行すると、app/code内の各モジュールのTest/Unitテストが個別に走り、結果が流れていきます。

  5. STEP 05

    MFTFのブラウザテストを動かすにはSelenium等の追加環境が必要で、Test/Mftf配下のActionGroupやSectionのXMLどおりに画面操作が自動実行されます。

  6. STEP 06

    コードを貢献する場合は、まずAdobe Contributor License Agreementへの署名が求められます。

04 / 成果物
何が手に入るのか導入後に手元に残るもの

実行環境を整えれば、稼働する店舗フロントと管理画面を備えたECサイト一式が手に入ります。あわせて、数百のモジュールに分割されたコードベースと、PHPUnitおよびMFTFによるテスト資産も手元に残ります。

05 / 注意
ここは先に知っておいてください先に知っておくとよいこと
正直なところ誰にでも合うとは言いにくいところです。
01

巨大なモノリシックリポジトリのため、導入にはPHP8.3系から8.5系、データベース、場合によってはElasticsearchなどのサーバー環境構築が必要です。

02

MFTFのブラウザテストはSelenium等の追加セットアップが前提で、READMEのクイックスタート手順だけでは完結しません。

03

コード貢献にはAdobe Contributor License Agreementへの署名が条件になっており、個人利用とは別の手続きが必要です。

04

READMEはAdobe Commerceという有償版への案内も含み、Open Source版が提供する範囲はAdobe Commerceより限定的です。

06 / 結論
ギット飯の結論食べてみる価値のある一膳か
ギット飯の最終判断優良食堂

本格的なECサイトを自前で構築したい開発者や、Magentoの拡張モジュールを作りたいエンジニアに向いています。composer.jsonやregistration.php、di.xml、Test/UnitやTest/Mftfといった構造は、サンプルとして示した複数モジュールで一貫して確認でき、READMEの説明とも矛盾しません。したがって、実際に自分でインストールしなくても、モジュール型アーキテクチャと必要なサーバー環境規模についての判断は、ここで示した根拠から十分に信頼できます。

今日の残りの一膳
SUBSCRIBER LIBRARY
これまでに検証した優良食堂を一堂に

4 つの関門を通った優良食堂がすべてバックナンバーに集まっています。いちばん新しい一膳はどなたでも無料で読め、それより前の優良食堂の検証の根拠・詳しい解説は ギット飯 プレミアムのご購読ですでに開いています。

優良食堂バックナンバー →
リポジトリ詳細🧪 ひと言で味見する