drops
0

FuelPHPで開発からリリースまで経験した振り返り

FuelPHPを使用して開発からリリースまで経験ができたので、FuelPHPの良かった点と反省点をまとめます。

■良かった点

・WEB上にドキュメントが意外と豊富

ドキュメントに関しては、公式ドキュメントで確認できるため非常に助かりました。
FuelPHPは海外ではあまり人気がないようですが、日本ではqiitaや個人ブログでも情報を公開している方が沢山いるので、その点も非常にやりやすかったです。

・フレームワークの構成がシンプル

フレームワークの構成は大まかにappとcoreに分かれており、わかりやすいです。
フレームワークのクラスの処理で、もし不明な点があってもcoreの対象のソースを読めばすんなり理解ができました。
core内のクラスの処理で気に入らない処理があれば、appディレクトリ配下にコピーしてオートロードに登録すれば簡単にcoreのクラスの上書きもできます。
開発メンバーの中に、PHPの開発が久しぶりの方やPHPの開発が初めての方もいましたが、数日でキャッチアップをされていたので、わかりやすく学習コストが低いフレームワークだと思います。

・テストが実行しやすい

言うまでもありませんが、PHPUnitはとても重宝します。
PHPUnitの導入前と比べて、ソースのリファクタリング時にバグが早期に発見でき、安心感が格段に違いました。
FuelPHPではoilというコマンドを持っており、フレームワークの設置ディレクトリでCLIから「php oil test」を実行すると簡単にPHPUnitでのテストを行ってくれます。(※事前にcomposerでPHPUnitのインストールは必要です。)
また、開発ではIDEにNetbeansを使用したのですが、FuelPHPのプラグインやPHPUnitのテストファイルを自動でジェネレートしてくれる機能もあるのでFuelPHPと相性が良いなと感じました。

■反省点(次回の開発に生かしたい点)

・ルーティングを管理するroute.phpを全てのURLで使用すべきだった

すべてのURLをroute.phpで管理することが面倒で、フォルダとコントローラーファイルの設置位置でURLを定めて、route.phpは必要なURLしか使用しませんでした。
しかし、のちのちすべてのURLをroute.phpで設定を行えば、URLごとにroute.phpで一意な名前を定めて、タイトルやディスクリプションなどの一元管理ができたなと後悔をしました。他にもroute.phpに設定することでurlを生成する際にも恩恵が受けられます。

・ORMのobserverは超便利!初めにしっかりマニュアル読んでおけば良かった。。

observerはDB更新の際に、任意のカラムを自動で更新したり、暗号化や復号化なども実装次第で簡単に設定ができます。
開発当初はこの機能を知らずに各実装者が、それぞれ処理を書いていたので、もったいない時間を使ってしまったと反省しています。

・presenterでviewの記述が超すっきり!これも初めにしっかりマニュアル読んでおけば良かった。。

これもORMのobserverと同様に、開発当初は使用していなかったのですが、使ってみるとcontrollerとviewの間に一つ処理がはさむことで、view内での条件分岐などを書くことがなくなり、コードがとってもすっきりしました。

・定数ファイルはどんどん肥大化するので定数用のディレクトリを作るべきだった。

開発当初に定数用のconst.phpというファイルを一つ作ったのですが、定数で設定する項目が開発が進むにつれてどんどん増えて、定数ファイルの分割を余儀なくされました。
これはFuelPHPに限ったことではありませんが、次に新規の開発をする際には、定数用にディレクトリを作成して、その下に用途別に命名した定数ファイルを作成するようにしたいです。

■総評

FuelPHPがとても好きになりました。コードがわかりやすく、フレームワークのキツい規則にそこまで縛られることなくコーディングができ、意外と便利な機能が揃っています。
次回のFuelPHPを使用する機会があれば、独自のパッケージも作りたいし、テストではPHPUnitではなくCodeceptionも使ってみたいなと思います。

facebooktwittergoogle_plusredditpinterestlinkedinmail

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です