Fonctionnalités
Leaf possède une tonne de fonctionnalités offrant aux développeurs la meilleure expérience possible, sans sacrifier la puissance. La version 3 de Leaf rend ces fonctionnalités encore plus utilisables. En voici quelques-unes :
Démarrage sans obstacle
Leaf est le framework le plus facile à apprendre. Les débutants en PHP peuvent créer de puissantes applications Leaf en quelques minutes après avoir lu la documentation ou regardé les vidéos du tutoriel. Tout ce dont vous avez vraiment besoin pour démarrer avec Leaf, c'est d'une connaissance de base de PHP ainsi que d'une connaissance optionnelle (mais recommandée) de certains concepts backend comme l'authentification JWT et plus encore.
Léger
Leaf 2 était suffisamment léger et rapide pour être considéré comme l'un des frameworks les plus petits mais puissants, et Leaf 3 fait désormais passer Leaf 2 pour une blague. Leaf 3 peut maintenant être considéré comme le framework PHP le plus léger avec un code source d'environ 30KB, vous permettant de construire des applications complètes et des API qui finissent par faire moins de 20MB, en incluant les dépendances utilisateur (leaf api). C'est une grande avancée par rapport à d'autres frameworks qui nécessitent des dépendances et des tonnes de fichiers, atteignant parfois plus de 100MB.
une comparaison avec Slim (à gauche) - Leaf (à droite)
Grande productivité pour les développeurs
Un grand nombre de recherches et de tests ont été effectués pour créer les fonctionnalités étonnantes qui permettent aux développeurs de se concentrer uniquement sur ce dont ils ont besoin : leurs applications. Leaf 3 a mis en place des tonnes de stratégies pour créer la meilleure expérience de développement connue de PHP. Des choses comme la suppression des initialisateurs de classe et la création de fonctions globales qui vous permettent d'appeler des classes de n'importe où dans votre application, des modules et d'autres fonctionnalités étonnantes de Leaf.
Puissance des modules
Leaf 3 et son écosystème sont fortement alimentés par des modules, qui sont simplement des morceaux de fonctionnalités de Leaf, expédiés dans des bibliothèques installables indépendamment. Les modules contribuent à rendre Leaf encore plus léger et permettent aux développeurs de ne s'occuper que des fonctionnalités dont ils ont besoin dans leurs applications. Cela signifie que vous n'installez que ce dont vous avez besoin.
Fonctionnalités faciles à utiliser
Comme nous l'avons mentionné plus haut, de nombreuses recherches ont été consacrées à l'expérience du développeur pour Leaf 3 et l'un des aspects consistait à rendre nos fonctionnalités existantes plus performantes et plus faciles à utiliser. Nous avons employé diverses stratégies, comme le façonnage de certaines fonctionnalités basées sur des bibliothèques populaires d'autres langages et frameworks. Par exemple, l'API de Leaf CORS est une réplique presque exacte du middleware ExpressJS CORS.
Compatibilité des Libraries/Frameworks
Depuis le début de Leaf, nous avons cherché à créer un code qui pourrait facilement être intégré à d'autres bibliothèques et frameworks. Quelle que soit la puissance de Leaf, nous essayons de baser tout ce que nous faisons sur des concepts simples, contrairement à d'autres frameworks qui ont besoin de choses comme des providers afin d'accéder aux fonctionnalités du framework au sein de bibliothèques.
Scalabilité
L'une des plus belles choses de Leaf, c'est que, quel que soit le package que vous utilisez, s'il fonctionne en développement, il fonctionnera certainement en production avec quasiment aucune configuration, à moins que vous ne souhaitiez des fonctionnalités spéciales. Leaf fournit un noyau et d'autres frameworks/librairies se construisant autour. Cela rend Leaf approprié pour presque tous les projets, peu importe leur taille.