La principale différence, d’un point de vue conception, est qu’un PluginOutlet est un point d’insertion. Vous injectez directement votre composant dans un modèle de base. Chaque personnalisation modifie effectivement la structure de l’application.
Un BlockOutlet est un cadre de mise en page. Vous enregistrez un ou plusieurs composants avec ce cadre. Ensuite, les personnalisations ont lieu dans ce cadre plutôt que dans les modèles de l’application. Nous obtenons ainsi des mises en page plus prévisibles et stables.
Une autre grande différence est que l’API Blocks peut gérer l’ensemble du spectre de la logique de rendu conditionnel. Vous n’avez pas besoin d’ajouter cela à votre composant. Un composant de bloc peut se concentrer uniquement sur le contenu et le modèle, et nous avons beaucoup moins de logique répétée.