美文网首页PHP经验分享
ThinkCMF插件教程之写个HelloWorld插件

ThinkCMF插件教程之写个HelloWorld插件

作者: molangwu | 来源:发表于2017-08-14 11:50 被阅读0次

    前言

    趁着有时间,学习一波插件,插件是个好东西,希望人人都会写。


    环境

    语言:php5.6
    框架:ThinkCMF


    教程开始

    1. 编写插件
    • 创建插件配置文件:创建插件主类文件:在根目录的plugins文件夹下创建一个HelloWorld文件夹,在HelloWrold文件夹下面 创建 config.php 文件
    config.php代码如下
    
    
    <?php
    /**
     * Created by PhpStorm.
     * User: **
     * Date: 2017/8/14
     * Time: 上午 10:27
     */
    
    return array(
        'text'=>array(
            'title' => '文本:', // 表单的label标题
            'type' => 'text',// 表单的类型:text,password,textarea,checkbox,radio,select等
            'value' => 'hello,ThinkCMF!',// 表单的默认值
            'tip' => '这是文本组件的演示' //表单的帮助提示
        )
    );
    
    • 在HelloWrold文件夹下面,创建一个继承与Plugin的HelloWorldPlugin类,该类的命名空间为plugins\HelloWorld。
    HelloWorldPlugin类的代码如下
    
    namespace plugins\HelloWorld;
    
    use Common\Lib\Plugin;
    
    class HelloWorldPlugin extends Plugin
    {
    
        //插件的配置信息
        public $info = array(
            'name'=>'HelloWorld',//Demo插件英文名,改成你的插件英文就行了
            'title'=>'HelloWorld插件',
            'description'=>'HelloWorld插件',
            'status'=>1,
            'author'=>'ThinkCMF',
            'version'=>'1.0'
        );
    
        //安装方法必须实现
        public function install()
        {
            //安装成功返回true,失败false
            return true;
            // TODO: Implement install() method.
        }
        //卸载方法必须实现
        public function uninstall()
        {
            //卸载成功返回true,失败false
            return true;
            // TODO: Implement uninstall() method.
        }
        
        //实现的show钩子方法
        public function show() {
            //获取config文件里面的text数组
            $config=$this->getConfig('text');
            //赋值
            $this->assign($config);
            //载入模板index.html,传入参数不要写.html后缀
            $this->display('index');
        }
    }
    
    • 创建模板文件:在HelloWorld文件夹下面创建一个View文件夹,在View文件下创建一个index.html文件
    index.html文件 代码如下
    
    <!doctype html>
    <html>
    <head>
      <meta charset="utf-8">
      <title>ThinkCMF插件演示首页</title>
    </head>
    <body>
    <h1 align="center">{$text}</h1>
    </body>
    </html>
    
    • 创建外部访问文件:在HelloWorld文件夹下面创建一个Contrller文件夹,在Contrller文件下创建一个所需文件,本教程用不到就不创建。
    2.添加钩子
    • 打开 根目录/application/Portal/hooks.php 添加 show 方法
    代码如下:
    
    <?php
    return array(
        'show',
    );
    
    3.使用教程

    登录 thinkcmf的后台,选择扩展工具,点击插件管理,如下图


    Paste_Image.png

    点击安装,安装HelloWorld插件,如下图

    Paste_Image.png
    • 调用方法 hook('钩子方法') 如下
    hook('show');
    
    显示结果
    Paste_Image.png
    注意事项
    • 如果修改了钩子,即在hooks.php里面添加了钩子或者删除了钩子方法,必须到ThinkCMF后台去更新或者重装插件

    • 查看插件的钩子方法,打开后台在插件管理里面的钩子列里面方法就是,可以使用的钩子方法 如下图的show方法。


      Paste_Image.png
    • 修改了插件的配置信息即在主文件里(HelloWorldPlugin )的 $info 数组, 也要去后台更新插件或者重装插件。

    相关文章

      网友评论

        本文标题:ThinkCMF插件教程之写个HelloWorld插件

        本文链接:https://www.haomeiwen.com/subject/bmzyrxtx.html