Jouer avec Symfony2 sur github
Comme vous ne l’avez peut-être pas loupé si vous suiviez le trac symfony ou si vous suivez les bonnes personnes ( ;-) ) sur twitter, Symfony2 utilise maintenant Git comme gestionnaire de version et non plus Svn. Le code source a été déplacé sur github ici. Cela devrait permettre plus de participations externes (ça a déjà commencé avec pborelli, CodingFabian et denderello), vu la facilité pour cloner un repository (le repository c’est l’endroit où sont stockées le sources à distance) avec git.
Si comme moi, vous connaissez mal ou peu Git, vous pourrez commencer par lire le « Learn GitHub » qui pourra vous en apprendre un peu plus. Je vais essayer de vous donner les commandes de base pour récupérer en lecture seule ou en écriture le repository Symfony2
Récupérer le code source
Le premier cas : vous souhaitez juste récupérer le code source pour jouer avec, sans le modifier. Dans ce cas, pas besoin de créer une branche du repository principal, récupérez le juste en lecture seule. Je pars ici du principe que vous êtes sur un *nix et que Git est installé, si vous n’avez pas installé Git allez le faire de ce pas, si vous êtes sous Windows je ne peux vous aider !
Rendez-vous sur l’url du dépôt GitHub de Symfony2 et copiez l’url Read-Only qui devrait être : git://github.com/symfony/symfony.git
Vous pouvez ensuite récupérer les sources en local avec la commande
git clone git://github.com/symfony/symfony.git
Vous aurez un beau répertoire symfony avec les sources.
Effectuer des changements
Si vous voulez effectuer des changements comme un grand sur le code source de symfony, il vous faudra créer une branche. Vous devez être au préalable inscrit sur GitHub. Si vous vous rendez à l’url du dépôt GitHub de Symfony2 vous devriez avoir quelque chose comme cela en haut : ![]()
À la place de « Your fork » vous aurez la possibilité de forker. Je ne l’ai plus car j’ai déjà forké en fait ;-) Cela vous créera un repository dans votre compte GitHub auquel vous pourrez accéder comme précédemment, mais cette fois-ci en lecture/écriture. Juste l’url du repository devrait avoir changée, pour moi la commande c’est :
git clone git@github.com:vjousse/symfony.git
N’oubliez pas d’avoir généré et envoyé votre clef publique sur GitHub avant, sinon vous aurez une belle erreur. Voilà, vous pouvez maintenant effectuer vos changements et les répercuter sur le serveur comme expliqué dans le « Learn GitHub ».
Symfony2, un exemple de code
Tout d’abord il va vous falloir PHP 5.3 d’installé, si ce n’est pas le cas n’allez pas plus loin ! Ensuite il va falloir vous faire aux namespaces PHP et ses \, mais ça ça viendra avec le temps ! Pour finir, allez faire un tour sur git pour recopier un petit snippet d’ubermuda modifié par Fabien Potencier. Je vous le recopie ici :
// change this with the actual path you cloned sf2 to $sf2_path = '~/symfony/src'; use Symfony\Foundation\ClassLoader; use Symfony\Components\CLI\Application; require_once $sf2_path.'/Symfony/Foundation/ClassLoader.php'; $loader = new ClassLoader(); $loader->registerNamespace('Symfony', $sf2_path); $loader->register(); $app = new Application(); $app->run();
On ne parle pour l’instant que du composant CLI de Symfony2 qui vient juste d’être ajouté, on ne manquera pas de vous tenir au courant du reste des évolutions par la suite. À vous de jouer !
7 Réponses
Laisser un message


Quelques noms de personnes intéressantes à suivre ? :D
Moi ? :D
Pour ne vexer personne je dirais @fabpot pour le sur, ensuite la liste de @n1k0 peut être un bon point de départ : http://twitter.com/n1k0/symfony
Je te suis mais pas sur Twitter.
J’ai beaucoup de mal à y passer car souvent il n’y pas d’informations à mes yeux (ou bien je ne suis pas les bonnes personnes :p)
Pour ceux qui sont sur Mac et qui préfèrent utiliser une interface graphique plutôt que de la ligne de commande, l’application GitX est ce que j’ai trouvé de plus complet à ce jour : http://gitx.frim.nl
Je confirme Gitx c’est très bon!
Mettre / écrire » Symfony2 « … à la place de » Symfony 2 »
Explications: http://tinyurl.com/38wugpw
… et l’article ne sera que mieux référencé ;-)
Merci du rappel, même si cet article est un peu obsolète maintenant ;)