19
Magento 2 Summary

Magento 2 Seminar - Anton Kril - Magento 2 Summary

  • Upload
    yireo

  • View
    676

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Magento 2 Seminar - Anton Kril - Magento 2 Summary

Magento 2 Summary

Page 2: Magento 2 Seminar - Anton Kril - Magento 2 Summary

Me

Anton KrilMagento 2 Lead Architect@[email protected]

Page 3: Magento 2 Seminar - Anton Kril - Magento 2 Summary
Page 4: Magento 2 Seminar - Anton Kril - Magento 2 Summary

Communication & Documentation

☞ github.com/magento/magento2

☞ devdocs.magento.com

☞ community.magento.com

☞ alankent.me

Page 5: Magento 2 Seminar - Anton Kril - Magento 2 Summary

$ composer install

Page 6: Magento 2 Seminar - Anton Kril - Magento 2 Summary

Console Application$ bin/magento setup:upgrade

Page 7: Magento 2 Seminar - Anton Kril - Magento 2 Summary

Configuration

☞ Configuration file per sub-system (events.xml, cache.xml)

☞ All xml validated

☞ 3 Stages of configuration loading:

➀ primary (app/etc/*)

➁ global (<ModuleDir>/etc/*)

➂ area (<ModuleDir>/etc/<areaCode>/*)

Page 8: Magento 2 Seminar - Anton Kril - Magento 2 Summary

Dependency Injection

class MyClass{ public function __construct(Magento\Framework\Event\Manager $eventManager) { $this->eventManager = $eventManager; }

public function someFunc() { // … $this->eventManager->dispatch(‘some_event’); // … }}

Page 9: Magento 2 Seminar - Anton Kril - Magento 2 Summary

Interception

Ability to observe public method calls:

class eventManagerPlugin{ public function beforeDispatch(EventManager $subject, $eventName, $arguments) { $this->log->put(“Event ‘$eventName’ was dispatched“); }}

Page 10: Magento 2 Seminar - Anton Kril - Magento 2 Summary

Service Contracts

Public API of a module:

namespace Magento\Customer\Api;

interface AccountManagementInterface{ public function createAccount(CustomerInterface $customer, $password = null);

public function activate($email, $confirmationKey);

public function changePassword($email, $currentPassword, $newPassword);}

Page 11: Magento 2 Seminar - Anton Kril - Magento 2 Summary

WebAPI

Easy WebAPI creation (REST & SOAP)

<routes> <route url="/V1/customerGroups/:id" method="GET"> <service class="Magento\Customer\Api\GroupRepositoryInterface" method="getById"/> <resources> <resource ref="Magento_Customer::group"/> </resources> </route></routes>

Page 12: Magento 2 Seminar - Anton Kril - Magento 2 Summary

Themes

☞ More granular templates

☞ View file fallback

☞ LESS imports

Page 13: Magento 2 Seminar - Anton Kril - Magento 2 Summary

UI Library

Page 14: Magento 2 Seminar - Anton Kril - Magento 2 Summary

RequireJS Loader

define( [ 'Magento_Checkout/js/model/address-converter' ], function(addressConverter) { "use strict"; return function(addressData) { return addressConverter.formAddressDataToQuoteAddress(addressData); }; });

Page 15: Magento 2 Seminar - Anton Kril - Magento 2 Summary

JS Mixins

var config = { mixins: { ‘Magento_Checkout/js/model/address-converter’: { ‘My_Module/js/model/address-converter-mixin’: true } }};

Page 16: Magento 2 Seminar - Anton Kril - Magento 2 Summary

UI Components

☞ JS & CSS & HTML

☞ New forms & grids in admin and storefront

Page 17: Magento 2 Seminar - Anton Kril - Magento 2 Summary

PageCache

☞ built-in cache in CE

☞ Varnish support in CE

☞ Private content rendered in browser

Page 18: Magento 2 Seminar - Anton Kril - Magento 2 Summary

Asynchronous processing

☞ delayed execution

☞ ee-only

Page 19: Magento 2 Seminar - Anton Kril - Magento 2 Summary