SlideShare ist ein Scribd-Unternehmen logo
Techniken in Magento 2
Daniel Rose & David Verholen - Techniken in Magento 2 2
Daniel Rose
● Magento Developer seit 2010
● Zertifiziert seit 2014
● Leiter der Magento-Entwicklung
(brandung GmbH & Co. KG)
Daniel Rose & David Verholen - Techniken in Magento 2 3
David Verholen
● Magento Developer seit 2011
● Zertifiziert seit 2015
● Magento-Entwickler
(brandung GmbH & Co. KG)
Daniel Rose & David Verholen - Techniken in Magento 2 4
Inhalt
● Composer
● Service Contracts
● Dependecy Injection
● Code Generation
● Plugins
Daniel Rose & David Verholen - Techniken in Magento 2 5
Inhalt
● Composer
● Service Contracts
● Dependecy Injection
● Code Generation
● Plugins
Daniel Rose & David Verholen - Techniken in Magento 2 6
Composer
● Module gekapselt in einem Ordner
M1 M2
Daniel Rose & David Verholen - Techniken in Magento 2 7
Composer
● Component Registrar
Daniel Rose & David Verholen - Techniken in Magento 2 8
Composer
● Autoloading Bragento2SliderBlockSlider
Daniel Rose & David Verholen - Techniken in Magento 2 9
Inhalt
● Composer
● Service Contracts
● Dependecy Injection
● Code Generation
● Plugins
Daniel Rose & David Verholen - Techniken in Magento 2 10
Service Contracts
● Set an PHP-
Interfaces
– Data Interface
● Schützt die
Datenintegrität
– Service Interfaces
● Businesslogik wird
nach außen versteckt
Quelle: http://devdocs.magento.com/guides/v2.0/extension-
dev-guide/service-contracts/service-contracts.html
Daniel Rose & David Verholen - Techniken in Magento 2 11
Inhalt
● Composer
● Service Contracts
● Dependecy Injection
● Code Generation
● Plugins
Daniel Rose & David Verholen - Techniken in Magento 2 12
Dependency Injection
● Entwurfsmuster
● Reglementiert die
Abhängigkeiten eines
Objekts zur Laufzeit
● Lose Kopplung
● Constructor Injection
● ObjectManager &
di.xml
● Definitionen in di.xml
– Preference
– Type
– Virtual Types
Daniel Rose & David Verholen - Techniken in Magento 2 13
Demonstration
Daniel Rose & David Verholen - Techniken in Magento 2 14
Inhalt
● Composer
● Service Contracts
● Dependecy Injection
● Code Generation
● Plugins
Daniel Rose & David Verholen - Techniken in Magento 2 15
Code Generation
● Factory
– Erstellung von Non Injectables
● MagentoCatalogApiDataProductInterfaceFactory
● Proxy
– Class Wrapper zur Verzögerung der
Objektinstantiierung bis zur ersten Benutzung
● MagentoCatalogModelSessionProxy
● (Plugin)
Daniel Rose & David Verholen - Techniken in Magento 2 16
Factory Beispiel
Daniel Rose & David Verholen - Techniken in Magento 2 17
Proxy Beispiel
Für MagentoCatalogApiProductRepositoryInterface
● Für jede public Methode der
Originalklasse wird eine Methode in der
Proxy Klasse erstellt.
● Ein Objekt der Originalklasse wird beim
ersten Aufruf einer Methode erzeugt
Daniel Rose & David Verholen - Techniken in Magento 2 18
Inhalt
● Composer
● Service Contracts
● Dependecy Injection
● Code Generation
● Plugins
Daniel Rose & David Verholen - Techniken in Magento 2 19
Plugins
● Interceptor Pattern
– Entwurfsmuster zur gezielten Erweiterung /
Manipulation des Verhaltens einer Methode
Daniel Rose & David Verholen - Techniken in Magento 2 20
Plugins
● Vorraussetzungen
– Klasse wird über den Magento ObjectManager
geladen
– Methode muss public und darf nicht final sein
● Best Practices
– @api annotation
Daniel Rose & David Verholen - Techniken in Magento 2 21
Plugins
MagentoCustomerModelResourceModelVisitor
MagentoCatalogModelPluginLog
Daniel Rose & David Verholen - Techniken in Magento 2 22
Interceptor Beispiel
Daniel Rose & David Verholen - Techniken in Magento 2 23
Vielen Dank

Weitere ähnliche Inhalte

PDF
An Introduction To Magento
PDF
PHP Usergroup Berlin: Zalando - Ein Leben mit und ohne Magento (2010)
PDF
Webinar - Erweiterbarkeit SAP DM - Production Process Designer (PPD)
PDF
BASTA Spring 2016 - Moderne Versionsverwaltung mit Git, und der neue Build-Se...
PDF
Der entspannte Administrator - How to make your life easier by using TDI to a...
PDF
Micro Frontends mit Web Components.pdf
PDF
FMK2015: FileMaker 14 Webdirect by Michael Valentin
PDF
2012_10 SNoUG Building Social Software
An Introduction To Magento
PHP Usergroup Berlin: Zalando - Ein Leben mit und ohne Magento (2010)
Webinar - Erweiterbarkeit SAP DM - Production Process Designer (PPD)
BASTA Spring 2016 - Moderne Versionsverwaltung mit Git, und der neue Build-Se...
Der entspannte Administrator - How to make your life easier by using TDI to a...
Micro Frontends mit Web Components.pdf
FMK2015: FileMaker 14 Webdirect by Michael Valentin
2012_10 SNoUG Building Social Software

Ähnlich wie Techniken in Magento 2 (20)

PDF
Qualitätssicherung in Webprojekten
PDF
TechDays 2016 - Der DevOps Kreislauf – Moderne Source Code Verwaltung und Pac...
PDF
Forms and Reports 12c - Processes and Automation in Development and Operations
PDF
Liebe Mobiliar, wie macht Ihr eigentlich DevOps?
PDF
Consumer- Driven Contract Testing - ein Überblick
PPTX
Angebotspräsentation
PPTX
10 Wege, wie Sie Ihr Magento-Projekt vor die Wand fahren
PDF
theGuard! und SMART SUPPORT / BPM Veranstaltung Berlin 2009 10 15 - Praxis Te...
PPTX
BATbern53 BKW Easy Migration through Clean Architecture
PDF
Ü̈ber Ant und Maven zu SBT und Gradle
PDF
Magento 2 ist da
PDF
Magento 2 ist da
PDF
DWX 2014 - Coded UI in der Praxis: Von Lokalisierung bis Nachhaltigkeit
PDF
Oracle oem 12c_plugin_development-doag-konferenz_11_2014_print_gunther_pipperr
PPTX
Zinit.leistungen.webentwicklung.v1.0.de
PDF
Die Macht der Zahlen
PDF
Full Stack Development mit JavaScript
PDF
Genio Bewertung: KI-Agent erstellt, schreibt, designt und programmiert komple...
PDF
OSMC 2012 | Corporate-IT-Monitoring bei der ING-DiBa AG by Dr. Sven Wolfarth
PDF
Identity und Access Management mit One Identity - Ein Überblick
Qualitätssicherung in Webprojekten
TechDays 2016 - Der DevOps Kreislauf – Moderne Source Code Verwaltung und Pac...
Forms and Reports 12c - Processes and Automation in Development and Operations
Liebe Mobiliar, wie macht Ihr eigentlich DevOps?
Consumer- Driven Contract Testing - ein Überblick
Angebotspräsentation
10 Wege, wie Sie Ihr Magento-Projekt vor die Wand fahren
theGuard! und SMART SUPPORT / BPM Veranstaltung Berlin 2009 10 15 - Praxis Te...
BATbern53 BKW Easy Migration through Clean Architecture
Ü̈ber Ant und Maven zu SBT und Gradle
Magento 2 ist da
Magento 2 ist da
DWX 2014 - Coded UI in der Praxis: Von Lokalisierung bis Nachhaltigkeit
Oracle oem 12c_plugin_development-doag-konferenz_11_2014_print_gunther_pipperr
Zinit.leistungen.webentwicklung.v1.0.de
Die Macht der Zahlen
Full Stack Development mit JavaScript
Genio Bewertung: KI-Agent erstellt, schreibt, designt und programmiert komple...
OSMC 2012 | Corporate-IT-Monitoring bei der ING-DiBa AG by Dr. Sven Wolfarth
Identity und Access Management mit One Identity - Ein Überblick
Anzeige

Techniken in Magento 2

  • 2. Daniel Rose & David Verholen - Techniken in Magento 2 2 Daniel Rose ● Magento Developer seit 2010 ● Zertifiziert seit 2014 ● Leiter der Magento-Entwicklung (brandung GmbH & Co. KG)
  • 3. Daniel Rose & David Verholen - Techniken in Magento 2 3 David Verholen ● Magento Developer seit 2011 ● Zertifiziert seit 2015 ● Magento-Entwickler (brandung GmbH & Co. KG)
  • 4. Daniel Rose & David Verholen - Techniken in Magento 2 4 Inhalt ● Composer ● Service Contracts ● Dependecy Injection ● Code Generation ● Plugins
  • 5. Daniel Rose & David Verholen - Techniken in Magento 2 5 Inhalt ● Composer ● Service Contracts ● Dependecy Injection ● Code Generation ● Plugins
  • 6. Daniel Rose & David Verholen - Techniken in Magento 2 6 Composer ● Module gekapselt in einem Ordner M1 M2
  • 7. Daniel Rose & David Verholen - Techniken in Magento 2 7 Composer ● Component Registrar
  • 8. Daniel Rose & David Verholen - Techniken in Magento 2 8 Composer ● Autoloading Bragento2SliderBlockSlider
  • 9. Daniel Rose & David Verholen - Techniken in Magento 2 9 Inhalt ● Composer ● Service Contracts ● Dependecy Injection ● Code Generation ● Plugins
  • 10. Daniel Rose & David Verholen - Techniken in Magento 2 10 Service Contracts ● Set an PHP- Interfaces – Data Interface ● Schützt die Datenintegrität – Service Interfaces ● Businesslogik wird nach außen versteckt Quelle: http://devdocs.magento.com/guides/v2.0/extension- dev-guide/service-contracts/service-contracts.html
  • 11. Daniel Rose & David Verholen - Techniken in Magento 2 11 Inhalt ● Composer ● Service Contracts ● Dependecy Injection ● Code Generation ● Plugins
  • 12. Daniel Rose & David Verholen - Techniken in Magento 2 12 Dependency Injection ● Entwurfsmuster ● Reglementiert die Abhängigkeiten eines Objekts zur Laufzeit ● Lose Kopplung ● Constructor Injection ● ObjectManager & di.xml ● Definitionen in di.xml – Preference – Type – Virtual Types
  • 13. Daniel Rose & David Verholen - Techniken in Magento 2 13 Demonstration
  • 14. Daniel Rose & David Verholen - Techniken in Magento 2 14 Inhalt ● Composer ● Service Contracts ● Dependecy Injection ● Code Generation ● Plugins
  • 15. Daniel Rose & David Verholen - Techniken in Magento 2 15 Code Generation ● Factory – Erstellung von Non Injectables ● MagentoCatalogApiDataProductInterfaceFactory ● Proxy – Class Wrapper zur Verzögerung der Objektinstantiierung bis zur ersten Benutzung ● MagentoCatalogModelSessionProxy ● (Plugin)
  • 16. Daniel Rose & David Verholen - Techniken in Magento 2 16 Factory Beispiel
  • 17. Daniel Rose & David Verholen - Techniken in Magento 2 17 Proxy Beispiel Für MagentoCatalogApiProductRepositoryInterface ● Für jede public Methode der Originalklasse wird eine Methode in der Proxy Klasse erstellt. ● Ein Objekt der Originalklasse wird beim ersten Aufruf einer Methode erzeugt
  • 18. Daniel Rose & David Verholen - Techniken in Magento 2 18 Inhalt ● Composer ● Service Contracts ● Dependecy Injection ● Code Generation ● Plugins
  • 19. Daniel Rose & David Verholen - Techniken in Magento 2 19 Plugins ● Interceptor Pattern – Entwurfsmuster zur gezielten Erweiterung / Manipulation des Verhaltens einer Methode
  • 20. Daniel Rose & David Verholen - Techniken in Magento 2 20 Plugins ● Vorraussetzungen – Klasse wird über den Magento ObjectManager geladen – Methode muss public und darf nicht final sein ● Best Practices – @api annotation
  • 21. Daniel Rose & David Verholen - Techniken in Magento 2 21 Plugins MagentoCustomerModelResourceModelVisitor MagentoCatalogModelPluginLog
  • 22. Daniel Rose & David Verholen - Techniken in Magento 2 22 Interceptor Beispiel
  • 23. Daniel Rose & David Verholen - Techniken in Magento 2 23 Vielen Dank