Magento: Difference between revisions

From Wiki RB4
Line 72: Line 72:


==Directory Structure==
==Directory Structure==
* /var: contains only? generated files
* /var: contains only? generated files, cached infos


==Magento Marketplace==
==Magento Marketplace==

Revision as of 19:32, 15 August 2018

General

  • Magento 2 was released in 2015
  • Variants
    • Magento Open Source (before 2018 Magento Community Edition)
    • Magento Commerce (before Magento Enterprise Edition)
    • Differences see here
  • object oriented
  • uses design patterns (GoF) like GRASP, but in an individual manner
  • uses MVC with thin controller approach (Business Logic is mainly in Model or View), View is configured by layout XML
  • user groups:
    • web business user
    • system administrator
    • web API user

Technology

Coding Standards

PHP

  • PSR-1
    • each sub-word should be capitalised in both instances, with classes having an initial upper-case letter (StudlyCaps) and methods an initial lower-case letter (camelCase)
    • Class constants MUST be declared in all upper case with underscore separators
  • PSR-2

Architecture

  • layers:
    • presentation
    • service
    • domain
    • persistence

Persistence Layer

  • consists of
    • layouts
    • blocks
    • templates
    • controllers

Service Layer

  • bridges presentation and domain layer
  • provides service contracts (PHP interface, REST/SOAP API): a service contract is a set of PHP interfaces that is defined by a module. This contract comprises data interfaces and service interfaces.

Business Layer

  • implementents the business logic
  • modul communication via event observers, pluginsa and di.xml

Persistance Layer

  • implements CRUD (create, read, update, delete) requests
  • there are 3 types of classes:
    • model classes: don't contain any code for communicating with the DB
    • resource classes: read and write to the DB
    • collection classes: array of individual model instances which implement IteratorAggregate and Countable
  • models and resources are often seen as an unified thing called model
  • there are simple resource model and Entity-Attribute-Value (EAV) resource model

Caching

  • located in /var/ directory

Code Generation

  • Factory, Proxy and Interceptor classes are generated and stored in /var/generation/

Directory Structure

  • /var: contains only? generated files, cached infos

Magento Marketplace

  • UweHeuerAccessKey
    • Public Key: 6f7df3e4e393b84da74c41937990b227
    • Private Key: a39505396b6112f47c43aa8c565cad8b

Installation

Sources