typecho插件编写教程(四):插件挂载
《PHP实战:typecho插件编写教程(四):插件挂载》要点: PHP教程终于,在能够保存配置信息后,我们可以开始编写插件的挂载功能了. PHP教程首先我们需要知道系统为我们在各个关键的环节都预留了插件点给我们,系统运行到插件点时,会检测到是否有插件挂在这个点上,然后执行插件的逻辑! PHP教程插件的工作就是找到合适的插件点,挂上去,然后执行自己的逻辑. PHP教程插件点,插件钩子,插件接口...在老高这儿是一个概念 PHP教程官方的插件接口及功能列表 PHP教程我们的插件需要执行的逻辑在这里,Widget_Contents_Post_Edit类的finishPublish方法 PHP教程文件路径var/Widget/Contents/Post/Edit.php:736,可以看到,接口为我们传递了两个参数,一个是发布的内容,另一个是类本身.有了类本身,我们可以在插件中随意调用他的公共方法!
代码如下:
??? // 文章完成发布插件接口 ??? $this->pluginHandle()->finishPublish($contents,$this); 还有一个页面发布接口,下面的代码会提到. PHP教程如何挂载 PHP教程代码如下,有省略.
代码如下:
<?php PHP教程class BaiduSubmitTest_Plugin implements Typecho_Plugin_Interface PHP教程??? public static function activate(){ 有代码我们看到,在插件激活时,系统将插件类BaiduSubmitTest_Plugin的render方法绑定到finishPublish的接口上!由于finishPublish会传递两个参数,所以render方法也要接受两个参数. PHP教程此时,只要插件正常启用,当我们发布完某一篇文章后,系统就会自动调用BaiduSubmitTest_Plugin:render()方法了. PHP教程仔细观察源代码,你会发现此接口没有返回值,如果有返回值怎么办? PHP教程这个情况比较复杂,老高先留个坑. PHP教程为什么叫render方法? PHP教程老高从hello world中复制粘贴过来的,一直没有改名. PHP教程接下来做什么 PHP教程挂载点搞定了,下一步就是执行我们的核心逻辑代码了. PHP教程老高就留到下一篇吧! 欢迎交流《PHP实战:typecho插件编写教程(四):插件挂载》相关教程,编程之家学堂将分享更多教程。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |