Silex

jeudi 07 juin 2012 à 22:43

Le micro framework made in Symfony. Si comme moi vous avez été déçu par la première version de Symfony, testez Silex : ça n'a plus rien à voir. Plus de YML dans la conf, il est simple à utiliser, intuitif et il permet un dèveloppement rapide. N'hésitez pas à le tester.

Poids

  • ZIP : 449 Ko
  • Dézipé : 1,09 Mo

Documentation

Comme on peut s'y attendre de la part la boite qui gère Syfony, la doc est complète et synthétique.

Installation

Pas de SVN, pas de ligne de commande, juste un zip et puis c'est tout. Ça me change de ce que je connais de Symfony et pas en mal. Bon, un petit dossier «www» et un «.htaccess» (c'est ça ou un VHOST et pour un test franchement…).

Donc mon htaccess redirige toutes mes requètes vers www/index.php dans lequel j'ai juste collé l'exemple du tuto. Je vais à l'URL, ça tourne… C'est parfait pour l'instant. J'avais de mauvais souvenirs des fameux tuto «askeet» et «jobeet» que j'avais tenté de faire mais pas avec la bonne version de Symfony (c'est ma faute, j'avais survolé la doc de la doc). Visiblement, cette doc correspond à ce qui est dispo.

Première impression

On se tait, on s'assoit et on admire. Qu'on aime ou non Symfony (et pour ma part je suis pas fan), lorsque les gars de chez Sensio vous rendent leur copie, vous la lisez jusqu'au bout avant de faire le moindre commentaire.

Malgrès l'expérience plutôt mauvaise que j'ai eu avec Symfony, je dois bien avoué que Silex à l'air d'être ce que je cherche dans un micro framework : simple, facile à comprendre, facile à manipuler.

Une petite note quand même : je pensais que use était réservé pour les namespaces… pas qu'il était utilisable comme le mot clé global (bouhh pas beau le global). C'est un peu déroutant de voir une structure qu'on ne connait pas dés la 3ème ligne de code d'un exemple…

Configuration

Le passage que je redoutais… Selon moi, le symbole tabulation à été créé pour et par les développeurs… Alors le YML qui ne marche qu'avec des espaces par paquets de 20, c'est pas mon truc. Et là, c'est beau : l'objet qui sert à tout créer implémente les interfaces des array pour gérer la conf. Non seulement c'est pas ce à quoi je m'attendai mais en plus, c'est une bonne idée.

Facilité d'apprentissage

La façon de créer des controllers ressemble à ce que j'ai vu dans Limonade, sauf que c'est de la syntaxe orienté objet avec des méthodes chainés. C'est un concept que j'aime bien (déjà utilisé dans SQLComposer) et que je trouve très pratique. Il n'y a à priori aucune difficulté à apprendre Silex. De plus, ceux qui utilisent Symfony peuvent réutiliser les modules qu'ils connaissent déjà.

Marge de manœuvre

Autant que vous voulez ! Enfin, à priori, il suffit de définir son autoload sinon, il faut charger tout le contenu du site avant d'exécuter la moindre ligne de code (et donc de faire des sites tout petit) soit a inclure un fichier à chaque fonction de route… C'est un problème que Limonade a résolu grâce a son «autoload_controller»; ce serait étrange qu'il soit sur Silex, du coup, je ne suis pas certain d'avoir bien lu la doc.

Sentiment personnel

Sachant que ce framework était l'œuvre des mêmes développeurs que ceux qui ont fait Symfony, je partait avec un gros a priori… Je m'attendais a un Symfony light, avec des trucs en moins, mais toujours sur la même base. Même si je ne connais pas la version 2 de Symfony, force est de constaté que les gars de chez Sensio ont revu leur copie et sont reparti sur des bases fondamentalement nouvelles de ce que je connaissai. C'est un grand bol d'air et ça fait du bien. Je jetterai sans doute un œil a Symfony 2 que je n'ai pas pris la peine de regardé tant la version 1 m'avait déplu.

Laissez un commentaire

captcha

En bref...

Dernier article

La dictature sur facebook

Cette semaine, l'actu, c'est Facebook qui trébuche. Le réseau social vient en effet de supprimer le droit de vote de ses membres. On a aussi GoogleNow sur Chrome, des nouvelles pas très réjouissantes de l'UIT, du piratage, l'étoile de la mort de Star Wars et une évasion échoué.

Ressources externes