build a plugin system with php

前端 未结 1 1711
-上瘾入骨i
-上瘾入骨i 2020-12-04 06:55

I\'m working on a custom CMS for my own use and was thinking about implementing a plugin system so I could extend the code a little easier. I\'m having trouble conceptualizi

相关标签:
1条回答
  • 2020-12-04 07:56
    1. Define the functionality you want the plugins to plug into (ie, what will they do and over what)
    2. Define a class hierarchy on which plugins fit, like, all article mangling plugins should inherit from ArticleMangler
    3. Define a physical location for plugins, like /plugins
    4. Import all plugins present in the location
    5. Use either Decorator or Observer patterns to inject the plugin's behavior or to notify the plugins of events occurence. Strategy might be applicable in some cases as well.

    PHP makes this fairly easy at a potential cost of making a mess if you're not careful. I like the Observer method where plugins register themselves to a plugin manager which notify them of what happened and wait for their action to happen.

    If you don't trust plugins then you'd have to put add controls over which events you are going to allow any plugin to register for.

    0 讨论(0)
提交回复
热议问题