ThinkCMF插件教程之写个HelloWorld插件

前言

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

环境

语言: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的后台,选择扩展工具,点击插件管理,如下图

《ThinkCMF插件教程之写个HelloWorld插件》 Paste_Image.png

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

《ThinkCMF插件教程之写个HelloWorld插件》 Paste_Image.png

  • 调用方法 hook(‘钩子方法’) 如下
hook('show');
显示结果

《ThinkCMF插件教程之写个HelloWorld插件》 Paste_Image.png

注意事项
  • 如果修改了钩子,即在hooks.php里面添加了钩子或者删除了钩子方法,必须到ThinkCMF后台去更新或者重装插件

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

    《ThinkCMF插件教程之写个HelloWorld插件》 Paste_Image.png

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

    原文作者:molangwu
    原文地址: https://www.jianshu.com/p/56bc91250025
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞