34 votes

construire un système de plugin avec php

Je suis en train de travailler sur un CMS personnalisé pour mon propre usage et a la réflexion sur la mise en œuvre d'un système de plugin afin que je puisse prolonger le code un peu plus facile. Je vais avoir de la difficulté à conceptualiser l'architecture et la mise en page si.

Je sais que je pourrais aller à travers quelques programmes open source qui mettent en œuvre des fonctionnalités similaires, mais c'est vraiment juste académique à ce point, donc je ne veux vraiment pas passer trop de temps à fouiller dans le code étranger.

Quelqu'un aurait-il des bonnes idées de la façon de procéder? Si quelqu'un pouvait décrire comment certains des plus populaires programmes de le faire, ce serait parfait.

36voto

Vinko Vrsalovic Points 116138
  1. Définir les fonctionnalités que vous souhaitez les plug-ins à brancher (c'est à dire, que vont-ils faire et sur ce qu')
  2. Définir une hiérarchie de classe sur lequel les plugins ajustement, comme, tous les article d'amputation des plugins devrait hériter de ArticleMangler
  3. Définir un emplacement physique pour les plugins, comme /plugins
  4. L'importation de tous les plugins présents dans l'emplacement
  5. L'utilisation soit d'un Décorateur ou d'Observateur modèles pour injecter le plugin du comportement ou de notifier les plugins d'événements occurence. La stratégie pourrait être applicable dans certains cas.

PHP fait ce assez facile à un coût potentiel de faire un gâchis si vous ne faites pas attention. J'aime l'Observateur de la méthode où des plugins s'inscrire eux-mêmes à un gestionnaire de plugin qui les informer de ce qui s'est passé et d'attendre que leur action se produise.

Si vous n'avez pas confiance plugins, alors vous auriez à mettre ajouter des contrôles sur les événements qui vous permettra de n'importe quel plugin pour vous inscrire.

2voto

Eric Lamb Points 780

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X