Fási Gábor@maerlynghttp://maerlyn.eu/PHP függőségkezelés composerrel
Fási GáborTwitter @maerlyng   Blog maerlyn.eu
Csomagok és Függőségek                          kezeléseFási GáborTwitter @maerlyng                            Blog maerly...
A jelenlegi helyzet                            PEAR                            PECLFási GáborTwitter @maerlyng            ...
A jelenlegi helyzetFási GáborTwitter @maerlyng                         Blog maerlyn.eu
A composer birodalom             Composer - CLI eszköz                    egyszerű használat                    projektenk...
A composer birodalom             Packagist - csomagtárhely                    PHP libeket gyűjt                    minden ...
Használat
Egy composeres projekt használata              git clone https://github.com/maerlyn/composer-demo              Cloning int...
Egy composeres projekt használata              php composer.phar install              Installing from lock file           ...
Egy composeres projekt használata               1 vendor/               2   .composer/               3   bin/             ...
Projekt függőségek letöltése             composer.json                    a projekt gyökerében                    függőség...
A verziókáosz elkerülése             composer.lock                    Csomagok verzióit is tartalmazza                    ...
Autoload             A libek megadják a névterüket:               1 "autoload": {               2 "psr-0": {"Monolog": "sr...
Tesztekben ugyanez             A PHPUnit bootstrapjében:               1 # tests/bootstrap.php               2            ...
Alternatív tárhelyek             01 "repositories": {             02    "my-repo": {             03       "composer": {   ...
composer.json nélküli függőségek             01     "repositories": {             02        "some vendor repo": {         ...
További információk                    GetComposer.org                    Packagist.org                    github.com/comp...
ΩFási GáborTwitter @maerlyng       Blog maerlyn.eu
Upcoming SlideShare
Loading in …5
×

PHP függőségkezelés composerrrel

1,101 views

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
1,101
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

PHP függőségkezelés composerrrel

  1. 1. Fási Gábor@maerlynghttp://maerlyn.eu/PHP függőségkezelés composerrel
  2. 2. Fási GáborTwitter @maerlyng Blog maerlyn.eu
  3. 3. Csomagok és Függőségek kezeléseFási GáborTwitter @maerlyng Blog maerlyn.eu
  4. 4. A jelenlegi helyzet PEAR PECLFási GáborTwitter @maerlyng Blog maerlyn.eu
  5. 5. A jelenlegi helyzetFási GáborTwitter @maerlyng Blog maerlyn.eu
  6. 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. 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. 8. Használat
  9. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 19. ΩFási GáborTwitter @maerlyng Blog maerlyn.eu

×