Accueil Technologies Phalcon – un framework PHP puissant et robuste écrit en C
Phalcon - un framework PHP puissant, robuste écrit en C

Phalcon – un framework PHP puissant et robuste écrit en C

par Jérémy PASTOURET

Choisir le bon framework pour son projet n’est pas évident. Il n’existe pas de recette ni de formule parfaite pour le choisir. Je pense qu’il faut se faire sa propre opinion, prendre le temps de les tester en faisant des POC. Sinon, au moins, lire des retours d’expériences. Cet article se concentre sur Phalcon, un framework PHP vraiment performant et facile d’utilisation. Son point faible ? Il n’est pas assez connu… pour des raisons qui me sont inconnues à ce jour.

Phalcon – Le pari d’un framework proche du langage

Bannière développeurs

C’est l’histoire d’un groupe d’amis, dans un garage… qui crée un framework dont la première version a été publiée le 15/11/2012.

Initialement le framework se nommait Spark ✨ (étincelle).

Information provenant des premiers commits 😀

Leur principal objectif : obtenir un framework très rapide, économique en ressources et qui respecte les PSR (PHP Standard Recommendations).

Pour créer le framework le plus performant, ils ont eu l’idée d’écrire une extension de PHP. De cette manière, leur framework est à la fois unique et très proche du PHP. Or PHP est écrit en C. Pour écrire une extension PHP, il faut donc la développer en C. C’est le cas pour GD (extension de gestion d’images), pour MongoDB (extension d’interactions avec le moteur NoSQL).

Le plus gros problème du développement d’extension est simple : les développeurs PHP n’aiment pas ces “anciens langages”, car ils sont plus complexes (il y a des pointeurs).

La création du nouveau langage Zephir

Zephir - constructeur d'extension PHP

Pour parer à ce problème, l’équipe de développement de Phalcon a fait un véritable pari – créer un nouveau langage capable de lire du pseudo code PHP en vue de compiler le code en extension PHP. De cette manière, les développeurs PHP peuvent améliorer Phalcon en étant bien plus à l’aise qu’avec du C.

Exemple de code Zephir :

public function __construct(string! name, string description = null)
{
	if unlikely name == "*" {
	  throw new Exception("Role name cannot be '*'");
	}

	let this->name = name,
	this->description = description;
}

Le code ci-dessus provient de la classe Acl\Role.zep de Phalcon. Cette classe permet de créer des Rôles afin de gérer les droits utilisateurs dans une application.

L’équipe en charge de ces deux gros projets développent Zephir et Phalcon en parallèle. Ces deux projets Open Source sont disponibles sur GitHub.

Phalcon de nos jours

Phalcon - un framework PHP

Le framework a évolué au cours du temps : la version 2 est sortie le 17 avril 2014. Puis le 27/06/2016, la version 3 paraît. Cette nouvelle version apporte toutes les fonctionnalités attendues d’un bon framework. L’équipe a mûri et devient plus structurée. On le ressent dans la stabilité du framework.

📆 11/10/2019 : C’est un grand jour : PECL (le gestionnaire d’extension PHP) valide l’entrée de Phalcon dans le catalogue des extensions PHP.

📆 21/12/2019 : la version 4 de Phalcon est publiée. Celle-ci apporte de nouvelles fonctionnalités intéressantes pour les développeurs. Pour utiliser cette version, il faut aussi ajouter une seconde extension nommée php-psr. Elle prouve que l’équipe de développement de Phalcon est très attentive au PSR. En effet, cette extension contrôle et vérifie que les valeurs transmises aux fonctions de PHP sont du bon type.

📆 15/01/2020 : le premier livre sur Phalcon écrit en français est publié. Il détaille la version 3, ainsi que les nouveautés de la version 4. Je peux vous assurer qu’avec 830 pages, il y a de quoi faire. Même sans connexion Internet, vous pouvez coder en Phalcon avec : tout y est (procédure d’installation, cas d’utilisation, exemples…). Je sais tout ça, car c’est moi qui l’ai écrit 😉 paru aux éditions ENI, vous pouvez le retrouver ici.

Conclusion

Bannière conclusion

Ce framework mérite vraiment d’être connu. Il est certes différents des autres mais après l’avoir installé, je peux vous assurer qu’il en vaut la peine. J’espère que je vous ai donné envie de creuser le sujet. Dans cette optique, je publierai prochainement un article consacré au livre afin de vous le présenter plus en détails. En attendant, je vous invite à lire l’article sur Cypress, une solution de tests (différente de Selenium) permettant même de générer des vidéos.

Vous pourriez aussi aimer

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.