Laravel4、Markdownパッケージ

Tags : Laravel4  

実はLaravel4のパッケージがPackagistに結構あります。この前チェックしたら4つもありました。

しかし、これに関してはLaravel専用のパッケージを入れる必要はあまり感じられません。Laravelに関係なく、つまりPHPのパッケージとして使用できる2パッケージをまずご覧ください。

PHP Markdown & Extra

PHPでMarkdownといえばこれです。

"dflydev/markdown": "1.0.*@dev"

これには2つ含まれています。PHP MarkdownとMarkdown Extraです。

Parsedown

新しいパッケージです。速度がMarkdownより、かなり早いと宣言しています。しかし、それはまあ当然で、純粋なMarkdownの範囲しか対応していません。つまり、テーブルなどは変換できません。

"erusev/parsedown": "dev-master"

使い所

実養成から言えば、PHP Markdown一択です。LaravelのMarkdownパッケージはたいていこれをファサードにし、Makrdown::...の形で変換できるようにするものです。

しかしです。よく考えてもらえば、コード中の複数箇所でMarkdownからHTMLの変換をすることは先ず無いでしょう。もし、その必要があったとしても、直接変換使用するのは設計が悪すぎます。できればクラスで、最低でもヘルパーメソッドなどで定義するのが通常でしょう。

しかも、もともと使い方は簡単です。Composerのオートローダーのおかげで、includeもする必要がありません。

$html = Michelf\MarkdownExtra\MarkdownExtra::defaultTransform($markdown);

ですから、Laravel専用パッケージを使ったり、わざわざファサードにする必要もありません。

存在しているからと言っても、むやみにLaravel専用パッケージを取り込むのは、やめましょう。必要性を考えていないパッケージもたくさんあります。