Your SlideShare is downloading. ×
0
Sylvain Rayé - Meet Magento Italy 20141
Sylvain Rayé - Meet Magento Italy 20142
ABOUT SYLVAIN RAYÉ
• Founder / Senior & Certified Magento Developer by Diglin
GmbH
...
Sylvain Rayé - Meet Magento Italy 20143
COMPOSER
http://getcomposer.org
http://packagist.org
Sylvain Rayé - Meet Magento Italy 2014
• Manage dependencies	

• Code reuse	

• Code Sharing	

• Easy to clean uninstall	
...
Sylvain Rayé - Meet Magento Italy 2014X
COMPOSER
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/lo...
Sylvain Rayé - Meet Magento Italy 20144
COMPOSER.JSON
Sylvain Rayé - Meet Magento Italy 2014
• ..
5
COMPOSER.JSON
Project / Dependency levels
Sylvain Rayé - Meet Magento Italy 20146
COMPOSER PHAR
init
search
require
validate
install
update
show
help
…
Sylvain Rayé - Meet Magento Italy 20147
COMPOSER INSTALL / UPDATE
├── app
├── src
├── web
├── …
├── composer.json
├── comp...
Sylvain Rayé - Meet Magento Italy 20148
MAGENTO MODULES
├── app
│   ├── code
│   │   ├── community
│   │   │   ├── NAMESPA...
Sylvain Rayé - Meet Magento Italy 20148
MAGENTO MODULES
├── app
│   ├── code
│   │   ├── NAMESPACE
│   │   │   ├── MODULEN...
Sylvain Rayé - Meet Magento Italy 20149
http://packages.firegento.com
https://github.com/magento-hackathon/magento-
compos...
Sylvain Rayé - Meet Magento Italy 201410
PACKAGES.FIREGENTO.COM
Sylvain Rayé - Meet Magento Italy 201411
COMPOSER.JSON
Project level
{
"require": {
"magento-hackathon/magento-composer-in...
Sylvain Rayé - Meet Magento Italy 201412
COMPOSER.JSON
Project level
{
"require": {
"magento-hackathon/magento-composer-in...
Sylvain Rayé - Meet Magento Italy 201413
MAGENTO COMPOSER OPTIONS
Under extra option in composer.json
‘magento-root-dir’: ...
Sylvain Rayé - Meet Magento Italy 201414
DEPLOY STRATEGY
NONE
COPY
SYMLINK
LINK (hardlink)
Sylvain Rayé - Meet Magento Italy 201415
PUBLISH
YOUR EXTENSION
Sylvain Rayé - Meet Magento Italy 201416
YOUR OWN PACKAGE REPOSITORY
SATIS
PACKAGIST
Sylvain Rayé - Meet Magento Italy 201417
PUBLISH YOUR EXTENSION
Sylvain Rayé - Meet Magento Italy 201417
PUBLISH YOUR EXTENSION
Sylvain Rayé - Meet Magento Italy 201418
PUBLISH YOUR EXTENSION
Composer.json on dependency level
Sylvain Rayé - Meet Magento Italy 201418
PUBLISH YOUR EXTENSION
Composer.json on dependency level
New type
Sylvain Rayé - Meet Magento Italy 201418
PUBLISH YOUR EXTENSION
Composer.json on dependency level
New type
Dependencies
Sylvain Rayé - Meet Magento Italy 201419
PUBLISH YOUR EXTENSION
MAP in composer.json
PACKAGE.XML
MODMAN FILE
Mapping
Sylvain Rayé - Meet Magento Italy 201420
PUBLISH YOUR EXTENSION
Modman file
Sylvain Rayé - Meet Magento Italy 201421
PUBLISH YOUR EXTENSION
• Execute "git tag -a 1.0.0" & "git push --tags"
• Fork th...
Sylvain Rayé - Meet Magento Italy 201421
PUBLISH YOUR EXTENSION
• Execute "git tag -a 1.0.0" & "git push --tags"
• Fork th...
Sylvain Rayé - Meet Magento Italy 201422
PEAR IS DEAD!
HOORAY TO COMPOSER
Sylvain Rayé - Meet Magento Italy 2014X
LINKS
• https://github.com/composer/	

• http://packagist.org	

• https://github.c...
Upcoming SlideShare
Loading in...5
×

Manage magento dependencies with composer

1,021

Published on

If you have to deal with several Magento projects, you probably know how it is painful to manage dependencies and getting and installing extensions for your projects. Composer is a solution largely used in PHP world but not very known in the Magento community. This tool can helps you to improve your productivity and make your life easier if it’s used correctly… This is what we will see together.
Main message: The Magento composer project is the perfect example which shows that the community can bring great enhancement to Magento projects.

Published in: Technology, Business
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,021
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
21
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Transcript of "Manage magento dependencies with composer"

  1. 1. Sylvain Rayé - Meet Magento Italy 20141
  2. 2. Sylvain Rayé - Meet Magento Italy 20142 ABOUT SYLVAIN RAYÉ • Founder / Senior & Certified Magento Developer by Diglin GmbH • CTO by rissip GmbH • Board member of Firegento Association (German Magento community) • Organizer Hackathons / Meet Magento Switzerland (24.10.2014)
  3. 3. Sylvain Rayé - Meet Magento Italy 20143 COMPOSER http://getcomposer.org http://packagist.org
  4. 4. Sylvain Rayé - Meet Magento Italy 2014 • Manage dependencies • Code reuse • Code Sharing • Easy to clean uninstall • Easy upgrade • Works with GIT/SVN orTAR or filesystem • Multiplatform (Windows, *nix, OSX) X COMPOSER ?
  5. 5. Sylvain Rayé - Meet Magento Italy 2014X COMPOSER curl -sS https://getcomposer.org/installer | php mv composer.phar /usr/local/bin/composer
  6. 6. Sylvain Rayé - Meet Magento Italy 20144 COMPOSER.JSON
  7. 7. Sylvain Rayé - Meet Magento Italy 2014 • .. 5 COMPOSER.JSON Project / Dependency levels
  8. 8. Sylvain Rayé - Meet Magento Italy 20146 COMPOSER PHAR init search require validate install update show help …
  9. 9. Sylvain Rayé - Meet Magento Italy 20147 COMPOSER INSTALL / UPDATE ├── app ├── src ├── web ├── … ├── composer.json ├── composer.lock └── vendor ├── composer ├── autoload.php ├── bin ├── mongo ├── doctrine ├── …
  10. 10. Sylvain Rayé - Meet Magento Italy 20148 MAGENTO MODULES ├── app │   ├── code │   │   ├── community │   │   │   ├── NAMESPACE │   │   │   │   ├── MODULENAME │   │   │   │   │   ├── Helper │   │   │   │   │   ├── Model │   │   │   │   │   └── … │   ├── design │   │   ├── frontend │   │   │   └── base │   │   │   ├── default │   │   │   │   ├── layout │   │   │   │   │   ├── modulename.xml │   │   │   │   └── template │   │   │   │   ├── modulename │   ├── etc │   │   └── modules │   │   ├── Namespace_Modulename.xml │   └── locale ├── js ├── skin └── … Magento 1
  11. 11. Sylvain Rayé - Meet Magento Italy 20148 MAGENTO MODULES ├── app │   ├── code │   │   ├── NAMESPACE │   │   │   ├── MODULENAME │   │   │   │   ├── Block │   │   │   │   ├── Controller │   │   │   │   ├── Helper │   │   │   │   ├── Model │   │   │   │   ├── etc │   │   │   │   ├── i18n │   │   │   │   ├── views │   │   │   │   └── … ├── lib ├── pub └── … Magento 2 ├── app │   ├── code │   │   ├── community │   │   │   ├── NAMESPACE │   │   │   │   ├── MODULENAME │   │   │   │   │   ├── Helper │   │   │   │   │   ├── Model │   │   │   │   │   └── … │   ├── design │   │   ├── frontend │   │   │   └── base │   │   │   ├── default │   │   │   │   ├── layout │   │   │   │   │   ├── modulename.xml │   │   │   │   └── template │   │   │   │   ├── modulename │   ├── etc │   │   └── modules │   │   ├── Namespace_Modulename.xml │   └── locale ├── js ├── skin └── … Magento 1
  12. 12. Sylvain Rayé - Meet Magento Italy 20149 http://packages.firegento.com https://github.com/magento-hackathon/magento- composer-installer MAGENTO COMPOSER
  13. 13. Sylvain Rayé - Meet Magento Italy 201410 PACKAGES.FIREGENTO.COM
  14. 14. Sylvain Rayé - Meet Magento Italy 201411 COMPOSER.JSON Project level { "require": { "magento-hackathon/magento-composer-installer": "*", … }, "repositories": [ { "type": "vcs", "url": "https://github.com/magento-hackathon/magento-composer-installer" }, … ], "extra": { "magento-root-dir": "./src", "magento-deploystrategy": "copy", "magento-force" : "override", … } }
  15. 15. Sylvain Rayé - Meet Magento Italy 201412 COMPOSER.JSON Project level { "require": { "magento-hackathon/magento-composer-installer": "*", "connect20/mage_all_latest": "1.8.1.0", "diglin/diglin_username": "2.*" }, "repositories": [ { "type": "vcs", "url": "https://github.com/magento-hackathon/magento-composer-installer" }, { "type": "composer", "url": "http://packages.firegento.com" } ], "extra": { "magento-root-dir": "./src", "magento-deploystrategy": "copy", "magento-force" : "override" } }
  16. 16. Sylvain Rayé - Meet Magento Italy 201413 MAGENTO COMPOSER OPTIONS Under extra option in composer.json ‘magento-root-dir’: ‘../src’ ‘modman-root-dir’: ‘.modman’ ‘magento-force’: true ‘path-mapping-translations’: {…} ‘magento-map-overwrite’: {…} ‘auto-append-gitignore’: true ‘magento-deploy-ignore’: {…} ‘magento-deploy-sort-priority’: {…} ‘magento-deploystrategy’: ‘copy’ ‘magento-deploystrategy-overwrite’: {…} (beta)
  17. 17. Sylvain Rayé - Meet Magento Italy 201414 DEPLOY STRATEGY NONE COPY SYMLINK LINK (hardlink)
  18. 18. Sylvain Rayé - Meet Magento Italy 201415 PUBLISH YOUR EXTENSION
  19. 19. Sylvain Rayé - Meet Magento Italy 201416 YOUR OWN PACKAGE REPOSITORY SATIS PACKAGIST
  20. 20. Sylvain Rayé - Meet Magento Italy 201417 PUBLISH YOUR EXTENSION
  21. 21. Sylvain Rayé - Meet Magento Italy 201417 PUBLISH YOUR EXTENSION
  22. 22. Sylvain Rayé - Meet Magento Italy 201418 PUBLISH YOUR EXTENSION Composer.json on dependency level
  23. 23. Sylvain Rayé - Meet Magento Italy 201418 PUBLISH YOUR EXTENSION Composer.json on dependency level New type
  24. 24. Sylvain Rayé - Meet Magento Italy 201418 PUBLISH YOUR EXTENSION Composer.json on dependency level New type Dependencies
  25. 25. Sylvain Rayé - Meet Magento Italy 201419 PUBLISH YOUR EXTENSION MAP in composer.json PACKAGE.XML MODMAN FILE Mapping
  26. 26. Sylvain Rayé - Meet Magento Italy 201420 PUBLISH YOUR EXTENSION Modman file
  27. 27. Sylvain Rayé - Meet Magento Italy 201421 PUBLISH YOUR EXTENSION • Execute "git tag -a 1.0.0" & "git push --tags" • Fork the https://github.com/magento-hackathon/composer- repository • Edit satis.json ! ! • Execute "composer validate" • Commit & Pull request to the original repository
  28. 28. Sylvain Rayé - Meet Magento Italy 201421 PUBLISH YOUR EXTENSION • Execute "git tag -a 1.0.0" & "git push --tags" • Fork the https://github.com/magento-hackathon/composer- repository • Edit satis.json ! ! • Execute "composer validate" • Commit & Pull request to the original repository
  29. 29. Sylvain Rayé - Meet Magento Italy 201422 PEAR IS DEAD! HOORAY TO COMPOSER
  30. 30. Sylvain Rayé - Meet Magento Italy 2014X LINKS • https://github.com/composer/ • http://packagist.org • https://github.com/magento-hackathon/magento-composer-installer • https://github.com/magento-hackathon/composer-command-integrator/ • http://packages.firegento.com • https://github.com/magento-hackathon/composer-repository • https://plus.google.com/u/0/events/cp21bnv8vnahprcbm4c5k4laceg - nice talk about composer strategies • http://magebase.com/magento-tutorials/composer-with-magento/ - tutorial fromVinai
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×