Quand on pense au développement web, outre HTML, CSS et JavaScript, le langage PHP est l’un des noms qui viennent à l’esprit.

Contrairement à la croyance populaire, le PHP n’est pas mort. Il est encore largement utilisé par des sites, y compris par de grands noms comme Facebook et Wikipedia.

Selon le W3Techs, le PHP est utilisé par environ 79 % de tous les sites web. Il est 8 fois plus populaire que ASP.NET, son concurrent le plus proche dans les langages de programmation côté serveur.

La part d’utilisation de PHP est restée constante au cours de l’année dernière.

Historique de l'utilisation de PHP
Historique de l’utilisation de PHP

Les programmeurs PHP se tournent souvent vers un framework PHP pour composer leur code. Découvrons ce que sont les frameworks PHP, pourquoi ils sont utilisés et examinons certains des plus populaires.

Qu’est-ce qu’un framework PHP ?

Un framework PHP est une plate-forme permettant de créer des applications web en PHP. Les frameworks PHP fournissent des bibliothèques de code pour les fonctions les plus courantes, ce qui réduit la quantité de code original à écrire.

Pourquoi utiliser un framework PHP ?

Il existe de nombreuses bonnes raisons d’utiliser des frameworks PHP plutôt que de coder à partir de zéro.

1. Un développement plus rapide

Comme les frameworks PHP disposent de bibliothèques et d’outils intégrés, le temps nécessaire au développement est moindre.

Par exemple, le framework CakePHP dispose de l’outil en ligne de commande Bake qui peut rapidement créer tout code de squelette dont vous avez besoin dans votre application.

Plusieurs frameworks PHP populaires intègrent la bibliothèque PHPUnit pour faciliter les tests.

2. Moins de code à écrire

L’utilisation de fonctions intégrées au framework permet de ne pas avoir à écrire autant de code original.

3. Bibliothèques pour les tâches communes

De nombreuses tâches que les développeurs devront effectuer dans les applications web sont courantes. Il s’agit par exemple de la validation des formulaires, du nettoyage des données et des opérations CRUD (Create, Read, Update, and Delete). Plutôt que d’avoir à écrire vos propres fonctions pour ces tâches, vous pouvez simplement utiliser celles qui font partie du framework.

4. Suivre les bonnes pratiques de codage

Les frameworks PHP suivent généralement les meilleures pratiques de codage. Par exemple, ils divisent le code en plusieurs répertoires selon la fonction.Structure du répertoire par défaut de Symfony

Structure du répertoire par défaut de Symfony
Structure du répertoire par défaut de Symfony

Ils vous obligent à organiser le code d’une manière plus propre, plus nette et plus facile à maintenir.

Les frameworks ont également leurs propres conventions de dénomination des entités que vous devez suivre.

5. Plus sûr que d’écrire vos propres applications

Il existe de nombreuses menaces à la sécurité de PHP, notamment les scripts cross-sites, les attaques par injection SQL et les falsifications de requêtes cross-sites. Si vous ne prenez pas les bonnes mesures pour sécuriser votre code, vos applications web PHP seront vulnérables.

L’utilisation d’un framework PHP ne remplace pas l’écriture d’un code sécurisé, mais elle minimise les risques d’exploitation par des pirates. Les bons frameworks intègrent un nettoyage des données et des défenses contre les menaces courantes mentionnées ci-dessus.

6. Un meilleur travail d’équipe

Les projets avec plusieurs développeurs peuvent se tromper s’il n’y a pas de clarté au sujet de :

L’utilisation d’un framework définit des règles de base claires pour votre projet. Même si un autre développeur n’est pas familier avec le framework, il devrait être capable d’apprendre rapidement les ficelles du métier et de travailler en collaboration.

7. Plus facile à entretenir

Les frameworks PHP encouragent le remaniement du code et favorisent le développement DRY (Don’t Repeat Yourself). La base de code ainsi allégée nécessite moins de maintenance.

Vous n’avez pas non plus à vous soucier de la maintenance du cœur du framework, puisque les développeurs le font pour vous.

Ce que vous devez savoir avant d’utiliser un framework PHP

La première chose que vous devez connaître avant d’utiliser un framework PHP est PHP lui-même ! Si vous n’avez pas une bonne maîtrise du langage, vous aurez du mal à vous choisir un framework. La plupart des frameworks fonctionnent avec PHP version 7.2 ou supérieure.

Si vous avez besoin de rafraîchir vos connaissances sur le PHP, lisez ces articles :

Ensuite, vous devez avoir construit vos propres applications PHP, afin de bien comprendre ce qui est nécessaire sur l’interface publique et l’administration.

Il est également indispensable de connaître le PHP orienté objet, car la plupart des frameworks PHP modernes sont orientés objet. Assurez-vous de comprendre les concepts tels que les classes, les objets, l’héritage, les méthodes, les traits et les modificateurs d’accès.

Comme de nombreuses applications web se connectent à une base de données, vous devez connaître les bases de données et la syntaxe SQL. Chaque framework PHP a sa propre liste de bases de données supportées.

Il est utile de comprendre un modèle de cartographie relationnelle des objets (Object-Relational-Mapping ou ORM). L’ORM est une méthode d’accès aux données d’une base de données utilisant une syntaxe orientée objet au lieu d’utiliser le langage SQL. Cela signifie que vous pouvez écrire vos requêtes de base de données dans un langage PHP familier, bien qu’il puisse arriver que vous souhaitiez utiliser SQL.

De nombreux frameworks PHP ont leur propre ORM intégré. Par exemple, Laravel utilise l’ORM Eloquent. D’autres utilisent un ORM open source comme Doctrine.

Il est utile de comprendre comment fonctionnent les serveurs web comme Apache et Nginx. Vous devrez peut-être configurer des fichiers sur le serveur pour que votre application fonctionne de manière optimale.

Vous ferez probablement une grande partie de votre développement au niveau local, vous devez donc aussi connaître localhost. Une autre possibilité consiste à créer et à tester votre application dans un environnement virtuel en utilisant Vagrant et VirtualBox.

Architecture du contrôleur de vue de modèle

Les frameworks PHP suivent généralement le modèle de conception du contrôleur de vue de modèle (Model View Controller ou MVC). Ce concept sépare la manipulation des données de leur présentation.

Processus Model View Controller
Processus Model View Controller (Source de l’image : Wikimedia Commons)

Le modèle stocke la logique et les données d’application. Il transmet les données à la vue, le calque de présentation. L’utilisateur interagit avec la vue et peut entrer des instructions via le contrôleur. Le contrôleur donne ces commandes au modèle, et le cycle se poursuit.

En bref, le modèle concerne les données, la vue concerne l’apparence et le contrôleur concerne le comportement.

Une analogie avec le MVC est la commande d’un cocktail dans un bar.

L’utilisateur est le client qui arrive au bar (la vue) en ayant besoin d’un rafraîchissement. L’utilisateur donne sa commande de boisson au barman (le contrôleur).

Le contrôleur établit la commande à partir du modèle – la recette, les ingrédients et l’équipement. Selon le cocktail, il peut utiliser l’un des éléments suivants, ou d’autres :

  • Alcool
  • Jus de fruits
  • Glace
  • Citron
  • Verre
  • Shaker à cocktail
  • Olive

Le cocktail terminé est placé sur le bar pour que l’utilisateur puisse le déguster. Si l’utilisateur souhaite un autre verre, il doit d’abord en parler au contrôleur. Il n’est pas autorisé à accéder au modèle et à préparer sa propre boisson.

En termes d’application PHP, le MVC pourrait correspondre à ce qui suit :

  • Modèle : une base de données
  • Vue : une ou plusieurs pages HTML
  • Contrôleur : fonctions d’accès et de mise à jour de la base de données

L’utilisation d’une interface en ligne de commande (commande-line interface ou CLI) permet de se sentir à l’aise dans un framework PHP. Laravel dispose de sa propre CLI, Artisan Console. En utilisant la commande make dans Artisan, vous pouvez rapidement construire des modèles, des contrôleurs et d’autres composants pour votre projet.

La connaissance de la ligne de commande est également essentielle pour utiliser le gestionnaire de paquets PHP Composer. Le framework Yii est l’un de ceux qui utilisent Composer pour installer et gérer les dépendances, c’est-à-dire les paquets nécessaires au fonctionnement d’une application.

Packagist est le principal dépôt de paquets que vous pouvez installer avec Composer. Certains des paquets les plus populaires de Composer fonctionnent avec le framework

Paquets populaires de Packagist
Paquets populaires de Packagist

Que devez-vous rechercher dans un framework PHP ?

Voici quelques facteurs dont vous devez tenir compte pour choisir le meilleur framework PHP pour votre projet.

Tout d’abord, si vous êtes débutez avec un framework PHP, la courbe d’apprentissage ne devrait pas être trop dure. Vous ne voulez pas investir un temps précieux dans l’apprentissage d’un framework si celui-ci est trop difficile à appréhender. Heureusement, PHP est l’un des meilleurs langages de programmation à apprendre.

Ensuite, vous voulez un framework qui soit facile à utiliser et qui vous fasse gagner du temps.

Un framework PHP doit répondre à vos exigences techniques pour un projet. La plupart des frameworks disposent d’une version minimale de PHP et de certaines extensions PHP avec lesquelles ils fonctionnent. Assurez-vous que votre framework supporte la ou les bases de données de votre choix et que vous pouvez utiliser le framework avec le serveur web sur lequel vous souhaitez le déployer.

Choisissez un framework avec un bon équilibre de fonctionnalités. Un framework riche en fonctionnalités peut être une aubaine pour certains projets. Par contre, si vous n’avez pas besoin de beaucoup de fonctionnalités, choisissez un framework dépouillé et minimal.

Certaines fonctionnalités sont souhaitables :

Si vous avez besoin de construire une application évolutive, choisissez un framework qui le permet.

Enfin, une bonne documentation et un bon support sont importants pour que vous puissiez tirer le meilleur parti de votre framework PHP. Un framework doté d’une communauté importante et dynamique a également plus de chances de résister à l’épreuve du temps et est également en mesure de vous aider lorsque vous rencontrez des difficultés.

Lecture suggérée : Comment améliorer la limite de mémoire PHP dans WordPress.

Quels sont les meilleurs frameworks PHP en 2024 ?

Il est difficile d’obtenir une liste définitive des frameworks PHP. Wikipedia liste 40 frameworks PHP, mais certains d’entre eux sont mieux décrits comme des systèmes de gestion de contenu, et il y en a sans doute beaucoup plus.

Les premiers frameworks PHP comprennent PHPlib, Horde et Pear. La plupart des grands noms se sont lancés en 2005 ou plus tard.

Voici quelques-uns des meilleurs frameworks PHP en usage aujourd’hui.

Laravel

Laravel
Laravel

Laravel est présenté comme « Le framework PHP pour les artisans du web ». Il a été développé par Taylor Otwell, qui voulait un framework avec des éléments que CodeIgniter n’avait pas, comme l’authentification des utilisateurs.

Spécifications rapides

Lancement : Juin 2011
Version actuelle : 8, publiée le 8 septembre 2020.

Exigences techniques :

  • PHP >= 7.2.5 (ou utiliser Laravel Homestead)
  • Composer installé
  • Prise en charge des bases de données MySQL 5.6+, PostgreSQL 9.4+, SQLite 3.8.8+, SQL Server 2017+.

Les avantages de Laravel

Il est facile de démarrer avec Laravel Homestead, un environnement de développement virtuel « fait pour vous ».

Laravel Homestead est une boîte Vagrant officielle, préemballée, qui vous offre un merveilleux environnement de développement sans vous obliger à installer PHP, un serveur web et tout autre logiciel de serveur sur votre machine locale. Plus besoin de vous inquiéter de la dégradation de votre système d’exploitation !

Si vous êtes un utilisateur de Mac, vous avez également le choix d’utiliser Laravel Valet comme environnement de développement. Soit dit en passant, Laravel Valet supporte Symfony, CakePHP 3, Slim et Zend, ainsi que WordPress.

Laravel utilise un moteur de templating appelé Blade. L’avantage qu’il présente par rapport aux autres moteurs de modèles est que vous pouvez utiliser PHP dans Blade, ce que vous ne pouvez pas faire avec les autres.

Packalyst, une collection de paquets Laravel, compte plus de 15 000 paquets que vous pouvez utiliser dans vos projets.

Laravel fournit une gamme de méthodes et de fonctionnalités de sécurité, couvrant les points suivants :

  • Authentification
  • Autorisation
  • Vérification d’e-mail
  • Cryptage
  • Hachage
  • Réinitialisation du mot de passe

Eloquent ORM et Fluent Query Builder de Laravel protègent contre les attaques par injection SQL car ils utilisent la liaison de paramètres PDO. La protection contre la falsification de requêtes intersites (Cross-Site Request Forgery – CSRF), qui utilise un jeton de formulaire CSRF caché, est également activée par défaut.

L’outil de ligne de commande Artisan Console dont dispose Laravel accélère le développement en permettant aux développeurs d’automatiser les tâches répétitives et de générer rapidement du code squelette.

Lorsque nous avons effectué des tests d’évaluation des performances de PHP, Laravel était le plus rapide des frameworks PHP que nous avons essayés.

L’écosystème Laravel dispose de plusieurs outils utiles tels que Mix pour la compilation des actifs CSS et JS, et Socialite pour l’authentification OAuth.

Laravel bénéficie d’une large communauté de développeurs (comme WordPress). Vous pouvez les trouver sur :

  1. Laracasts : un portail d’apprentissage avec des cours, un blog, un podcast et un forum.
  2. Laravel.io : un portail communautaire avec plus de 45 000 utilisateurs.
  3. Le sous-reddit Laravel : elle abrite 50 000 artisans Laravel.

Qui utilise Laravel ?

Symfony

Symfony
Symfony

Symfony est à la fois un framework PHP et une collection de composants PHP pour la construction de sites web.

Spécifications rapides

Lancement : Octobre 2005

Version actuelle : 5.1.4

Exigences techniques :

  • PHP >= 7.2.5
  • Composer installé

Les avantages de Symfony

Symfony est un excellent choix pour les sites web et les applications qui doivent être évolutifs. Son système de composants modulaires est très flexible et vous permet de choisir les composants dont vous avez besoin pour votre projet.

Symfony supporte la plupart des bases de données des frameworks PHP populaires :

  • Drizzle
  • MySQL
  • Oracle
  • PostgreSQL
  • SAP Sybase SQL Anywhere
  • SQLite
  • SQLServer

La meilleure façon d’interagir avec vos bases de données est de passer par l’ORM Doctrine. Symfony utilise des mappeurs de données pour faire correspondre les objets à la base de données. Cela permet de garder votre modèle d’objet et le schéma de la base de données séparés, ce qui signifie que si vous modifiez une colonne de la base de données, vous n’avez pas besoin de faire beaucoup de changements dans votre base de données.

Le débogage des projets Symfony est simple grâce à la barre d’outils intégrée.

Symfony utilise le moteur de templating Twig, qui est facile à apprendre, rapide et sûr.

Packagist liste plus de 4 000 paquets Symfony que vous pouvez télécharger et utiliser.

Symfony bénéficie du support commercial de Sensio Labs. Cela signifie qu’il y a un support professionnel disponible, contrairement à la plupart des autres frameworks PHP. Il dispose également de versions de support à long terme qui ont 3 années complètes de support.

Les développeurs de Symfony peuvent se former et obtenir de l’aide par de multiples canaux :

En outre, la communauté Symfony est énorme, avec plus de 600 000 développeurs activement impliqués.

Qui utilise Symfony ?

D’autres grands noms utilisent des composants Symfony dans leurs projets, notamment Drupal, Joomla et Magento.

CodeIgniter

CodeIgniter
CodeIgniter

Le framework CodeIgniter vous aide à construire rapidement des applications web, car il a une configuration minimale.

Spécifications rapides

Lancement : Février 2006

Version actuelle : 4.0.3

Exigences techniques :

  • PHP >= 7.2
  • Support de base de données pour MySQL, PostgreSQL, SQLite3

Les avantages de CodeIgniter

CodeIgniter est connu pour sa rapidité. C’est le second plus rapide des quatre frameworks PHP que nous avons essayés lors de nos tests de référence PHP.

La légèreté du framework (1,2 Mo de téléchargement) signifie qu’il n’y a pas de lourdeur. Vous pouvez ajouter exactement les composants dont vous avez besoin.

CodeIgniter est flexible : il encourage le développement avec l’architecture MVC, mais vous pouvez aussi coder des applications non MVC.

Le framework comprend des défenses contre les attaques CSRF et XSS, ainsi que des échappements sensibles au contexte et une politique de sécurité de contenu.

CodeIgniter prend en charge plusieurs méthodes de mise en cache, ce qui accélère vos applications.

Comme indiqué précédemment, CodeIgniter présente une courbe d’apprentissage facile par rapport à d’autres frameworks et est assez extensible.

La communauté de CodeIgniter se compose d’un forum et d’un groupe Slack.

Qui utilise CodeIgniter ?

Zend Framework / Laminas Project

Zend Framework
Zend Framework

Zend Framework est un framework PHP établi de longue date qui est maintenant en transition vers Laminas Project. La migration vers Laminas est fortement recommandée, car Zend n’est plus mis à jour.

Laminas Project se compose de 3 parties :

  1. Laminas Components and MVC
  2. Mezzio
  3. Laminas API Tools

Spécifications rapides

Lancement : Mars 2006

Version actuelle : 3.0.0 (Zend) ou 1.3.0 (Laminas)

Exigences techniques :

  • PHP >= 5,6 (Zend) ou >=7,3 (Laminas)
  • Composer installé
  • Prise en charge des bases de données MariaDB, MySQL, Oracle, IBM DB2, Microsoft SQL Server, PostgreSQL, SQLite et Informix Dynamic Server.

Les avantages de Zend/Laminas

Le framework Zend a eu plus de 570 millions d’installations. C’est également le framework PHP le plus utilisé par les entreprises.

Zend suit les normes du PHP Framework Interop Group (PHP-FIG), ce qui signifie que son code peut être porté sur d’autres frameworks sans difficulté.

Comme Symfony, vous pouvez utiliser les composants dont vous avez besoin.

Vous pouvez utiliser Zend pour construire des API RESTful.

La communauté de Laminas dispose d’un forum et d’un groupe Slack pour la collaboration et le support.

Qui utilise Zend/Laminas ?

Selon la page d’accueil de Zend, le framework a été utilisé par de grandes entreprises, notamment

Yii (Framework)

Yii Framework
Yii Framework

Le nom de ce framework, Yii, signifie « simple et évolutif » en chinois. Il signifie également « Yes, It Is ! ».

Spécifications rapides

Lancement : Décembre 2008

Version actuelle : 2.0.35

Exigences techniques :

  • PHP >= 5.4.0, 7+ recommandé
  • Composer installé
  • Prise en charge des bases de données SQLite, MySQL, PostgreSQL, MSSQL ou Oracle

Les avantages de Yii

Vous pouvez vous mettre au travail avec Yii en quelques minutes. La documentation est bien rédigée et facile à suivre.

Le framework Yii dispose de plusieurs mesures de sécurité telles que le hachage de mot de passe par cryptage, le cryptage, l’authentification et l’autorisation. La documentation propose les meilleures pratiques pour prévenir les attaques par injection SQL, XSS et CSRF.

Le générateur de code Gii peut rapidement construire un squelette de code pour vous, ce qui permet de gagner du temps.

Générateur de code Gii
Générateur de code Gii

Yii prend en charge quatre types de mise en cache pour accélérer les applications web : la mise en cache de données, la mise en cache de fragments, la mise en cache de pages et la mise en cache HTTP.

Vous pouvez exécuter du code tiers dans les projets Yii.

La communauté Yii offre un support en direct via Slack ou IRC. Il existe également un forum de discussion et sur les réseaux sociaux. La communauté récompense ses membres actifs par des badges et des entrées dans un Hall of Fame.

Qui utilise Yii ?

CakePHP

CakePHP - PHP frameworks
CakePHP

CakePHP permet un développement rapide et propre de PHP.

Spécifications rapides

Lancement : Avril 2005

Version actuelle : 4.1.1

Exigences techniques :

  • PHP 7.2 (minimum), 7.4 recommandé
  • Serveur HTTP avec mod_rewrite de préférence
  • Prise en charge des bases de données MySQL 5.6+, MariaDB 5.6+, PostgreSQL 9.4+, SQLite 3.8, SQL Server 2012+.

Les avantages de CakePHP

La configuration est minimale. Vous n’avez pas besoin de jouer avec des fichiers XML ou YAML. Une fois que vous avez configuré votre base de données, vous pouvez commencer à coder.

CakePHP possède son propre OMR intégré, qui est rapide et simple à utiliser.

Les fonctionnalités de sécurité comprennent des méthodes de cryptage, le hachage des mots de passe, la sauvegarde des données des formulaires et la protection CSRF.

Les composants et les aides de CakePHP simplifient le développement et réduisent le nombre de tâches que vous devez effectuer.

Github héberge une liste utile de ressources et d’extensions CakePHP.

Vous pouvez apprendre CakePHP grâce au livre de recettes (documentation), à la formation en ligne et aux conférences CakeFest.

Vous pouvez trouver des utilisateurs CakePHP sympathiques sur leurs forums, Stack Overflow, IRC et Slack. Un support professionnel est également disponible auprès de Cake DC, dirigé par le fondateur de CakePHP, Larry Masters.

Qui utilise CakePHP ?

Slim

Framework Slim
Framework Slim

Slim est un micro framework PHP agile et dépouillé, créé par Josh Lockhart. Il se concentre sur la réception d’une requête HTTP, l’appel d’un callback et le renvoi d’une réponse HTTP.

Spécifications rapides

Lancement : Septembre 2010

Version actuelle : 4.5.0

Exigences techniques :

  • PHP 7.2 +
  • Serveur web avec réécriture d’URL

Les avantages de Slim

La base de code de Slim est mince car elle ne dépend pas de tiers. Par conséquent, il est très rapide.

Slim est particulièrement adapté à la création de petites applications et API. Si vous avez besoin de plus de fonctionnalités, Slim s’intègre à la fois avec des composants de première partie et des composants tiers.

Slim est facile à apprendre et à comprendre. Vous pouvez avoir une application « Hello World » qui fonctionne en quelques minutes.

Slim est considéré comme le meilleur framework PHP par les développeurs sur le site de comparaison Slant.

Quels sont les meilleurs frameworks PHP
Quels sont les meilleurs frameworks PHP

Un support professionnel pour Slim est disponible auprès de Tidelift.

Qui utilise Slim ?

Phalcon

Phalcon
Phalcon

Phalcon est un framework PHP conçu pour la rapidité. Il est livré sous la forme d’une extension de serveur web écrite en Zephir et en C. Aucune connaissance du C n’est nécessaire. Les développeurs travaillent avec les classes PHP et les espaces de noms que le framework génère.

Spécifications rapides

Lancement : Novembre 2012

Version actuelle : v5

Exigences techniques :

  • Extension PSR
  • PHP 7.4 + (dernière version recommandée)

Les avantages de Phalcon

Phalcon est conçu pour son fonctionnement rapide, car il présente les caractéristiques suivantes :

  • Architecture de bas niveau.
  • Chargement unique de Zephir, d’extensions C et de PHP.
  • Le code est compilé plutôt qu’interprété, il est donc plus rapide.
  • Mémoire résidente, ce qui signifie qu’elle peut être sollicitée à chaque fois que le besoin s’en fait sentir.
  • N’utilise pas les lectures de fichiers et les statistiques de fichiers, contrairement à la plupart des autres frameworks PHP, ce qui améliore les performances.

Comme Phalcon est faiblement couplé, vous pouvez créer votre propre structure de répertoire. Le code de Phalcon ne vit pas dans le répertoire du projet, ce qui rend le code léger.

Le composant de sécurité de Phalcon aide au hachage des mots de passe et à la protection CSRF.

Le moteur de template de Phalcon, Volt, est extrêmement rapide et est fourni avec des classes d’aide permettant de créer facilement des vues.

Vous pouvez obtenir de l’aide pour Phalcon via leur documentation, leurs forums, leur chat Discord, leur Stack Overflow et leurs multiples plateformes de réseaux sociaux.

Qui utilise Phalcon ?

Selon le site Phalcon BuiltWith, Phalcon est utilisé par :

FuelPHP

FuelPHP
FuelPHP

FuelPHP est un framework PHP communautaire qui compte plus de 300 contributeurs sur toute sa durée de vie.

Spécifications rapides

Lancement : Juin 2011

Version actuelle : 1.8.2

Exigences techniques :

  • PHP 5.4+
  • Tout serveur web

Les avantages de FuelPHP

FuelPHP utilise MVC mais supporte également HMVC (Hierarchical Model View Controller). Cela ajoute une couche supplémentaire entre le contrôleur et la vue. Les avantages du modèle de conception HMVC sont les suivants :

  • Une meilleure organisation des codes
  • Une plus grande modularité
  • Plus extensible
  • Encourage la réutilisation de code

Vous pouvez choisir la structure de fichier et de répertoire que vous souhaitez pour votre projet car il y a peu de contraintes. FuelPHP prend la sécurité au sérieux, avec les caractéristiques suivantes :

  • Encodage d’output
  • Protection CSRF
  • Filtrage des entrées, URI et XSS
  • Échappement d’entrée utilisateur passée dans les instructions SQL

FuelPHP possède son propre utilitaire de ligne de commande, oil, que vous pouvez utiliser pour exécuter des tâches, déboguer du code et générer des composants communs.

L’ORM FuelPHP est puissant et pourtant léger.

Vous pouvez rejoindre la communauté FuelPHP dans leurs forums et sur Facebook et Twitter.

Qui utilise FuelPHP ?

  • Wan Wizard – Harro Verton, l’un des développeurs de FuelPHP
  • Front Desk – système de gestion des biens

Fat-Free Framework

Fat-Free Framework
Fat-Free Framework

Comme Slim, Fat-Free Framework (F3) est un micro framework. Il vise à trouver un équilibre entre les fonctionnalités utiles, la simplicité, la facilité d’utilisation et la rapidité.

Spécifications rapides

Lancement : 2009

Version actuelle : 3.7.2

Exigences techniques :

  • PHP 5.4+
  • Tout serveur web
  • Support des bases de données MySQL, SQLite, MSSQL/Sybase, PostgreSQL et MongoDB.

Les avantages de Fat-Free Framework

La base de code est d’environ 65Kb, donc c’est rapide. Pourtant, F3 possède toujours toutes les fonctionnalités que l’on peut attendre. Vous pouvez l’étendre selon vos besoins avec des extensions optionnelles.

Fat-Free Framework est très facile à comprendre. Il n’est pas nécessaire d’utiliser Composer, curl ou un injecteur de dépendance pour commencer. Vous pouvez créer une application Hello World en quelques minutes.

La quasi-totalité du framework est modulaire, de sorte que vous pouvez utiliser uniquement les parties dont vous avez besoin pour créer vos applications web. Par défaut, F3 n’ajoute pas le code dont vous n’avez pas besoin, ce qui permet de réduire vos applications au minimum.

La documentation est claire et facile à suivre, avec de nombreux exemples. Fat-Free Framework offre un choix de moteur de modèle : vous pouvez utiliser PHP, le moteur de modèle de F3, ou d’autres tels que Smarty ou Twig.

Les développeurs de F3 traînent sur Slack et le groupe Google Fat-Free Framework.

Qui utilise Fat-Free Framework ?

Quel est le meilleur framework PHP pour les débutants ?

Les meilleurs frameworks pour les débutants sont ceux qui sont les plus simples et les plus légers. Une fois que vous avez maîtrisé l’un d’entre eux, vous êtes prêt à passer à un autre, plus complet, si vous en avez besoin.

Yii serait mon premier choix pour un framework PHP pour débutants. La documentation de Yii vous guide dans la création d’une application pour visualiser les pays, vous apprend le modèle MVC et comment travailler avec les bases de données.

Application web Yii pour les pays
Application web Yii pour les pays

Si vous faites une erreur, les erreurs sont claires, ce qui vous aide à déboguer et à continuer rapidement.

Erreur Yii pour une variable non définie
Erreur Yii pour une variable non définie

Le framework Slim est rapide et facile à installer. Slim dispose d’un tutoriel de première application pour la version 3 du framework. Malheureusement, il n’a pas été mis à jour pour la version 4 de Slim, la version actuelle.

Installation de Slim 4 via Composer
Installation de Slim 4 via Composer

Pour Fat-Free Framework, vous avez le choix de l’installer via Composer ou simplement de télécharger et de décompresser un fichier zip. Le framework est mis en place avec un simple programme « Hello, world ».

Le guide de l’utilisateur vous guide pas à pas à travers les choses que vous devez savoir, de l’acheminement aux tests unitaires. Il y a également une démo du CMS pour que vous puissiez voir comment toutes les parties s’assemblent.

CodeIgniter a également une configuration assez facile avec une bonne documentation. Leur tutoriel de première application construit un CMS simple avec des fonctions CRUD permettant de présenter des nouvelles.

Page d'archives des nouvelles de CodeIgniter
Page d’archives des nouvelles de CodeIgniter

Résumé

Si vous souhaitez réduire le temps passé à développer vos applications web PHP, l’utilisation d’un framework est un choix judicieux.

Pour tirer le meilleur parti d’un framework PHP et éviter les frustrations, assurez-vous que vous avez une connaissance raisonnable du PHP et que vous comprenez les concepts sous-jacents des frameworks : l’architecture MVC, la syntaxe orientée objet, les bases de données et les ORM, et la ligne de commande.

Le framework que vous choisirez dépendra du type d’application que vous créerez. Il existe des frameworks PHP pour tous les goûts, allant de l’ultra-minimal à « tout ce qui vous passe par la tête ». Nous espérons que cet article vous a aidé à trouver le framework PHP qui vous convient le mieux.

Revenons maintenant à vous : quel est votre framework PHP préféré et pourquoi ? Faites-le nous savoir dans les commentaires ci-dessous !

Claire Brotherton

Claire Brotherton is a WordPress web developer, blog writer and accessibility advocate based in Edinburgh, Scotland. She works with businesses, nonprofits and entrepreneurs who are passionate about access and inclusion, and blogs regularly on her website, A Bright Clear Web. Tweet her at @abrightclearweb.