Composer
Install
  • Installation will generate a composer.phar file, save it in ./bin folder
    1. curl -sS https://getcomposer.org/installer --output installer
    2. php installer # download composer.phar
    1. sudo mv composer.phar /usr/local/bin/composer
    Installing Packages

    1. Add "vendor" to .gitignore to instruct Git to ignore all the vendor folder
    2. Search required libraries at Packagist
    3. Edit composer.json
      1. {
      2. "require": {
      3. "monolog/monolog": "1.0.*",
      4. "facebook/php-sdk": "3.2.3"
      5. }
      6. }
    4. composer install --no-dev, install those dependencies from lock file
    5. If add new libraries in composer.json, run "php bin/composer.phar update" to install those libraries
    6. require_once 'vendor/autoload.php', add it to your code
    7. Check for known security issues by uploading composer.lock file to sensiolabs
    8. Build with Grunt and Gulp
    General
  • composer.lock, store the library versioin information
  • add your own code to the autoloader

    1. Add your code to /src folder
      1. <?php
      2. namespace Acme;
      3.  
      4. class Foo
      5. {
      6. public static function world()
      7. {
      8. return 'Hello World, Composer!';
      9. }
      10. }
      11. ?>
      12.  
    2. Add autoload field to composer.json
      1. {
      2. "require": {
      3. "monolog/monolog": "1.0.*",
      4. "facebook/php-sdk": "3.2.3",
      5. "facebook/webdriver": "1.6.0",
      6. "facebook/php-sdk-v4": "5.5.0"
      7. },
      8.  
      9. "autoload": {
      10. "psr-4": {"Acme\\": "src/"}
      11. }
      12. }
    3. composer install, create new autoload.php
    4. Use your own library
      1. <?php
      2. require __DIR__ . '/vendor/autoload.php';
      3.  
      4. use Acme\Foo;
      5. echo Foo::world();
      6. ?>
  • Reference
  • PHP Tutorial: Getting Started with Composer
  • Dependency Manager for PHP
  • Creating your first Composer/Packagist package
  • Packagist
  • Symfony
  • Laravel