3. 插件机制实例分析
写完软件本体之后,继续编写插件
02
编写插件
以一个名为 的项目编写插件,
需要创建一个文件,使用 装饰 hook 实现即可
当然,为了插件能够进行安装,也需要额外创建一个
在插件中,实现了两个 hook:
eggsample_add_ingredients
eggsample_prep_condiments
在软件调用这两个 hook 时,插件中的 hook 实现也会一同执行,仿佛这两个函数之前就在软件中一样。
03
使用插件
使用插件需要先安装插件
重新执行
从结果可以看出,在安装插件之后,原有的执行方式得到了新的结果:
插件通过 eggsample_add_ingredients 钩子,修改了 的数据内容
插件通过 eggsample_prep_condiments 钩子,修改了 的数据内容
插件通过 eggsample_prep_condiments 返回值,让软件多输出了一行
这个实例是官方文档中提供的,它体现出了 pluggy 的一些特点:
插件可以独立开发、维护、安装、更新、卸载
插件可以被软件自动调用,并且可以访问和修改软件的自身数据
插件在实现 hook 时,参数和返回值是可以省略,并不要求 hookspec 一模一样
领取专属 10元无门槛券
私享最新 技术干货