Flight

jeudi 07 juin 2012 à 22:32

Un très bon framework pour les tout petits projets, Flight n'est pas vraiment fait pour les projets qu'on risque de vouloir étendre par la suite. Il propose quand même un système sympas d'ajout de fonction via la méthode magique __call. Intéressant mais pas suffisant pour définir une structure complexe à mon avis.

Poids

  • ZIP : 15 Ko
  • Dézipé : 58.5 Mo

Documentation

Une doc très concise est présente dans le zip. Elle présente rapidement le framework. Trouver de la doc en ligne semble un peu compliqué… Il y a bien quelque chose sur le site, mais ça reprend le contenu du fichier texte. Bon de toute façon, je ne vais pas essayé de chercher 3h de la doc alors que rien qu'en lisant rapidement (sans même faire le code en même temps) les 600 lignes, je pense avoir saisi le principe.

Installation

Dézippage puis création d'un .htaccess. Flight semble avoir été créer sur et pour linux… si les créateurs savaient à quel point c'est chiant de créer un fichier .htaccess sur Windows, ils l'auraient mis dedans par défaut.

Première impression

De bonnes et de mauvaises surprises… Flight utilise les fonctions annonymes et ça, c'est très bien. En revenche, il donne l'impression de devoir charger l'ensemble du contenu du projet avant de pouvoir le lancer. Après recherche, la méthode magique __autoload n'est pas définie… On peut donc batir quelque chose en partant sur des classes chargé via cette fonction et en passant des callback au système de routing plutôt que des fonctions annonymes… Mais dans ce cas, l'index devient un gros fichier pour configurer le routing et 2-3 fonctions (404, index, etc.).

Le système de routing justement est simple à prendre en main : paramètres, avec ou sans expression régulière, je ne suis pas entré dans le détail, mais ça semble complet et bien fait. À travers la méthode «Flight::route», on associe donc une route et une fonction (annonyme ou via un callback).

La classe Flight dispose de pas mal de méthodes permettant de gérer le basics d'un projet : évenements, gestion d'erreurs, cache et même templating. Même si ces fonctionnalités ne sont pas super poussé, c'est amplement suffisant pour un projet sous micro-framework.

Configuration

La config passe par la classe Flight. Des méthodes permettent de définir les évenements, les dossiers des templates et même d'ajouter des méthodes à cette même classe (en passant par la méthode magique __call). De plus, il ne semble pas qu'il y ait grand chose à configurer; mais pour vos modules, vous pouvez passer par les méthodes «Flight::set» et «Flight::get» ou créer vos propre méthode «Flight::setDB» et «Flight::getDB».

Facilité d'apprentissage

Flight est une coquille vide. Non, ce n'est pas méchant : un projet contient un squelette et un corps, Flight c'est l'étape avant le squelette. C'est l'échaffaudage qui maintient la structure. Il n'y a rien à apprendre, à part PHP et une dixaine de méthodes. C'est simple, c'est pratique, ça s'utilise 10 minutes après avoir lu la doc.

Marge de manœuvre

No limit. On peut choisir de faire un petit projet vite fait ou un plus gros en se basant dessus, mais en passant un peu de temps à définir une structure plus complète quand même. Flight vous laisse libre.

Sentiment personnel

À mon avis, ce framework est à réserver aux petits projets vite fait et léger. Si vous devez définir une structure, d'autre outils vous conviendront mieux. Ensuite se pose la question de l'élargissement des projets ou d'un coup il faut définir une structure un peu sérieuse dont on n'avait pas besoin avant. On est donc libre de faire ce qu'on veux tant qu'on ne veux pas en faire trop. De plus, si vous choisissez d'utiliser les fonctions annonymes, vous risquez vite de vous retrouver avec un fichier d'index imbuvable. Mais pour des projets de 5 ou 6 pages, ce fichier est suffisant : on met la conf et les controllers dedans et le projet est bouclé en un temps record.

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