Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
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

  • Be the first to comment

  • Be the first to like this

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

×