很多PHP开源系统使用了插件系统,增强了系统的灵活性和可扩展性,比如discuz系列。实现的方法大同小异。
使用新版本PHP可以使用类实现插件。
1. 以缓存插件为例,可以是系统支持各种缓存技术,例如apc,db,memcache,file等
实现统一的接口就可以了。假设在 /libraries/cache 存放缓存类文件
apc.php
其他插件实现相同的功能即可。
2.安装 配置插件
如果需要扩展数据库,或者需要配置,插件就需要增加install 和uninstall以及获取配置信息的方法
对于单选插件就像上面提到的缓存插件,只要后台配置中选择当前使用的插件就可以了。
枚举插件目录的文件,即可获取插件信息
3. 使用插件
从配置中读取当前插件名称
相对于asp ,php的包含很灵活,动态包含可以很方便实现插件功能,更复杂的插件功能如安装,卸载和配置也很容易实现。