はじめに
ことの発端は、FuelPHP を 1.7.2 から 1.7.3 にアップグレートしたことなんですが、それに伴って発生した問題を解決していくまでの顛末を記録してみたいと思います。個人的には、非常に楽しい経験でした。こんな流れで、問題に対応できたという事例としても紹介できればと思います。
問題発生
FuelPHP を 1.7.2 から 1.7.3 へアップグレードすると Presenter クラスの利用で php がエラーを出すようになりました。
Missing argument 1 for Presenter_Welcome_Hello::{closure}(), called in ...
Presenter クラスで、引数付きのクロージャが登録がうまく動かなくなったようです。自身が書いたコードに問題があると思い、調査するものの、解決せず行き詰まってしまいました。
GitHub の存在を思い出す
GitHub に、何か情報があるかもと思い調べてみたら、ちゃんと履歴に残ってました。
Qiita で注意喚起。
GitHub を使えば、FuelPHP の開発者の方と話ができると思うのですが、会話できるほどに英語が使えず手詰まりに・・・。ただ、同じ理由で困ってる人がいたら、私と同じく調査に時間がかかるのも無駄なんで、注意喚起として Qiita に投稿しておきました。
その後、同じ内容で注意喚起をされている方も発見。やっぱり、他にも、気づいた方がいらしたようです。
GitHub で動きが・・・
なんということでしょう、Qiita に登録後すぐ、ある日本の方が、本課題について GitHub 上で、FuelPHP の開発者の方と対応を話し合ってくれています。偶然でしょうか?
そして、なんと、解決してしまいます。「インターネット凄い」と感動した瞬間でした。
この対応で、クロージャの登録の方法に少し変更があったので、ドキュメントも一緒に修正されていました。
修正された FuelPHP を試してみる
今回の修正は、1.8 develop に対して行われているので、1.7.3 ではなく、1.8 develop を利用します。開発中のコードなので、php5.3 環境で動かないコードが含まれていました。php を 5.4 か 5.5 にすればよいのですが、すぐ対応できないので、一念発起、GitHub で修正を依頼してみました。
修正依頼のメッセージは「do not work php 5.3」これが精一杯です。ドキドキして結果を待っていたら、割とすぐに merge していただきました。なんだか軽く感動しました。
さらに、追加で1件、php5.3 で動かない部分があり、これも修正依頼して、合わせて、2件 merge してもらいました。
https://github.com/fuel/core/pull/1883
https://github.com/fuel/core/pull/1884
さいごに
世界は善意で満ちているなぁと感じた一件。スマートなやり方ではなかったと思うのですが、できる範囲で発言することで、解決できることもあるんだなぁと思ったので、記録として残したいと思いました。
また、GitHub や Qiita を利用すると、SNS 的な開発(技術交流)ができるというような話を聞くこともあったのですが、記事やコードをアップするだけでは、その楽しみをなかなか実感できていませんでした。今回の件で、すこしだけ、その面白さに触れられたかもしれないです。