packages manager composer

conviene installarlo in ogni progetto per la massima portabilità

curl -sS https://getcomposer.org/installer | php -- --install-dir=bin
php bin/composer
 
composer create-project $name $folder_name
composer install
composer update
composer dump-autoload [--optimize]
composer self-update

scrivere i pacchetti richiesti in composer.json

{
    "require": {
        "monolog/monolog": "1.0.*"
    }
}

conf più complessa:

{
    "require": {
        "php": ">=5.3.3",
        "silex/silex": "1.2.*",
        "monolog/monolog": "~1.4,>=1.4.1",
        "doctrine/dbal": "~2.2",
        "symfony/console": ">=2.3",
        "twig/twig": ">=1.8.0,<2.0-dev",
    },
    "minimum-stability": "dev",
    "autoload": {
        "psr-0": { "": "src/" }
    }
}

usare i pacchetti gestiti:

require __DIR__ '/vendor/autoload.php';
composer global require "laravel/lumen-installer=~1.0"

place the ~/.composer/vendor/bin directory in your PATH

# .bashrc
# composer path so i can use instaled commands
PATH="$PATH:~/.composer/vendor/bin"

interesting libs