Quantcast
Channel: Magento[マジェント]情報サイト
Viewing all articles
Browse latest Browse all 265

Magento2のフォルダ構造

$
0
0

はじめに

こんにちは、天方です。

前回、Magento2のインストールについて紹介しましたが、今度はインストールしたMagento2のフォルダ構造について解説してみようと思います。

フォルダの構造がわかると、運用する上でも開発をする上でもMagentoに対する理解が深まります。

Magento1を利用されていた方はフォルダ構造が変わって少し戸惑うかもしれません。今回はMagento1からの変更点にていても触れておきたいと思います。

フォルダの概要(第一階層)

まず、第一階層のフォルダについて説明します。

フォルダ名 説明
app モジュール、テーマ、言語パッケージ、設定ファイル等が配置される
bin magento CLIコマンドが配置される
dev テストコード、開発ツールが配置される
lib サードパーティー製のライブラリ、Magento2のライブラリが配置される
phpserver ビルトインのphpのサーバが配置される。このサーバはオプション
pub 公開フォルダ。画像、静的コンテンツ、エンドポイントのphpプログラム、エラー画面表示のプログラムなど静的ファイルが配置される
setup セットアップウィザードが配置される
var フルページキャッシュ、ページ以外のキャッシュ、セットアップウィザードの中間成果物、Magento2によって自動生成されたクラス、DI設定のコンパイル結果、圧縮されたテンプレートと、コンパイルされたless、テンポラリ、レポートファイル、ログファイルなどの動的に変更されるファイルが配置される
vendor composerでインストールされたモジュールファイルが配置される。composerでMagento2をインストールした場合、appディレクトリではなくこちらにmagento2のファイルも配置される

今回大きくかわったのは、pubフォルダではないかと思います。Magento1では、アプリケーションのルートフォルダを公開しなければなりませんでしたが、Magento2では、アプリケーションのルートフォルダを公開するか、pubフォルダ以下を公開するかのいずれでも大丈夫になっています。実際の運用をする際には、よりセキュアなpunフォルダ以下を公開するのがよいでしょう。

フォルダの概要(第二階層)

それでは、第一階層で紹介した各フォルダについて詳細に見て行きましょう。 bin、phpserver、vendorフォルダについては特に追加の説明がないので省略しています。

appフォルダ

フォルダ名 説明
app/code モジュールが配置される
app/design/frontend ストアフロントのテーマが配置される
app/design/adminhtml 管理画面のテーマが配置される
app/i18n 言語パッケージが配置される
app/etc 設定ファイルが配置される

appフォルダの中でmagento1から名前や内容が大きくかわったのはi18nフォルダでしょうかMagento1ではlocaleという名前でした。またモジュールなどの内部構造は大きく変わっています。こちらの内容についてはまた別の機会に説明したいと思います。

devフォルダ

フォルダ名 説明
dev/tests phpunitのテストコードが配置される
dev/tools 開発ツールが配置される。マイグレーションツールなどもここに配置される

libフォルダ

フォルダ名 説明
lib/internal サーバサイドのライブラリが配置される。Magentoのコアのライブラリやサードパーティのライブラリも含まれる
lib/web クライアントサイドのライブラリが配置される。

pubフォルダ

フォルダ名 説明
pub/errors エラー画面、メンテナンス画面等もこの処理が利用される
pub/media 商品画像、ダウンロードファイル、CMSのアップロード画像、テーマのカスタム画像などが配置される
pub/opt/magento/var pub/get.phpの設定が配置される
pub/static/frontend ストアフロントのスキンとjsが配置される
pub/static/adminhtml 管理画面のスキンとjsが配置される

pubフォルダはMagento2の変更の最も大きなポイントだと思います。 静的ファイルについてはすべてこのpubフォルダ配下にまとまるようになりました。 この変更のおかげでMagento2では比較的簡単にCDN(コンテンツ・デリバリ・ネットワーク)を使えるよになりました。

varフォルダ

フォルダ名 説明
page_cache フルページキャッシュが配置される
cache ページキャッシュを除くキャッシュ可能なオブジェクトのキャッシュが配置される(Redis等のキャッシュストレージを使う場合には空になる)
composer_home セットアップウィザードの中間生成物が配置される
generation Magento2によって自動生成されたクラスファイルが配置される
di すべてのモジュールのコンパイルされたDI設定が配置される
view_preprocessed 圧縮されたテンプレートと、コンパイルされたless(less,css,htmlの集合)が配置される
tmp テンポラリファイルが配置される
report レポートファイルが配置される
log ログファイルが配置される

varフォルダは基本的にはMagento1と同じですが、フルページキャッシュが標準で追加されたこと、自動生成されたクラスやdiの生成結果がキャッシュとは別に追加されるようになりました。

まとめ

早足で見てきましたが、いかがでしたでしょうか。 また機会があれば、モジュールやテーマ、言語パッケージなどのフォルダ構造についても解説してみたいと思います。


Viewing all articles
Browse latest Browse all 265

Trending Articles