FuelPHP 勉強会 大須 vol.2 に参加しました

7/22 に名古屋大須で開催された FuelPHP の勉強会に参加しました。

勉強会の概要

今回は、『パーフェクト PHP』 のサンプルアプリケーションである「ミニブログ」を FuelPHP で実装するという内容でした。なお、以下のように GitHub で書籍のソースコードを配布できるのはこのアプリのライセンスがオープンソースだからです。一般的に書籍のサンプルソースオープンソースライセンスではない場合が多く、再配布は禁じされていますので注意してください。

Selenium でのテストを水野さんが書かれましたので、それが通れば一応完了ということでした。

参加者は 10人定員のところ、直前にキャンセルが出て 9人での開催となりました。

9人なので、3人ずつの 3グループに分かれて、それぞれが別々に実装するというスタイルになりました。

結果

勉強会は予定では 13時から17時までで、16時くらいまでに実装完了、その後、発表会でしたが、残念ながら、3グループとも時間が足りず 17時までやっても完成しませんでした。その後、18時くらいまで発表会となりました。

コーディングに入る以前の環境整備に時間がかかったり、そもそも分量的に予定時間では無理な量だったと思います。もし、今後同じような勉強会をされる方がいましたら、

  • 開発環境(ソース共有のための GitHub を含む)を事前に参加者全員がきっちり整備する
  • 休憩しつつ丸1日かけて行う

ことをお薦めします。

なお、完成しなかった残りは夏休みの宿題ということになりました :-)

実装の方針

3グループあるので、各々違ったアプローチで進行したようです。発表会はコードを見せながらやったらよかったと思いますが、今回は準備不足や時間不足でそこまではできず口答での説明のみでした。

我々のグループは、他の 2人が FuelPHP ほぼ初めてだったこともあり、既存のミニブログのソースをそのままできるだけ流用するという工数最小化のアプローチを取りました。

  • Session クラスはミニブログのものをそのまま使うように、FuelPHP の Session クラスを置き換え
  • データベースまわりもミニブログの DbManager と DbRepository クラスをそのまま持ってきて FuelPHP で動くように変更。これでモデルは一切触らずに動作するはず
  • バリデーションも FuelPHP の Validation クラスは使わずに、ミニブログのコントローラにあるコードをそのまま利用

それでも signup アクションから実装しはじめて、register アクションまでしかできませんでした...

引っかかったところ

GitHub へ push できる状態にするのにひっかかりました。GitHub のアカウント登録から始め、デフォルトが HTTPS 認証なのでそれで push しようとしたら、SSL 証明書のエラーで push できず、ググって証明書を追加したりしましたが、結局、解決できず。SSH での認証に切り替えてやっと push できるようになりました。

実装上は単に時間がなかっただけで、あまり引っかかったところはないですが、Template コントローラでビューに変数を渡す際、違うビューファイルに set してしまい、うまく動作しなかったり。

まとめ

久々に実際にコーディングする勉強会でしたが、他の人のコーディング環境などいろいろなことがみえて、かなり面白かったです。

P.S.

FuelPHP 勉強会 大須 vol.3 も現在日程調整中です。