Versions

13/02/2013 : création
06/06/2013 : commit in composer

Contactez-nous

Kitpages
17 rue de la Frise
38000 Grenoble
tel : 04 58 00 33 81

Par Philippe Le Van (twitter accountplv) Dernière mise à jour : 06 June 2013

Aide mémoire composer / symfony 2

Introduction

Composer est un gestionnaire de composants pour PHP. Ca permet notamment pour symfony2 de créer un projet complet avec pas mal de bundles de façon relativement simple.

Composer est moins simple qu'il n'y parait. Il s'adresse également à des populations différentes : l'utilisateur, le développeur de bundle, un intégrateur qui doit faire des déploiements,...

Cette page réunit quelques commandes courantes des utilisateurs de composer. Ce tutoriel est pas mal basé sur une utilisation de symfony2.

Installation de composer

Première installation

Notez qu'il vous faut curl et php 5.3 ou +

# télécharger et installer composer
curl -s http://getcomposer.org/installer | php

# vous pouvez maintenant l'utiliser en faisant
php composer.phar

# vous pouvez aussi copier le composer.phar dans un répertoir
# qui est dans le path et le renommer en "composer"
# ex : pour une installation en root accessible pour tous les users
mv composer.phar /usr/local/bin/composer
chmod a+x /usr/local/bin/composer

# vous pouvez maintenant lancer composer directement avec la commande
composer

Mettre à jour composer

composer self-update

Créer un projet symfony2 from scratch

Installer le socle (symfony standard edition)

composer create-project symfony/framework-standard-edition path/to/install 2.1.x-dev

Ajouter un bundle à la distribution

Si je souhaite installer le bundle kitpages/data-grid-bundle au projet sur sa branche dev-master

composer require kitpages/data-grid-bundle:dev-master

Il faut ensuite ajouter le bundle au kernel. Pour ça, il faut ajouter dans app/AppKernel.php la ligne suivante :

$bundles = array(
    ...
    new Kitpages\DataGridBundle\KitpagesDataGridBundle(),
);

Fixer un commit précis (sha) dans composer.json

{
    ...
    "require": {
        "foo/bar": "dev-master#1333333333333333333333333333333333333337"
    }
    ...
}

Commentaires

Ajouter un commentaire