剑鱼论坛插件代码基本结构 

 剑鱼论坛 发表于 2020年11月21日 剑鱼插件教程  38
剑鱼论坛
LV 6 高中
最后在线:2小时前
加入时间:1年前
主帖:94  跟帖:58

我们在上一篇《剑鱼论坛插件如何写注释》中介绍了插件文件中必不可少的注释的写法。这一篇我们将继续学习如何写正式的PHP代码。

在学习剑鱼插件代码如何写之前,我们需要先简单说一下PHP语言。

PHP语言是一门很灵活的语言,既可以使用面向过程的方式来写代码,也可以使用面向对象的方式来写代码。由于早期PHP语言是面向过程的,所以有不少老牌的php程序由于历史原因都是使用面向过程的方式来写的,包括了很多国内知名一些程序,如:Wordpress、Discuz、织梦。如果您打算给这些程序写插件的话,那么您只需要了解面向过程的写法。而对于一些新兴的PHP程序却是使用了面向对象的方式来写程序的,例如:鲶鱼、鱼跃CMS。如果您打算给这些程序写插件的话,那么您需要知道面向对象的一些写法。同样的,您现在接触的剑鱼论坛,也是使用了面向对象的方法来写程序。所以您需要学习更多的编程技巧来实现您的代码,幸运的是,虽然编写剑鱼插件需要使用面向对象的方法,但剑鱼插件的基本代码结构已经确定好了,您只需要照样画葫芦,把代码复制到您的插件文件里面,然后按您的实际需要添加更多的代码就可以了,您自己添加的代码基本跟面向过程编程没多大区别。

上面说了这么多关于PHP语言方面的内容,其目的是希望您在实际动手写代码之前有一个比较清晰的认识,因为一般情况下学习PHP语言是从面向过程开始的,因为这个比较容易。也或许您实际写过其他面向过程系统的插件,会想当然地认为PHP代码都是面向过程的。这里说明一下是为了下面介绍实际代码时,您比较容易接受。

我们还是以上篇提到的那个演示插件为例来说明怎么写插件代码,这里将介绍的是插件代码的基本结构,也就是说您写任何的剑鱼插件,都可以套用这个结构来写,您所需要做的工作就是复制基本结构代码到您实际开发的PHP文件里面。

我们先来看一下演示插件的完整代码:

<?php
/**
* 插件名: 我的插件
* 描述: 这是一个用于演示的插件
* 作者: A.J
* 版本: 1.0
* 插件网址: http://jianyuluntan.com
*/
namespace plugin\myplugin;

use catfishcms\Plugin;

Class Myplugin
{
public function openPlugin(&$params)
{
//插件开启时执行的代码
}
public function closePlugin(&$params)
{
//插件关闭时执行的代码
}
public function addAdminPlugin(&$params)
{
//定义一个插件页
Plugin::add($params, 'myplugin', '我的插件', 'mypluginFun');
}
public function mypluginFun(&$params)
{
//放置HTML代码
$params['html'] = '<p style="color:red">这是我的第一个插件</p>';
}
}

上面就是演示插件的完整代码,其中“//”开头的是注释文字,是为了说明这个位置将放置什么代码。

我们来具体看一下代码:

最上面是注释,这个在上一篇里面已经介绍过了,这里就不再说明了。

注释下面是定义命名空间“namespace plugin\myplugin;”,我们在实际写代码的时候,您需要把红色标注的地方改成您的插件文件夹的名称,插件文件夹名称我们前面介绍过,用小写字母来组成。

第二行代码是“use catfishcms\Plugin;”,这行代码照抄就可以了,不需要任何变动。

第三行代码是“Class Myplugin”,这里我又用红色标注了,跟上面一样,红色标注的地方您需要改成实际的插件相关内容,这里是一个类,类名是“Myplugin”,要注意的是,类名必须跟插件文件夹名相同,并且首字母大写

再接下去是类的几个方法,分别是“openPlugin”,“closePlugin”,“addAdminPlugin”,“mypluginFun”。

每个方法的意思在注释中已经写明了,不再重复。需要说明的是“mypluginFun”,这个方法不是固定的,“mypluginFun”是通过“addAdminPlugin”方法里面的“Plugin::add”定义的,您可以改成其他名称,只需要跟其最后一个参数一致就可以了。

我们再说一下“Plugin::add”这个函数是用于定义一个插件页的,其中有四个参数:第一个参数必须跟“addAdminPlugin”方法的参数一致;第二个参数必须是字母组成的字符串,这里一般写插件名;第三个参数是文字描述,您可以按您实际需要写,一般要简短,三四个文字就可以了;第四个参数就是您自己定义的方法,这个方法用于输出页面内容。

最后一个方法是您可以自定义的方法“mypluginFun”,这个方法里面有一个赋值语句,您只需要把要输出的页面内容赋值给“$params['html']”就可以了。这里作为演示,我们是输出了一行红色的文字“这是我的第一个插件”,当然这里使用的是HTML代码。

需要提醒的是:上面的代码必须使用剑鱼论坛2.5.6版本以及高于2.5.6版的程序中,因为随着版本升级,插件制作方式也在调整,到2.5.6版,以上代码是定型的,就是说以后的版本都能适用这篇所介绍的代码。

这个简单的演示插件就介绍完了,我把他附在这篇文章的后面,您可以下载,并安装到您的剑鱼系统的插件目录运行。

 附件 [0]:
登录后可以下载附件
论坛主帖
178
论坛跟帖
174
在线访客
3
今日主帖
0
今日跟帖
0
今日注册
23
209
http://jianyuluntan.com/gentie.html
http://jianyuluntan.com/postzan.html
http://jianyuluntan.com/postcai.html
http://jianyuluntan.com/postshoucang.html
http://jianyuluntan.com/gentiezan.html
http://jianyuluntan.com/gentiecai.html
http://jianyuluntan.com/huifu.html
http://jianyuluntan.com/xiugai.html
http://jianyuluntan.com/shanchugentie.html
1
XzA=
1
© 2019 - 2020 剑鱼论坛 版权所有
Powered by JianYuLunTan
剑鱼论坛 976666861
http://jianyuluntan.com/feedback.html
http://jianyuluntan.com/qiandao.html
http://jianyuluntan.com/denglu.html
0
http://jianyuluntan.com/adenglu.html
0
剑鱼论坛