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"
}
}