雑文発散

«前の日記(2012-06-05) 最新 次の日記(2012-12-18)» 編集
過去の日記

2012-09-29 [長年日記]

[] 「CakePHP2実践入門」(の一部)を執筆しました!

ここ数年は CakePHP のコミュニティでウロウロする事が多かったオレですが、縁あって「CakePHP2実践入門」の「第9章:CakeEmailクラスを使ったメール送信」を執筆させて頂きました。えぇ、ホントにこの章だけのピンポイントです。

しかも、執筆企画が進んで、既に他の著者原稿ができはじめているところでの途中参加。「著者に混ぜてもらった」感が強いのですが、ちょっと思い入れの深い部分を担当したので、なるべく「実践」できるように書いたつもりです。

よろしければ手にとって読んでみて頂けると嬉しいです。

なお、オレが書いたところ以外は、いずれも CakePHP 界隈で第一線で活躍している方々が執筆しています。内容については推して知るべし、という感じですよね。

CakePHP2実践入門

ということで、オレの思い入れ部分をここに記します。

CakePHPに初めて触れたのは、バージョン1.1〜1.2の頃だったと思いますが、「こういうフレームワークがあるんだ!」と驚きつつも、Emailコンポーネントの実装に悪い意味で驚愕した記憶が残ってます。バージョン1.3になって、直った不具合もありましたが、マルチバイト文字を意識していない実装に見えたので、「日本語メールで利用できるか?」などの実験や調査もしてました。

この時に見つけた不具合は(翻訳サイトにかなりお世話になりつつ)英語でバグレポートを送っていました。

しばらくして、CakePHP2のベータ版が出た頃、またもやメール関係の実装を追ってみました。

CakePHP2系では「コントローラから使う前提のEmailコンポーネント」から、「アプリのどこからでも使えるCakeEmailユーティリティ」に生まれ変わっていたので、かなりコードが変わっていましたが、、、そこにも問題点を発見してしまいました。

「これ、なんとかしたいなぁ」と思っていたので、PHPMatsuri 2011 の為に来日していた Graham さん(CakePHPのコアデベロッパ。「本書によせて」に言葉を頂いた)が参加されてたので、(なんとか)英語で書いたスライドを見せながら、(ろくに話せない)英語で問題点を直談判して修正案を提出しました。

この時は、PHPMatsuri 終了後にパッチを Graham さんへ送って、本家へ取り込んでもらいました。

更にその後にも修正すべき点があるのを発見したので、修正案をコーディングし、今度は GitHub から pull request を投げて、本家へ取り込んで貰いました。

このように、僕にとっての CakePHP とは、CakeEmail (Email コンポーネント)との付き合いが中心であり、その中心的な付き合いに関する文章を本として残せたことには、ちょっと嬉しかったり、こそばゆい感じだったり。

また、エンジニアとしてのオレにとっても「バグレポートを送る → パッチを送る → pull request を送る」というように CakePHP との関わりと共に(わずかではあるにせよ)成長しているのを実感できるのが嬉しいところです。