タグ付けされた質問 「architecture」

1
1.9.xのMagento ER図
magentoのデータベースフローとテーブルの関係を理解できるように、magento 1.9.xのER図を探しています。本当に私に役立つ完全なER図を誰かが私に提供できれば。私はプレスタショップの良い図を見ましたが、そのようなmagentoの図を見つけることができませんでした。 更新:Magento 2.1.3のER図については、https: //magento.stackexchange.com/a/152061/29175を確認してください。@AnnaVölklの努力のおかげで

4
大規模サイトのデータベースアーキテクチャを最適化する方法は?
質問は、特定のMysql構成アイテムに関するものではなく、複数のデータベースの処理、複数のデータベースサーバーへの読み取りと書き込みの分割、master + masterに関するものですか?マスター+複数のスレーブ? 人々はどのような経験をしましたか?これを達成する方法の例はありますか?

3
サービス契約よりも$ model-> load()を好む理由はありますか?
Magento 2のモジュール間で作業する好ましい方法は、サービスコントラクトを使用することです。 したがって、製品をロードする場合は、製品リポジトリを使用します。 $product = $productRepository->getById($id); これは、契約によりのインスタンスを返しますMagento\Catalog\Api\Data\ProductInterface。 しかし、代わりに古い方法を使用して、ドメイン層を直接呼び出すこともできます。 $product = $productFactory->create()->load($id); これが必要または有用になるケースはありますか? devdocsの発言(ハイライト追加): モジュールは別のモジュールを直接呼び出すことができます。この密結合ソリューションは、ほとんどの状況では推奨されませんが、避けられない場合があります。 [...] 別のモジュールのドメイン層コードを呼び出すための戦略は、システムの固有の構成とニーズに大きく依存します。 ソース:http : //devdocs.magento.com/guides/v2.0/architecture/archi_perspectives/domain_layer.html また、関連する質問に対するコメントは次のように述べています。 リポジトリを使用すると、製品データモデル(Api/Data/Product)が得られます。これは、縮約されたDTOに変換された製品モデルです。考慮すべきこと しかし、私が見る限り、オブジェクトは通常の条件下で同じであり、phpDocごとの戻り値の型が異なるだけです(Magento\Catalog\Api\Data\ProductInterface/ Magento\Catalog\Model\Product)

2
クラスのコンストラクターDIでのContext Objectの目的は何ですか?コンテキストの仕組み
クラスのコンストラクタのほとんどでは、Contextオブジェクトが渡されます。このContext Objがどのように機能するか理解できませんでした。また、これは以下のように親クラスのコンストラクターに渡される場合があることに気付きました。 public function __construct( \Magento\Framework\App\Action\Context $context, \Magento\Catalog\Model\Design $catalogDesign, \Magento\Catalog\Model\Session $catalogSession, .... parent::__construct( $context, $layoutFactory, この特定のコンテキストオブジェクトがどのように機能するか説明してください。

3
Magento 2のリクエストフロー
彼らは大騒ぎしていてMagento 2、名前空間などの概念が組み込まれています。REQUESTフローがどのように処理されているか知りたいだけMagento 2です。 Anthol Kritプレゼンテーションからの興味深い点 Magneto2には、Magentoの2700に比べて8000のクラスがあります1


4
magento 2安定版の「app」フォルダーの下に「code」フォルダーが見つからないのはなぜですか?
サンプルデータとともにhttps://www.magentocommerce.com/downloadからMagento 2安定版をダウンロードし、インストールしました。 フロントエンドとバックエンドの両方の領域でうまく機能しています。 しかし、app/codeフォルダが見つかりませんでした。 同様のモジュールフォルダーはの下にありvendor\magentoます。 Magento 2でフォルダー構造が再び変更されましたか? カスタムモジュールフォルダーを配置できる場所

4
クラスの場所と名前に関するMagento 2のベストプラクティス
ではMagento 1、私たちは、これらのディレクトリに私たちのクラスを配置するために使用されました ブロック ヘルパー モデル 資源 また、名前の中央に大文字を含まない単純なクラス名を使用します。 いくつかのケースを見てみると Magento 2 Core ヘルパー 場所: - \Foo\Bar\Helper 名前: - *.php 例: - \Magento\ImportExport\Helper\Report -\Magento\Cms\Helper\Wysiwyg\Images オブザーバー 場所: - \Foo\Bar\Observer 名前: - *.php - *Observer.php 例: - \Magento\CustomerCustomAttributes\Observer\SalesOrderAddressAfterLoad -\Magento\CustomerBalance\Observer\ProcessBeforeOrderPlaceObserver プラグイン 場所: - \Foo\Bar\Plugin 名前: - *.php - *Plugin.php 例: - \Magento\Catalog\Plugin\Block\Topmenu - \Magento\PageCache\Model\App\FrontController\BuiltinPlugin 出典:http://devdocs.magento.com/guides/v2.0/extension-dev-guide/plugins.html#declaring-a-plugin …

2
magento2が使用するzendコンポーネントは何ですか?
Magento2はzend framewok 1、zend framework 2、symfonyなどを使用しています。 zend framewok 1から取得したコンポーネントとzend framewok 2から取得したコンポーネントについて教えてください。 例えば: Zend_Db(zend 1から) Zend_Json(zend 2から) Zend_mvc(Zend 1から) 等 また、各フレームワークからのパーセント(正確にはわかりません。私は難しいことを知っています) 例えば: zend framewok 1:45% zend framewok 2:25% symfony:30% update:composerを通じて、magentoを使用しているコンポーネントを特定できません。 例:symfony / configまたはzend / config(両方のコンポーネントがcomposerに存在していました)

2
デメテルの法則違反を回避する方法(「新規オブジェクトは、注入可能なオブジェクトへのフィールド参照を保持してはなりません」)
依存性注入を使用するためのルールで、Magento 2 devdocsは次のように述べています。 Newableオブジェクトは、注入可能なオブジェクトへのフィールド参照を保持したり、コンストラクターでフィールド参照を要求したりしてはなりません。これはデメテルの法則違反です。 これは良い目標だと私は理解していますが、Magento 2モデルでこれを実際にどのように実現できますか? 新しいアーキテクチャの優れた例として示されているCustomerモジュールを見ると、顧客モデルコンストラクターのシグネチャは次のようになります。 public function __construct( \Magento\Framework\Model\Context $context, \Magento\Framework\Registry $registry, \Magento\Store\Model\StoreManagerInterface $storeManager, \Magento\Eav\Model\Config $config, \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig, \Magento\Customer\Model\ResourceModel\Customer $resource, \Magento\Customer\Model\Config\Share $configShare, \Magento\Customer\Model\AddressFactory $addressFactory, \Magento\Customer\Model\ResourceModel\Address\CollectionFactory $addressesFactory, \Magento\Framework\Mail\Template\TransportBuilder $transportBuilder, GroupRepositoryInterface $groupRepository, \Magento\Framework\Encryption\EncryptorInterface $encryptor, \Magento\Framework\Stdlib\DateTime $dateTime, CustomerInterfaceFactory $customerDataFactory, DataObjectProcessor $dataObjectProcessor, \Magento\Framework\Api\DataObjectHelper $dataObjectHelper, \Magento\Customer\Api\CustomerMetadataInterface $metadataService, \Magento\Framework\Indexer\IndexerRegistry $indexerRegistry, \Magento\Framework\Data\Collection\AbstractDb $resourceCollection = null, …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.