🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# 文件结构 * 插件文件结构如下 ~~~ 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文件最好用绝对路径