失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > typecho插件编写教程(四):插件挂载【PHP】

typecho插件编写教程(四):插件挂载【PHP】

时间:2024-03-28 06:40:22

相关推荐

typecho插件编写教程(四):插件挂载【PHP】

后端开发|php教程

typecho,插件,编写,挂载

后端开发-php教程

终于,在能够保存配置信息后,我们可以开始编写插件的挂载功能了。

国外卖程序源码挣美元,vscode 安装jsx,Ubuntu 8192,tomcat支持汉字,sqlite实现商品介绍,织梦淘宝客插件下载,汽车前端框架如何搭建,爬虫需要做什么,简单php程序,徐州seo优化机构,阅读网站模板下载不了,网页 侧边栏 素材,克隆侠站群模板lzw

首先我们需要知道系统为我们在各个关键的环节都预留了插件点给我们,系统运行到插件点时,会检测到是否有插件挂在这个点上,然后执行插件的逻辑!

源码 vb,ubuntu系统图标缩小,python爬虫免登录,php项目基于,新乡seo学习lzw

插件的工作就是找到合适的插件点,挂上去,然后执行自己的逻辑。

易语言编辑框合计源码,vscode调试karma,ubuntu sound,tomcat 花括号,sqlite3.0查看,卡轮插件,前端框架 冲突怎么办,疫情爬虫实验报告,php 模板标签,seo技术免费优化,快递100网站源码,html网页示例,个人详情模板免费下载lzw

插件点,插件钩子,插件接口。。。在老高这儿是一个概念

官方的插件接口及功能列表

我们的插件需要执行的逻辑在这里,Widget_Contents_Post_Edit类的finishPublish方法

文件路径var/Widget/Contents/Post/Edit.php:736,可以看到,接口为我们传递了两个参数,一个是发布的内容,另一个是类本身。有了类本身,我们可以在插件中随意调用他的公共方法!

// 文章完成发布插件接口

$this->pluginHandle()->finishPublish($contents, $this);

还有一个页面发布接口,下面的代码会提到。

如何挂载

代码如下,有省略。

<?php

class BaiduSubmitTest_Plugin implements Typecho_Plugin_Interface

{

public static function activate(){

//挂载发布文章和页面的接口

Typecho_Plugin::factory(‘Widget_Contents_Post_Edit’)->finishPublish = array(‘BaiduSubmitTest_Plugin’, ‘send’);

Typecho_Plugin::factory(‘Widget_Contents_Page_Edit’)->finishPublish = array(‘BaiduSubmitTest_Plugin’, ‘send’);

return ‘插件安装成功,请进入设置填写准入密钥’;

}

public static function render($contents, $class){

//do something

}

}

有代码我们看到,在插件激活时,系统将插件类BaiduSubmitTest_Plugin的render方法绑定到finishPublish的接口上!由于finishPublish会传递两个参数,所以render方法也要接受两个参数。

此时,只要插件正常启用,当我们发布完某一篇文章后,系统就会自动调用BaiduSubmitTest_Plugin:render()方法了。

仔细观察源代码,你会发现此接口没有返回值,如果有返回值怎么办?

这个情况比较复杂,老高先留个坑。

为什么叫render方法?

老高从hello world中复制粘贴过来的,一直没有改名。

接下来做什么

挂载点搞定了,下一步就是执行我们的核心逻辑代码了。

老高就留到下一篇吧!

如果觉得《typecho插件编写教程(四):插件挂载【PHP】》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。