# 文件结构
* 插件文件结构如下
~~~
plugins\Markdown
---------config.php
---------Markdown.php
|controller
----|Markdown.php
|libs
|parsedown|Parsedown.php
~~~
## 文件详细代码 如下
* config.php 内容为空
* plugins\Markdown\Markdown.php
~~~
<?php
// +----------------------------------------------------------------------
// | 介绍信息 [ WE CAN DO IT JUST THINK IT ]
// +----------------------------------------------------------------------
// | Copyright (c) gyhong【岩路】 All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: gyhong <gyh9711@163.com>
// | datetime: 2017-10-26 11:15
// | filename: Markdown.php
// +----------------------------------------------------------------------
namespace plugins\Markdown;
use app\common\controller\Plugin;
class Markdown extends Plugin
{
public $info = [
// 插件名[必填]
'name' => 'Markdown',
// 插件标题[必填]
'title' => 'Markdown',
// 插件唯一标识[必填],格式:插件名.开发者标识.plugin
'identifier' => 'Markdown.gyh9711.plugin',
// 插件图标[选填]
'icon' => 'fa fa-fw fa-envelope-o',
// 插件描述[选填]
'description' => 'Markdown插件,使用Parsedown库',
// 插件作者[必填]
'author' => 'gyh9711',
// 作者主页[选填]
'author_url' => '',
// 插件版本[必填],格式采用三段式:主版本号.次版本号.修订版本号
'version' => '1.0.0',
// 是否有后台管理功能[选填]
'admin' => '0',
];
/**
* 安装方法
* @return bool
*/
public function install(){
return true;
}
/**
* 卸载方法必
* @return bool
*/
public function uninstall(){
return true;
}
}
~~~
* plugins\Markdown\controller\Markdown.php
~~~
<?php
namespace plugins\Markdown\controller;
use app\common\controller\Common;
// use think\Exception;
// use think\Validate;
//加载markdown解释库
include config('plugin_path').'Markdown'.DS.'libs'.DS.'parsedown'.DS.'Parsedown.php';
use Parsedown;
class Markdown extends Common
{
protected static $config; //配置
protected function _initialize()
{
parent::_initialize(); // TODO: Change the autogenerated stub
}
/**
* 解释markdown文件成html
* @param string $title 文件
* @return string 返回html文件内容
*/
public static function output($fileName = null)
{
$fileName = $fileName==null?config('plugin_path').'Markdown'.DS.'libs'.DS.'parsedown'.DS.'README.md':$fileName;
if (file_exists($fileName)){
$Parsedown = new Parsedown();
$output = $Parsedown->text(file_get_contents($fileName));
} else {
$output = '';
}
return $output;
}
}
~~~
# 应用
* 应用控制器中调用插件解决 c:\盘中的 c:\test.md文件
~~~
.......
public function test($model=null){
$res = plugin_action('Markdown','Markdown','output',['c:\\test.md']); //markdown插件应用测试
return $res;
}
~~~
>[info] md文件最好用绝对路径