Your SlideShare is downloading. ×
PHP függőségkezelés composerrrel
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

PHP függőségkezelés composerrrel

884

Published on

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

  • Be the first to like this

No Downloads
Views
Total Views
884
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Fási Gábor@maerlynghttp://maerlyn.eu/PHP függőségkezelés composerrel
  • 2. Fási GáborTwitter @maerlyng Blog maerlyn.eu
  • 3. Csomagok és Függőségek kezeléseFási GáborTwitter @maerlyng Blog maerlyn.eu
  • 4. A jelenlegi helyzet PEAR PECLFási GáborTwitter @maerlyng Blog maerlyn.eu
  • 5. A jelenlegi helyzetFási GáborTwitter @maerlyng Blog maerlyn.eu
  • 6. A composer birodalom Composer - CLI eszköz egyszerű használat projektenkénti függőségek rugalmas és beépíthetőFási GáborTwitter @maerlyng Blog maerlyn.eu
  • 7. A composer birodalom Packagist - csomagtárhely PHP libeket gyűjt minden OS projektnek nyitva áll VCS alapján dolgozikFási GáborTwitter @maerlyng Blog maerlyn.eu
  • 8. Használat
  • 9. Egy composeres projekt használata git clone https://github.com/maerlyn/composer-demo Cloning into composer-demo... cd composer-demo/ curl -s http://getcomposer.org/installer | php All settings correct for using Composer Composer successfully installed to: [...]/composer.phar Use it: php composer.pharFási GáborTwitter @maerlyng Blog maerlyn.eu
  • 10. Egy composeres projekt használata php composer.phar install Installing from lock file - Package symfony/finder (dev-master) Cloning b3adc8d5c29593db93c0abc4711a1e25fd3a6fa0 - Package symfony/routing (dev-master) Cloning d3d9c02357b2db6503539d11f6c379ccd86f9cc4 - Package symfony/event-dispatcher (dev-master) Cloning f6b7f60b0c29ab8167de7d7c9ba78fc9cc283c64 - Package monolog/monolog (1.0.2) Downloading Unpacking archive Cleaning up Generating autoload filesFási GáborTwitter @maerlyng Blog maerlyn.eu
  • 11. Egy composeres projekt használata 1 vendor/ 2 .composer/ 3 bin/ 4 monolog/ 5 monolog 6 symfony/ 7 event-dispatcher/ 8 finder/ 9 routing/Fási GáborTwitter @maerlyng Blog maerlyn.eu
  • 12. Projekt függőségek letöltése composer.json a projekt gyökerében függőségek leírása 1 { 2 "require": { 3 "monolog/monolog": "1.0.2", 4 "symfony/event-dispatcher": "dev-master", 5 "symfony/finder": ">=2.0", 6 "symfony/routing": "dev-master" 7 } 8 }Fási GáborTwitter @maerlyng Blog maerlyn.eu
  • 13. A verziókáosz elkerülése composer.lock Csomagok verzióit is tartalmazza Leváltja a composer.json-t A composer install hozza létre A composer update frissíti Érdemes VCS-ben tartani Előnyök A csapatban mindenki pontosan ugyanazzal a verzióval dolgozik Deploy után minden gépen pontosan ugyanaz a verzió van A felhasználók csak olyan verziót kapnak, amivel tesztelve vanFási GáborTwitter @maerlyng Blog maerlyn.eu
  • 14. Autoload A libek megadják a névterüket: 1 "autoload": { 2 "psr-0": {"Monolog": "src/"} 3 } A composer készít neked egy autoloadert: 1 vendor/.composer/ 2 autoload_namespaces.php 3 autoload.php 4 ClassLoader.php 5 installed.json Használat: 1 require_once __DIR__ . "/../vendor/.composer/autoload.php"; 2 3 use SymfonyComponentFinderFinder; 4 use MonologLogger; 5 6 new Finder(); 7 new Logger("app");Fási GáborTwitter @maerlyng Blog maerlyn.eu
  • 15. Tesztekben ugyanez A PHPUnit bootstrapjében: 1 # tests/bootstrap.php 2 3 $loader = require_once __DIR__./../vendor/.composer/autoload.php;Fási GáborTwitter @maerlyng Blog maerlyn.eu
  • 16. Alternatív tárhelyek 01 "repositories": { 02 "my-repo": { 03 "composer": { 04 "url": "http://example.org" 05 06 } 07 }, 08 "MyRepo": { 09 "vcs": { 10 "url": "git://example.org/MyRepo.git" 11 } 12 }, 13 "example org": { 14 "pear": { 15 "url": "http://pear.example.org" 16 17 } 18 }, 19 "packagist": false 20 } Composer tárhelyek ($url/packages.json) Packagist SatisFási GáborTwitter @maerlyng Blog maerlyn.eu
  • 17. composer.json nélküli függőségek 01 "repositories": { 02 "some vendor repo": { 03 "package": { 04 "name": "vendor/package", 05 "version": "1.0.0", 06 "dist": { 07 "url": "http://example.org/package.zip", 08 "type": "zip" 09 10 }, 11 "source": { 12 "url": "git://example.org/package.git", 13 "type": "git", 14 "reference": "tag name, branch name or commit hash" 15 } 16 } 17 } 18 }, 19 20 "require": { 21 "vendor/package": "1.0.0" 22 }Fási GáborTwitter @maerlyng Blog maerlyn.eu
  • 18. További információk GetComposer.org Packagist.org github.com/composer composer-dev google group #composer & #composer-devFási GáborTwitter @maerlyng Blog maerlyn.eu
  • 19. ΩFási GáborTwitter @maerlyng Blog maerlyn.eu

×