Composer / Bower
PHP Web developper at Stadline
Projet qui a bientôt 10 ans mais de nombreux projets abandonnés
Peut être simplement arrivé trop tôt
Premier commit Avril 2011, plus de 2000 commits sur le repos public
$ curl -sS https://getcomposer.org/installer | php
$ php composer.phar update
$ php composer.phar install
$ php composer.phar require vendor/package:2.*
$ php composer.phar search monolog
{ "name": "Trnkt generator", "type": "project", "description": "Generator for the wunderful Tournikoti tool", "autoload": { "psr-0": { "": "src/" } }, "require": { "php": ">=5.3.3", "symfony/symfony": "2.3.*", ... }, "require-dev": { "liip/functional-test-bundle": "1.0.*@dev" }, "scripts": { "post-install-cmd": [ "Incenteev\\ParameterHandler\\ScriptHandler::buildParameters", ... ] } }
Composer se charge de tout :
{ "name": "Trnkt generator", "type": "project", "description": "Generator for the wunderful Tournikoti tool", }
{ "require": { "php": ">=5.3.3", "symfony/symfony": "2.3.*", ... }, "require-dev": { "liip/functional-test-bundle": "1.0.*@dev" } }
{ "autoload": { "psr-0": { "Monolog\\": "src/", "Vendor\\Namespace\\": "src/", "Vendor_Namespace_": "src/" }, "files": ["src/MyLibrary/functions.php"] } }
{ "scripts": { "post-install-cmd": [ "Incenteev\\ParameterHandler\\ScriptHandler::buildParameters", ... ], "post-update-cmd": [ "Incenteev\\ParameterHandler\\ScriptHandler::buildParameters", ... ] } }
{ "repositories": [ { "type": "composer", "url": "http://packages.example.com" }, { "type": "composer", "url": "https://packages.example.com", "options": { "ssl": { "verify_peer": "true" } } }, { /* For all kind of repos*/ "type": "vcs", "url": "https://github.com/Seldaek/monolog" }, { "type": "pear", "url": "http://pear2.php.net" }, { "type": "package", "package": { "name": "smarty/smarty", "version": "3.1.7", "dist": { "url": "http://www.smarty.net/files/Smarty-3.1.7.zip", "type": "zip" }, "source": { "url": "http://smarty-php.googlecode.com/svn/", "type": "svn", "reference": "tags/Smarty_3_1_7/distribution/" } } } ] }
Pour les même raisons que Composer et même plus encore !
$ npm install bower
$ bower search jquery
$ bower install jquery#1.8.2 --save
$ bower update jquery
Comme pour composer
{ "name": "my-weather-app", "dependencies": { "requirejs": "~2.1.5", "jquery": ">= 1.8.0", "weather": "~0.2.3" } }