Magento2の変更点〜クラスの呼び出し
この記事は公開から 1年以上が経過しています。現在の最新情報との整合性については弊社では一切の責任を負いかねます。
この内容は現在のMagento2とは異なる開発α版の内容です。
Magento2ではシステムを構成しているクラスの呼び出しが変わります。
今までMagento1.xで使用していた呼び出し方法と少し異なっていますので、注意が必要です。
反面、いままでの複雑な構造が単純化されるため、呼び出し時に混乱することがなくなっています。
どのように変わるかというと、Magento1.xでは以下のように呼び出していました。
$foo = Mage::helper('foo'); $bar = Mage::getModel('foo/bar');
これがMagento2では以下のように変わります。
$foo = Mage::helper('Foo_Foo_Helper_Data'); $bar = Mage::getModel('Foo_Foo_Model_Bar');
Magento1.xではクラス名の別名を使用することで、実際に呼び出されるクラス名を隠蔽していました。
これはrewrite機能というconfig.xmlで定義するクラス名の上書き機能を活用する上で重要な要素であり、既存のコードに手を付けなくても呼び出すクラスを柔軟に変更することができるというMagentoのアーキテクチャのなかで重要な位置を占めていました。
Magento2ではクラス名の別名は廃止され、完全なクラス名を記述するようになっています。
別名を定義しなくなったことによってパフォーマンスが改善され、同時に別名を理解する煩雑さがなくなりました。
ただ、既存のテーマやエクステンションはすべて書き直しが必要になりますので、Magento1.xからMagento2に移行する際にはすべてのプログラムやテンプレートの記述を確認する必要が出てきます。
カテゴリ
- お知らせ (34)
- Magento Open Source (169)
- Adobe Commerce (86)
- Magentoトピックス (349)
- Magentoバージョンアップ (11)
- OroCommerce (1)
- AkeneoPIM (16)
- Shopware (26)
- 世界のプライバシー保護規制 (11)
- OroCRM (14)
- Typo3 (9)
- イベント (27)
- Mage-OS (1)
- エクステンションリリース情報 (75)
- Mautic (1)
最近の投稿
アーカイブ