Introduction

Quoi ?

Objective PHP est un framework écrit en PHP7 et utilisant de nombreux objets. D’où son nom - il n’y pas d’autres origine à ce nom, à part un clin d’oeil à Objective C bien sûr :)

Est-ce qu’Objective PHP est un framework fullstack ? S’agit-il d’un micro-framework ? En fait, ni l’un ni l’autre. Nous avons pris l’habitude de le qualifier de mini-framework, pour souligner le fait qu’il se situe quelque part entre les deux premiers : il fournit nettement plus qu’un micro-framework, sans aller aussi un loin qu’un fullstack.

Objective PHP a pour rôle de gérer les workflows applicatifs, et de laisser les développeurs faire leur travail. Ni plus, ni moins.

Concernant les composants de haut niveau, comme les générateurs de formulaires ou les ORM par exemple, nous pensons qu’il est plus efficace de laisser les développeurs embarqués leurs outils habituels dans Objective PHP plutôt que de les forcer à utiliser nos propres implémentations.

Pourquoi ?

Vous vous demandez peut-être : pourquoi est-ce que ces gens se compliquent la vie à créer encore un autre framework PHP ? La réponse est assez simple : nous ne voulons plus passer plus de temps à comprendre et maîtriser le framework qu’à implémenter les véritables fonctionnalités des applications.

la productivité est le but principal d’Objective PHP

En outre, nous avons pensé que travailler sur un nouveau framework serait l’occasion d’envisager la question des performances sous un angle différent. La plupart des frameworks utilisent du cache pour atteindre des performances acceptables. Slit, le cache peut aider. Un peu. Mais une que vous avez mis en cache vos composants peu performants, que pouvez-vous faire de plus ? Rien.

les performances sont la deuxième préoccupation majeure d’Objeective PHP

Comment ?

L’idée clé pour aider les développeurs à être à l’aise et efficaces avec Objective PHP est de réduire au minimum le nombre de mécanismes différents nécessaires pour réaliser les tâches que le framework doit prendre en charge.

Après de nombreux essais, nous en sommes arrivés à la combinaison des deux concepts centraux suivants :

  • des Middlewares pour définir le Workflow

  • des événements pour faciliter la communication entre les composants de l’application