Slim

jeudi 07 juin 2012 à 22:45

À l'inverse de Code Igniter, ce poids moyen des micro framework semble trop intrusif et vouloir rester dans les pates du développeur. Si vous avez besoin d'un débugger, passer à un vrai framework, si vous n'en n'avez pas besoin, pourquoi en proposer un ?

Poids

  • ZIP : 152 Ko
  • Dézipé : 443 Ko mais 166 Ko de code utile

Documentation

La documentation livrée avec le projet à l'air très fourni (93 Ko pour 70 fichiers). De plus, cette doc est aussi en ligne et bien présenté.

Installation

Dézipez, allez dans votre navigateur, une petite page vous présente le projet et vous donne le lien vers la documentation.

Première impression

Slim est complet… peut-être trop. OK, c'est sympas d'avoir un debugger, si j'en veux un, j'en fais un ou je prend quelque chose spécialement pour. Si je veux gérer les cookies, c'est pareil : il y a plusieurs librairies qui le font très bien.

Je ne comprends pas non plus ce choix que font plusieurs framework de créer des routes en fonction des différentes méthodes HTTP… Si je veux gérer les POST, les GET, les PUT et les DELETE, je le fais moi même (et je n'installe pas un micro-framework car le projet est visiblement trop gros pour ça).

Mise à part ce surplus de fonctionnalité, selon moi innutiles dans un micro-framework, Slim semble assez simple a utiliser. On passe par un objet Slim, on instancie les différentes routes puis on lance.

Configuration

La configuration se fait à la création de l'objet Slim puis via la méthode option de cet objet. C'est donc facile et bien fichu.

Facilité d'apprentissage

Les différentes méthodes de créations de routes par méthodes HTTP sèment un peu la confusion. Malgrès cela, Slim est facile à apprendre si on ne veux connaitre que le principal. Si par la suite on a besoin de quelque chose de plus précis (gestion de cookie par exemple), on regarde la doc… ou on installe une librairie spécialisée.

Marge de manœuvre

Tout est autorisé, par contre, il semble compliqué d'avoir une même route pour deux méthodes HTTP. Plutôt contraignant pour ceux qui ont l'habitude d'utiliser la même URL pour afficher un formulaire et sa page de confirmation. C'est bien plus simple pour réafficher les valeurs dans le formulaire.

Sentiment personnel

Trop éloigné de ma vision du micro-framework. Trop complet avec trop de choses optionnelles avec la gestion des mode de développement qui peut être gérer simplement si on en a envie, idem pour le système de debugger qui est agréable mais pas indispensable et donc innutile dans ce genre de projet.

Selon moi, il n'y a rien à rajouter dans Slim, mais il y a beaucoup a enlever.

Commentaires

  • jeudi 04 septembre 2014 à 22:07, commentaire de thibaud :

    Concernant :

    "il semble compliqué d'avoir une même route pour deux méthodes HTTP"

    dans la doc on trouve :

    One route, multiple HTTP methods

    $app = new \Slim\Slim();
    $app->map('/foo/bar', function() {
        echo "I respond to multiple HTTP methods!";
    })->via('GET', 'POST');
  • jeudi 25 septembre 2014 à 00:30, commentaire de Romain :

    Bonjour et merci pour le commentaire… ça fait un peu vivre ce blog (qui est un peu mort depuis… mais je vais le ranimer bientôt).

    Par contre, tout ça remonte a 2 ans. J'avoue : je n'ai fais que survoler tout ces framework… honte à moi… Effectivement, je n'avais pas vu à l'époque qu'il était possible de faire comme ça. Par contre, je n'y vous toujours aucune utilité. Les méthodes GET ou POST, ouep, je connais. Je viens de vérifier et a priori, les autres sont légèrement obselètes. Alors pourquoi ouvrir quelque chose qui ne sert plus ?

    Enfin je me trompe peut-être et sans doute qu'il y a des gens qui utilisent PUT et DELETE… mais pourquoi ne pas simplement zappé toute cette partie de méthode et ouvrir chaque route à chaque méthode ? Ce serait plus simple selon moi plutôt que de semer le trouble des développeurs qui vont chercher a comprendre d'où ça vient, comment l'utiliser etc.

    Avec un peu de recul, tous les frameworks que que j'ai testé étaient plutôt agréables et Slim n'était pas le seul a utiliser les méthodes http, mais je n'ai toujours pas compris l'utilisation de choses aussi inutiles dans des micro-frameworks qui ont comme principe de base la légèreté et la simplicité…

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