Upload
meet-magento-italy
View
371
Download
2
Embed Size (px)
Citation preview
About Me
Manuele MenozziCTO @ Webgriffe
Magento Certified Developer
Zend Certified PHP Engineer
Over 6 years of real-life experience with Magento
./composer.json
How it Works { “require”: { “acme/lib-a”: “1.1.2”, “acme/lib-b”: “2.*” }}
https://packagist.org/
$ composer install
./vendor/acme/lib-a
./vendor/acme/lib-b
./vendor/other/lib-a-dependency
./composer.lock
./vendor/autoload.php
Versioning, Deployment & Composer
� Put under version control composer.json and composer.lock files
� Ignore from version control the vendor directory
� Combine your VCS system with Composer in your deployment process
Composer & Magento 1.x
./composer.json
./composer.lock
./vendor/├── autoload.php├── acme/│ ├── lib-a/│ └── lib-b/└── other/ └── lib-a-dependency/
./app/├── code/│ ├── community/│ ├── core/│ └── local/├── design/├── etc/│ └── modules/./skin/
Magento 1.x Solution
Magento Composer Installer
Works but…
� VCS ignore repetitive work� Same class defined in two files issues� Hard to maintain related upstream
./index.php./app/bootstrap.php./app/autoload.php
./vendor/autoload.php
Magento 2
Universal Autoloading
Magento 2
Self-Contained Packages
Module -> app/code/Vendor/Module
Theme -> app/design/Vendor/theme
Locale -> app/i18n/vendor/package_name
Magento 2
Component Registrar
any/path/of/your/choice/registration.php
use \Magento\Framework\Component\ComponentRegistrar;
ComponentRegistrar::register(
ComponentRegistrar::MODULE,
'VendorName_ModuleName',
__DIR__
);
or ::THEMEor ::LANGUAGE
or ‘frontend/Vendor/theme’or ‘vendor_it_it’
Magento 2
Component Registrar Loading
vendor/magento/braintree/composer.json
...
“autoload”: {
“files”: [“registration.php”],
“psr-4”: {“Magento\\Braintree”: “”}
}
...