• hdwiki中插件开发指南


    插件就是为了满足个性化需求按照HDWiki插件开发规范编写的可插拔程序,虽然可以直接对HDWiki进行二次开发实现插件同样的功能,但是这样做势必影响到系统的升级和稳定性。

        采用插件的方式,可以随时进行停用和卸载,而且对系统毫无影响。

    插件类型

        插件按照是否需要在前台显示,可以分为两类:前台展示类插件和非前台展示类插件。
        插件举例:
        1、百科联盟插件:只需要系统具有联盟同步和导入数据的功能,不需要在前台产生单独的频道,所以是非前台展示类插件。
        2、互动摸摸插件:只需要后台管理,也是非前台展示类插件。
        3、许愿墙插件:需要在前台展示内容,所以是前台展示类插件。
        4、UCenter插件:非前台展示类插件。
        目前的大部分插件都是非前台展示类。
    插件开发规范      

    注意,我们这里设定插件的唯一标识符为myplugin 。
    1、myplugin应该放在 plugins 目录下面。
    2、myplugin是采用MVC的开发模式。
    3、myplugin包含有3个子目录 :control、model、view
    4、myplugin子目录model下面必须有一个文件叫做:myplugin.class.php
    5、myplugin.class.php 这个文件的内容如下:


    !defined('IN_HDWIKI') && exit('Access Denied');

    class mypluginmodel {

        var $db;
        var $base;

        function mypluginmodel(&$base) {
            $this->base = $base;
            $this->db = $base->db;
        }
        
        function install(){
            $plugin=array(
                'name'=>'我的插件',                //插件的名称
                'identifier'=>'myplugin',            //插件的唯一标识符
                'description'=>'这个插件是用来测试的',        //插件的描述
                'datatables'=>'',            //插件用到的数据库表,多个表用逗号分隔
                'type'=>'0',                     //插件的类型,1为前台展示型,0为非前台展示型
                'copyright'=>'lovewiki',         //插件的作者
                'homepage'=>'http://kaiyuan.hudong.com',  //插件的官方网址
                'version'=>'1.0',           //插件的版本号
                'suit'=>'4.0.4',               //适合运行的HDWiki版本号
                'modules'=>''                 //卸载需要填写的信息,暂时可以不填写任何东西
            );
            $plugin['vars']=array();
            $plugin['hooks']=array();
            return $plugin;
        }

        function uninstall(){
        
        }
    }    

    ?>
    6、myplugin子目录control下面必须有一个文件叫做:admin_myplugin.php
    7、admin_myplugin.php 这个文件的内容如下:

    !defined('IN_HDWIKI') && exit('Access Denied');
     
    class control extends base{

        function control(& $get,& $post){
            $this->base( & $get,& $post);
            $this->load('plugin');
            $this->loadplugin('myplugin');
            $this->view->setlang('zh','back');
        }

        function dodefault() {
            echo 'nothing!';
        }

    }

    ?>

    插件开发步骤


            


            
    1、明确自己需要的功能,先认真看清楚HDWiki是否已经包含。
    2、给插件想好名称(中英文都可)。给插件想好唯一标识符,也就是英文名称,这个非常重要。
    3、把插件开发向导 pluginwizard.php 这个工具放到HDWiki的根目录下面。
    4、假定你的HDWiki网址为:http://www.mydomain.com,在浏览器打开地址 
         http://www.mydomain.com/pluginwizard.php,然后按照提示,填入相关的信息,最后点击生成即可。
    5、到后台HDWiki插件下,点击全部推荐插件,即可看到插件列表,这个时候只需要点击按钮“安装此插件”即可完成插件的安装。
    6、至此,插件的开发和调试环境已经完成,我们只需要增加相应的方法和模板文件即可完成插件的编写。
    7、插件开发完毕后,我们进入已安装插件列表,点击“分享”即可把我们的插件发布到HDWiki官方网站,从而完成插件的共享和传播。

    开发实例


            


            
    HDWiki许愿墙插件开发实例---一步一步跟我学! (http://kaiyuan.hudong.com/bbs/viewthread.php?tid=6138&highlight=%E6%8F%92%E4%BB%B6%2Blovewiki)

  • 相关阅读:
    设计模式
    包装类
    php 闭包的理解
    is_null empty isset等的判定
    PHP基础一 $this ,static 和 self的区别
    lumen安装踩过得坑
    composer的使用和安装
    使用submine来写c++
    php 和 thinkphp中的常量一览
    路径问题 ./ / ../ 空 的区别
  • 原文地址:https://www.cnblogs.com/camelroyu/p/5646634.html
Copyright © 2020-2023  润新知