场景:
评论使用markdown可以设定一些样式,所以站点需要引入对markdown的解析
引入markdown本质也是引入第三方库
步骤:
1. 新建 app/Markdown 目录
2. https://github.com/SegmentFault/HyperDown 使用SegmentFault/HyperDown 库
Parser.php 复制到 app/Markdown目录里面
3. 新建 app/Markdown/Markdown.php 实现Parser.php的依赖注入
4. 在需要markdown解析的地方, 依赖注入 Markdown.php
注意:
Parser.php 之所以不是直接实例化在需要的控制器里的原因:
1. 脱离对包的依赖
2. Markdown.php 负责markdown的转化, 方便对package的扩展
class Markdown { public $parser; public function __construct(Parser $parser) { $this->parser = $parser; } public function markdown($text) { return $this->parser->makeHtml($text); } }