さてCakePHP Advent Calendar 2012 5日目の記事です。
昨日は@yandoさんのコールバックはもう古い!CakePHPのEventを使おうです。
個人的にまだ謎の多いCakeEventですが、ちょっと使う気になりました。
ちなみに自分は、Nodeを使っているとon()とかemit()とか頭がこんがらがるようなレベルです。
今日はrecipeというCakePHP専用のパッケージインストーラを紹介したいと思います。
まず初めに言っておきたいことがあります。
今回紹介するrecipe.phpは、既に廃れることを約束されたライブラリです。いや、既にオワコンとなってしまいました。
なぜかというとPHPのパッケージ管理システムとして勢いのあるComposerのCakePHP用の導入エントリーが出たからです。
junichi11.com/?p=2546 でrecipe (github.com/k1LoW/recipe)がオワコンになりましたことをここにお知らせいたします。
— k1LoWさん (@k1LoW) 11月 30, 2012
じゃあ、なぜ紹介をするのかというと
「かつてrecipeというインストーラがあったということを知ってもらいたかった」
ただそれだけです。Composerが使える人はComposerを使うべきです。
recipeとは何だったのか
CakePHPは既にメジャーバージョンは2になり、Plugin(ライブラリ)も非常に充実しています。
フルスタックのPHPフレームワークとはいえ、開発する際には「CakePHPを設置後、定番のPluginを配置していく」というのが常となっているのではないでしょうか。
自分の場合、特に活用するPlugin(ライブラリ)が多く、余裕で2ケタのPluginを配置します。最近話題となったこの記事でも7つのPluginが挙げられていますね。
そうすると毎回配置するのが面倒になってきます。
解法として、Plugin配置済みの環境を使いまわしてもいいですし、gitsubmoduleを活用してもいいかもしれません。
ただ自分は「お手軽に」「gitやsubversionに依存せず」ライブラリの設置をしたかったので
インストールできるものを作ってみた、というのがrecipeです。
recipeの使用方法
本当はいろいろ機能があって、カスタマイズなどもできるのですが、既にオワコンなので通常の使用方法だけ。
簡単。PHPファイル1つというのも導入が楽でよいですし、CakePHP bakerにとって「bakeの対話シェルと一緒」というのも意外に安心できます。
さらに言うとPluginを1つ1つ設置することも、設定を書いて一括設置することも可能です。
デフォルトで設置できるライブラリは、ingredients.phpに書いているものだけですが、 独自に拡張も可能です。(自分はAuthor権限をフル活用して、普段使うPlugin(ライブラリ)は新しいもの以外は大抵直接書いてコミットしていますが)
こんなに便利なのに…
なのに…
のに…
というわけで
便利なのに、世に出るタイミングを逃したrecipeの紹介でした。自分はもう少しの間使っていこうと思います。
明日は「タコヤキさん」こと@tkykmwさんです。ちなみに「タコヤキさん」と勘違いしていたのは自分だけなので注意してください。
以上です。